Course Objectives

  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 data from text files, and write formatted text 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:

Attendance & Participation: Various classes and recitations will have small assignments due in class. These may be submitted via paper, T-Square, or PRS (clicker) devices. 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. Is is a violation of the Academic Honor Code to submit work or "sign-in" for other students.

Timely handling of grade disputes: Disputes of grading on 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". Assignments will be accepted up to one school day late, but late 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 cs1803 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


Collaboration with other students in this CS 1803 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. The following guidelines will help you understand the difference between collaboration and plagiarism.

  • Students may only collaborate with fellow students currently taking CS 1803, the TA's and the lecturer. Collaboration means talking through problems, assisting with debugging, explaining a concept, etc. You should not exchange code or write code for others.
  • For individual assignments, each student must turn in a unique program. For pair programming assignments, you and your partner should turn in identical assignments.
  • Your submission must not be substantially similar to another student's submission. Collaboration at a reasonable level will not result in substantially similar code.
  • For all assignments, you must write comments at the top of each file you turn in detailing the following information:

    • Include your name (and partner's name(s) for pair programming assignments)
    • Include your gt email address
    • Include your collaboration statement - the wording of the collaboration statement should be:
      • "I (we for pair programming assignments) worked on the homework assignment alone, using only this semester's course materials." OR
      • "I/We worked on this homework with [give the names of the people you worked with] and referred to [cite any texts, web sites, or other materials not provided as this semester's course materials for CS 1803]."

Keep in mind that you are allowed to work with other students currently in CS1803. 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. 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.
  4. 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.
  5. Be prepared when you go to get help from a TA or your instructor. Bring your work with you.
  6. 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.
  7. Read, understand, and follow the Georgia Tech Academic Honor Code