CS 1331 Introduction to Object Oriented Programming

Fall 2013 Syllabus for Sections A1-A4, B1-B4, and GR

Last updated on 2014-01-07 at 20:40.

This open-access part of the syllabus contains schedule and general information for my sections. All grade-related information are on T-Square.

There is also a general syllabus here: cs1331-syllabus.pdf .

Please read and be sure you fully understand the cs1331-course-policies.html.

Please read and be sure you fully understand the cs1331-course-policies.html.

I'm serious! Please read and be sure you fully understand the cs1331-course-policies.html !!!


If you like this course (or antoher course you've taken), consider applying to be a TA. Not convinced? Perhaps this video will help. If you are convinced, apply online at http://ta-app.cc.gatech.edu.


Chris Simpkins



Office: CoC 133

Schedule and Office Hours


Walter Savitch and Kenrick Mock, Absolute Java, 5th edition, Addison-Wesley, March 9, 2012


Guaranteed course grades will be determined by the usual non-curved cutoffs:

double courseAvg = .2 * hwAvg + .6 * examAvg + .2 * finalExam;
char courseGrade = 'F';
if (courseAvg >= 90) courseGrade = 'A';
else if (courseAvg >= 80) courseGrade = 'B';
else if (courseAvg >= 70) courseGrade = 'C';
else if (courseAvg >= 60) courseGrade = 'D';


Getting Help

We're using Piazza. If you have general questions about course content or homework clarifications please post your questions to our Piazza site at https://piazza.com/gatech/fall2013/cs1331/home . The instructional staff checks Piazza frequently and most questions are answered within an hour.



  • Text Editors - an intro to text editors for beginning programmers
  • Basic Unix and Emacs - a tutorial introduction to Unix and Emacs that will give you the basic skills you need for this class should you choose to use a unix-like operating system like Ubuntu Linux or Mac OS X
  • Basic Unix and Vim - same as Basic Unix and Emacs but using Vim instead of Emacs


Lecture Schedule

This schedule is subject to change. The further in the future, the less certain the schedule. AJ means Absolute Java.

Date Topics Readings and Example Code
Java Basics
2013-08-19 Introduction Syllabus
2013-08-21 Java Overview AJ 1.1-1.2 HelloWorld.java
2013-08-23 Values and Variables AJ 1.3-1.4 Strings.java, NameParser.java
2013-08-26 Console IO AJ 2, ConsoleOutput.java, CurrencyFormatting.java, ConsoleInput.java, CourseAverage.java, grades.txt
2013-08-28 Conditional Execution AJ 3.1-3.2, Conditionals.java Switch.java
2013-08-30 Loops AJ 3.3, Loops.java
2013-09-02 Labor Day - No Class  
2013-09-04 Loops  
2013-09-06 Arrays1 AJ 6.1-6.2 ArrayBasics.java, Shout.java,
2013-09-09 Data Abstraction AJ 4.1-4.2, Complex.java
2013-09-11 Classes AJ 5, Card0.java, Card1.java, Card2.java, Dealer2.java, Card3.java, Dealer3.java, Card4.java, Dealer4.java, Card5.java, Dealer5.java, Card6.java, Dealer6.java, Card.java
2013-09-13 Classes AJ 5, Card0.java, Card1.java, Card2.java, Dealer2.java, Card3.java, Dealer3.java, Card4.java, Dealer4.java, Card5.java, Dealer5.java, Card6.java, Dealer6.java, Card.java
2013-09-16 Arrays2 AJ 6.3-6.4 CourseAverage.java, VarArgs.java, Smiley.java, GradeBook.java, GradeBookDriver.java, array-data.csv, SimpleArrayCsv.java,
2013-09-18 Debugging AJ 3.4-3.5, Bugs.java, InsertionSort.java
2013-09-20 Slack  
2013-09-23 Review1 Hello.java, ShortCircuit.java
2013-09-25 Exam 1 AJ 1-6
Object-Oriented Programming
2013-09-27 Inheritance1

AJ 7.1-7.2 Employee.java, HourlyEmployee.java

Progress reports due by noon

2013-09-30 Inheritance2 AJ 7.3 MutableHourlyEmployee.java
2013-10-02 OOP1 AJ 8.1 SalariedEmployee.java Company.java employees.data
2013-10-04 OOP2 AJ 8.1, 8.2 SummerIntern.java
2013-10-07 Interim Review AJ 8
2010-10-09 OOP3 AJ 13.1 PlayingCard.java Deck.java BlackjackHand.java BlackjackGame.java BlackjackPlayer.java RandomPlayer.java HumanPlayer.java
2013-10-11 Interim Review Drop deadline: 2013-10-11
2013-10-14 Fall Break - No Class  
2013-10-16 Exceptions AJ 9 Company.java GuessNumber.java Wee.java
2013-10-18 Exceptions AJ 9 Company.java GuessNumber.java Wee.java
2013-10-21 Review2  
2013-10-23 Exam 2  
OOP Case Studies: Java Collections and Swing
2013-10-25 Collections AJ 14.1, 14.2 DynamicArray.java ArrayListBasics.java ArrayListPrimitivesDemo.java ArrayListGenericsDemo.java ArrayListEqualsDemo.java
2013-10-28 Slack  
2013-10-30 Collections AJ 14.1, 14.2 SuperTroopers.java Person.java CollectionsDemo.java
2013-11-01 Swing1 AJ 17 HelloSwing.java HelloButtons.java ExitListener.java CountListener.java
2013-11-04 Swing2 AJ 17 CounterFrame.java ColorBox.java
2013-11-06 Swing3 AJ 17 companygui
2013-11-08 Swing4 AJ 18 Jack.java GtFrame.java
2013-11-11 Swing4 AJ 18 Jack.java GtFrame.java
2013-11-13 Review3 AJ 14, 17, 18 BadListener.java BetterListener.java
2013-11-15 Exam 3  
Introduction to Algorithms and Data Structures
2013-11-18 Recursion AJ 11 RecursiveList.java Fac.java
2013-11-20 Algorithms Search.java Sort.java
2013-11-22 Linked Lists AJ 14.2, 15.1 LinkedList.java GenericLinkedList.java DoublyLinkedList.java
2013-11-25 Stacks and Queues AJ 15.4 ArrayListDataStructures.java LinkedStack.java LinkedQueue.java
2013-11-27 Thanksgiving - Optional Class  
2013-11-29 Thanksgiving - No Class  
2013-12-02 Binary Search Trees AJ 15.7 BinarySearchTree.java
2013-12-06 Review BalancedNesting.java BstSet.java
2013-12-11 Final Exam

A1-A4, GR: 11:30-14:20

B1-B4: 14:50-17:40