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:


    Tentative Date and Time Final Schedule

    TBA

    Textbook and other Materials

    CS1322 Course Textbook



    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.