Course Objectives

You may want to download and read the CS2316 Learning Objectives pdf file for the specific learning objectives that our homeworks are based upon. In general:

  1. Students will be able to program Python programs using subset of data types and using assignment, method calls, while loops, for loops, and conditionals.
  2. Students will learn how to use and manipulate several core data structures: Lists, Dictionaries, Tuples, and Strings.
  3. Students will be able to construct simple graphical user interfaces that drive their programs.
  4. Students will understand the process and skills necessary to effectively deal with problem solving in relation to writing programs.
  5. Students will be able to test and debug programs.
  6. Students will understand and employ objects, functions and modularity.
  7. Students will be able to read and write data to and from text and formatted text files such as Comman Seprated Value (CSV) files and eXtensible Markup Language (XML) files.
  8. Student programs will be able to interact with websites and load data from them (web scraping).
  9. Student programs will be able to read and write data to/from SQL databases.
  10. Students will be able to manipulate data from one format into another.

Lecture and Recitation

Course Materials


Letter grade assignments are given according to the following cutoffs with no rounding:

  • 90.00 <= A <= 100
  • 80.00 <= B < 90.00
  • 70.00 <= C < 80.00
  • 60.00 <= D < 70.00
  • 0 <= F < 60.00

Grading Policies

There is no curve in this course. The grading breakdown is as follows:

Exam Replacement Policy You will have 4 exams over the course of the semester followed by a final exam. Each exam score will be recorded in the gradebook as a percentage (0-100). At the end of the semester, your 2nd lowest score from these exams will be used to replace your lowest score.

This means that if you receive (for example) 100, 90,70,60 on your first four exams, you could skip the final exam (receiving a zero) and your 60 (2nd lowest score) would replace the zero on the final exam.

As a more realistic example, if you received a 65, 70, 75, 79 on the first four exams, and received an 80 on the final, the 70 (2nd lowest score) would replace your first score of 65.

If you scored 60, 60, 75, 79, and 85 the 60 would replace the other 60, causing no change, so try not to score the same on your two lowest exams.

Attendance & Participation: Various classes and recitations will have small assignments due in class. These may be submitted via paper, T-Square, or using an online clicker system. The majority of your Attendance & Participation score will be derived from these assignments, which can not be "made-up" if you do not attend the class. It is a violation of the Academic Honor Code to submit work or "sign-in" for other students.

Homeworks: You will have between 10-14 homeworks in this class. You will have between 5 to 15 days to complete each homework. The last homework assignment may be due during the final week of class.

Proper Code Style Code clarity is crucial for your homeworks in this class. For this reason, using good style (good variable names and good commenting practices) is required on all coding homework assignments. Failure to sufficiently comment or use good style will result in a deduction of up to 10 percent of your grade.

Timely handling of grade disputes: Disputes of grading on homeworks, assignments, exams, etc must be discussed within one week of their return or posting. Should you find yourself having an issue with a grade, contact your grading TA. After you talk with your TA, if you are not satisfied you may contact the head TA or course instructor.

Late Work and Missed Exam Policy: Assignments must be turned in before the date and time indicated to be considered "on-time". Homework Assignments (only) will be accepted up to one school day late, but late homework assignments will have their score reduced by 10%. Assignments later than 1 school day will receive no credit. There are no makeups for missed exams. Any request for exceptions to this policy should be made in advance when at all possible. Requests should be due to incapacitating illness, death in the family, or something similarly serious and be accompanied by supporting documentation. Events such as sleeping through your alarm, alarm malfunction, not being aware of the exam will not be considered excuses.

Email Policy for this Course

Please try to use your official Georgia Tech email when sending email to us. Please attach cs2316 to the beginning of the subject of your email! Please also indicate who you are within your email. :)

TA Help Desk

Assignment Submission

Almost all assignments will be submitted electronically via T-Square.

Access T-Square at


Quizzes and exams are to be completed alone with no outside assistance.

Collaboration with other students in this CS 2316 class is an important learning method. We require pair programming for several homeworks in this class because programming in pairs creates higher quality code and improves student learning. However, collaboration does not mean that you can use code written by other students. Please read the "What Is Allowed" document for examples of how to collaborate without plagiarizing or sliding into academic dishonesty. The following guidelines will help you understand the difference between collaboration and plagiarism.

Keep in mind that you are allowed to work with other students currently in CS2316. Do give credit though using the collaboration statement. Jay and the current TA's should be treated as course material and need not be listed in the collaboration statement.

Course Expectations

  1. Lecture and recitation attendance is required.
  2. Keep up with the reading. Readings should be completed before class on the date indicated on the Calendar.
  3. Use the course discussion forums wisely to have discussions about course material with your classmates and the TAs. You are also expected to follow good Internet etiquette.
  4. Do your homework! Learning to program is like learning a sport. It takes actual practice and time to get good. The assignments that are given are opportunities to learn the material that you will be responsible for on exams. Use collaboration wisely to help you learn.
  5. Take responsibility for your course work submissions; it is your job to make sure that you successfully turned in what you meant to turn in. Be sure to verify your submission. This is how you make sure that you get credit for the work you do.
  6. Be prepared when you go to get help from a TA or your instructor. Bring your work with you.
  7. Take initiative. Begin your assignments early and if you think you need help, come prepared. Use the resources that are provided for you, and be determined to succeed from the start.
  8. Read, understand, and follow the Georgia Tech Academic Honor Code