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).
Instructors
Instructor: David Smith
Office: College of Computing Building, Rm 121
Time:
Monday: 10:00 a.m. - noon
Wednesday: 1:00 p.m. - 3:00 p.m.
Email: dmsmith@cc.gatech.edu
Instructor: Saun Shewanown
Office: College of Computing Building, Rm 123
Time:
Monday: 3:30 p.m. - 4:30 p.m.
Wednesday: 1:30 p.m. - 3:00 p.m.
Thursday: 3:15 p.m. - 4:30 p.m.
Or by
appointment.
Note: Please consult my schedule
(http://calendar.yahoo.com/saungatech) for making an appointment.
I will post any schedule change (e.g. office hour cancelation) on my
schedule. If you have to make a special trip to school to visit my
office hour, please check my schedule in advance.
Email: saun@cc.gatech.edu
Instructor: Monica Sweat
Office: College of Computing Building, Rm 120
Time: See my web page.
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 midnight of the day they are indicated on the calendar. (You are able to turn them in early.) There is an eight hour grace period that begins immediately after that midnight due time. After the grace period absolutely no submissions are possible without an approved extension. For example, Program 0 is due - September 2nd, 2002 - Tuesday night at midnight, but submissions are accepted until Wednesday, September 3rd at 8:00 a.m. further submissions will not be allowed. 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. It is your responsibility to retrieve and double check your submission!
During the course of the semester, you will be assigned 7 programming
homeworks (P0 through P6). P0 will count for 50 points, and all others
will count for 100 points.
Each program will be divided into sections, called "phases".
Each phase will have a suggested ammount of time for
completion. This amount of time is by no means a guarantee that you
will be able to finish in that ammount of time, as you may not understand
the material, or may encounter some unexpected bug in your program- so
do not wait until that much time before a deadline to start!
Instead, these time guidelines are intended to help you know when you
need to get help. If you are stuck on a portion of the program for longer
than the recommended time, you should definiately see your TA to get a
stronger understanding of the concepts involved prior to putting
continued effort into the assignment.
On each program, certain phases will
be marked as "instant feedback" phases. On these phases, you will be
able to submit to WebWork to get feedback about your code. This feedback
does not result in a direct grade, and is there for your benefit.
However, you should be aware of three important aspects of this feedback:
1) Each instant feedback phase has a deadline, after which
WebWork will NOT provide any feedback for that phase.
If you do not have the phase completed by that deadline,
you are on your own. Therefore, START EARLY!
2) While the instant feedback does not directly result in
a grade, the grade that your TA assigns you for that
section of your program will be strongly correlated
to the results of the instant feedback. If
the instant feedback system told you that your code
was not correct, you can expect to receive no credit for it.
Furthermore, since the instant feedback phases will
correspond to the "building blocks" that you will build
the rest of your code from, if these underlying pieces
do not work, your program as a whole will not function
correctly.
3) We will not entertain complaints after the grading is done
about any aspects which you would have been able to determine
did not function correctly from the instant feedback system.
This includes any problems that may be caused in other parts
of your code due to faulty "building blocks" from the instant
feedback phases.
Tests will be conducted during recitation. The tests will cover concepts, as well as coding; however, you may expect coding to constitute a significant portion of the exam. It is expected that you will be familiar with the material from any programming homework that is due prior to an exam and able to work any problems that are from those homeworks, or similar to them with relative ease. While we will ask questions that directly relate to the homework, they may be slight variations on what was presented in those assignments- therefore, it is very important to understand the material, not just to memorize things if you wish to do well in this course. Furthermore, we may ask you to code something that you have not seen at all before, but which you should be able to code from your understanding of the concepts involved.
Recitation
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 TA 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.
Newsgroup and Webpage
The CS1322 Website and Newsgroups are two of your most valuable
resources you will have in the class.
The CS1322 Website
is your point of reference for due dates, study guides, JAVA
resources, "How-To's", and any other resources that we can provide to
make your success in this class as great as possible. You are
responsible for everything presented on the website, so it is highly
recommended that you visit here at least once a day, and check the
calendar for any changes in due dates; however, any changes will be
announced on the .announce
newsgroup.
The CS1322 newsgroups are your absolute BEST resource for questions
that you need answered concerning the course, assignments, or other
programming related items concerning code editors or JDK. There are 4
newsgroups provided for use in CS1322. There is one for
programs, labs, questions, and class
annoucements. The newsgroup where announcements are made is
git.cc.class.cs1322.announce. You are
required to read git.cc.class.cs1322.announce every day. It
is your resposibility to be aware of any and all information provided
there.
For more detailed information concerning newsgroups, including how to read them off campus, check out the F.A.Q . Provided for your conveinence are Web-based newsgroups, a link is located on the navigation bar to the left.
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:
| 90 - 100 | = A |
| 80 - 89 | = B |
| 70 - 79 | = C |
| 60 - 69 | = D |
| 0 - 59 | = F |
| Program Homeworks | 15% |
| Tests (conducted during recitation) | 5@12% = 60% |
| Final Exam | 25% |
Tentative Date and Time Final Schedule
Textbook and other Materials

Title: Big Java
Author: Cay Horstmann
Edition: copyright 2002, 1st edition
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 Head TA or your Instructor. If you believe your circumstances are
qualified under this policy, please email Andrew Hilton, the Head
TA. 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.
Collaboration Policy
We have chosen to move the burden of assessment of students' knowledge
of programming concepts andskills from homework assignments to
in-class exams. Homeworkassignments are now opportunities for
learning and discovery; they arenot instruments of evaluation. (In
fact, the only reason homework assignments are considered in the final
grade is to motivate students to work on the assignments.)
Because homework assignments are now not used for assessment, we can
now greatly relax the constraints on collaboration with respect to
these assignments. Effective this semester, any and all forms of
collaboration between students in CS 1322 are permitted, including the
sharing of solutions if that is what is needed for a student to learn
to develop a working solution to a given homework problem.
As has always been the case, however, plagiarism is not allowed. If
you use sources other than those provided for everyone in the course
(i.e., instructors, teaching assistants, the textbook, the course web
site, the course newsgroups, the lectures, or the recitations), you
must give appropriate credit to those sources. Note that so long as
you give credit where credit is due, your grade will not be affected
nor will you be charged with academic misconduct. On the other hand,
a failure to give appropriate credit to sources of help (other than
course materials or personnel as noted above) will be treated as
plagiarism, a violation of Georgia Tech's Student Conduct Code.
To ensure that you give credit where credit is due, we now require
that you place a collaboration statement at the beginning of every set
of homework solutions you submit. That collaboration statement should
say either:
"I worked on the homework assignment alone, using only
course materials."
or
"I worked on this homework with [give the names of the
people you worked with], used solutions or partial
solutions provided by [name the people or other sources],
and referred to [cite any texts, web sites, or other
materials not provided as course materials for CS 1322]."
From now on, no set of homework solutions will be graded if it does
not include a collaboration statement.
Furthermore, while the sharing of solutions is now permitted,
unsolicited sharing of solutions is not acceptable. Many students do
not want to see a solution to a problem until they have worked out
their own solution. For that reason, we must insist that you do not
share your solutions with another student unless that student has
asked you to do so. In addition, you are not to post solutions to the
course newsgroups or any other public forum for any reason.
If you have any questions about this new collaboration policy, please
do not hesitate to ask your instructor, either in person or via email.
While this means that you may collaborate in any manner that you wish with
your fellow students, please remember that it is important to understand
the material for the tests.
Also, please be aware of the following important facts:
o This collaboration policy applies ONLY to your programming homeworks.
Tests and the final exam MUST be an individual effort- any cheating
during these exams will result in Academic Misconduct charges,
for which you can fail the class and/or be suspended, if found
responsible.
o You MUST put a collaboration statement in all homework submissions.
As the policy states, "From now on, no set of homework solutions will be
graded if it does not include a collaboration statement." It is important
that you understand that "not graded" means "You will receive an
AUTOMATIC ZERO on the ENTIRE assignment."