Course Description
CS 1322 is the second course in the introductory computer science sequence. It introduces
the fundamentals of software engineering and computer programming (and why they are not the
same thing). In CS 1322, your knowledge of abstraction and decomposition (from 1321) is used
to build intelligent software solutions to many different types of problems, using a real-world
computer language. You will also learn the difference between a working program and an intelligent
one, a sloppy design and an elegant one, and most importantly you will learn how the software
development process works.
Since the topics in CS1322 are cumulative of the material in CS 1321, do not take this class if you have not had CS
1321.
CS 1322 is taught in the Java programming language (v 1.3.1).
Instructor: Bill Leahy
Office: College of Computing Building, Rm 121
Time: TBA
Email: bleahy@cc.gatech.edu
Instructor: John Goda
Office: College of Computing Building, Rm 114
Time: TBA
Email: goda@cc.gatech.edu
Instructor: Monica Sweat
Office: College of Computing Building, Rm 120
Time: TBA
Email: sweat@cc.gatech.edu
Course Structure
There are two components to the course: lecture and recitation. Each component will stress a different
but critical element of the course.
Lecture is the theoretical part of the course, where you will learn the principles of software design and implementation.
Recitation is the interactive part of the course, where you will learn how to intelligently apply what you've learned.
Course Assignments
All assignments are due five hours after midnight of the day they are indicated on the calendar. For example, Lablet 1 is due August 30 at 5:00 AM. It also absolutely advised that you retrieve a copy of your submission before the due date has passed and do a CLEAN compile to ensure we have received what you want us to receive.
The only way to become a good programmer is to work at it. Programs require significant effort to successfully
complete, and will become increasingly challenging as the quarter progresses. All programs will be graded by
your recitation TA, and graded programs will be returned and discussed in your one-on-one sessions. Grading
criteria for programs include two general criteria: (1) functionality (how successfully you've implemented
a solution), and (2) design and style criteria. The "info" files (ending with the ".nfo" file extension) detail
the functional and design expectations for each program.
Labs will closely follow program topics, and provide hands-on experience with elements critical to the upcoming
program. Although labs are significantly less time consuming than the programs, plan to spend anywhere from 15 minutes to an hour a week on them. Please note: even though the labs focus on matters relevant to a program assignment, they are not
always intended to provide a "rough draft" of your code. In the past, some students have written their programs
by copying large portions of the lab. While it is possible to use the labs as a guide, they are not designed to
provide an optimal solution to the programs.
Design Documents are used during the course to better improve your interaction during recitation. During the design document discussion in recitation,
you will be able to learn of the upcoming project, and express any possible problems you may have, while learning from others questions and discussion
about it. You will be required to turn these in, but this is just to show what you learned through the discussion during recitation. The design documents themselves
consist of 4-6 questions about the next project you will be asked to complete, asking you to think of the ways to approach the tasks of the project, and most of all,
give a better understanding of what will be expected of the result. Design Document submissions MUST BE A PLAIN TEXT FILE (i.e. .txt). Anything else will result in a 0. These files should be easily edited in vi, pico, or notepad.
Tests will be held during recitation time. There will be a
total of 3 tests, each of which will extensively test your understanding
and knowledge of the course material presented up until the time of the
test. Even though there are 3 tests, you are required to keep up with
the course material as the course moves along. If there is anything you find yourself not understanding, it is your responsibility to resolve
that issue as soon as possible. Waiting untl the night before the test isn't recommended, as the course can cover dozens of topics before the first
test opportunity.
Recitation and One on Ones
As in 1321, this course is stucturally maintained by undergraduate TAs. You will be assigned to a recitation section by the beginning
of the second week of the course. Recitation is a time for you to take the tests, receive supplementary instruction
from your section leader and have your questions answered. The goal for recitation is to provide 'coaching' on your
programming. Your TA will be responsible for grading your programs, design
documents and tests, as well as handling recitation.
One-on-ones
There are NO GRACE 1:1s. Every missed One-on-one will subtract 1 (one) point from the overall grade after calculation is completed.
Newsgroup and Webpage
This webpage and the course newsgroups are set up to provide you with accessible and helpful information.
You are responsible for any policy, announcement or guideline described herein, so monitor this page
regularly for updates and important announcements. You are also responsible for anything announced or
discussed on the git.cc.class.cs1322.announce newsgroup. The other newsgroups are for discussion of
assignments. For more information regarding the newsgroups, click here to access
newsgroup setup information via F.A.Q
Handouts are available for printing in postscript format (*.ps), and for online viewing as pdf files,
which require Adobe System's Acrobat Reader plug-in. Acrobat Reader is a free download, which you can get
here.
Grading
Grade Scale:
89.5 - 100.0 == A
79.5 - 89.49 == B
69.5 - 79.49 == C
59.5 - 69.49 == D
  0.0 - 59.49 == F
Course Assignment Percentages:
Buzzback 2%
Programs: 25%
Designs: 5%
Tests: 33%
Labs: 15%
Final: 20%
There is NO Curve.
There is NO dropping lowest test.
There is NO redo program.
The Final Exam Grade, if higher than your Test Average, will replace the Test Average.
For extra credit there will be:
An extra credit program worth 60 points on your program average.
1% on your final grade if you do the special dead week buzzback
1% on your final grade if you complete all the buzzbacks before the special dead week buzzback
Tentative Date and Time Final Schedule
Textbook and other Materials

Title: Data Structures and Problem Solving Using Java
Author: Mark Allen Weiss
Edition: Second
In addition to the text book, you should also purchase the supplemental lecture slides which can be found at the Engineer's Bookstore, located at 748 Marietta St. These are very helpful as you can take notes and jot down ideas directly onto the material you are studying or going over in lecture or recitation.
You will also need an editor of your choice for writing java. We have provided links for obtaining a copy of Emacs online. Click on the "Emacs" link in the left menu bar. In addition to this, you will need the Java Development Kit (JDK) for compiling and running your programs. Follow the link in the left menu bar for "Java Resources" to find the link you need.
Late & Make-up Policies
We do not except late work in this course. Every student has up until
the due date to complete a given assignment -- no credit will be given
for late submissions.
Exceptions to this policy may be made on an emergency basis. A
student can make up missed work if he/she notifies their TA no less
than 48 hours before the due date for the assignment; documentation of
the emergency may be required. All final decisions will be made by
the Course Manager or Head TA. If you believe your circumstances are
qualified under this policy, please email Chris Morris. Absence due to health problems is not considered an exception in most
cases (unless you were hospitalized or have a Doctor's excuse).
NOTE: Notification after the fact without good reason will result in a grade of 0. It is also the students responsibility to makeup the assignment at the earliest possible date, and approve the details of a makeup assignment with their TA. The makeup assignment shall be due no later than 72 hours after the original due date. Failure to schedule a makeup will result in a grade of 0.
Honor Code
All assignments must reflect an individual effort, and must be completed "from scratch". It is a violation of the honor code to copy or derive solutions from textbooks, internet resources or previous instances of this course. You may not work on any assignments with another student. Copying of solutions from other students, including those who previously took the course is prohibited. If you do obtain substantial help from a TA or another student, you must document this on your submission.
A good guideline is that you must be able to explain and/or reproduce anything that you submit.
Please note: the Honor Code is taken very seriously in this class.
You are expressly forbidden from posting code to any newsgroup. This includes solutions to assignments as well as hypothetical questions which include code.
Violation of this will be considered academic misconduct and dealt with as such.
It is expected that (unless specific instructions to the contrary are given) all student submissions will be individual efforts.
All required coursework that is submitted for evaluation in this academic course becomes property of The Georgia Institute of Technology, and is subject to review for evidence of academic misconduct. If such evidence is discovered, then the offending students will be referred to the Dean of Students for investigations.
Section XVIII.C of the Student Rules and Regulations defines academic misconduct as "any act that does or could improperly distort student grades or other student records."
Turning in assignments that produce "correct" output by some means other than that required by the assignment can and will be considered an attempt to distort student grades.