Course Schedule

Week Topic Assignment
Jan 1 0. Course start-up.  
  Part I: Procedural programming
Jan 1 1. Introduction to computer science. 1
Jan 8 2. SIPO (sequence, input, processing and output) programming. 2
Jan 15 3. Selection control structures. 3
Jan 22 4. Repetition control structures. 4
  Part II: Object-based programming  
Jan 29 5. Aggregate data types 1: Lists and strings. 5
Feb 5 6. Functions. 6
Feb 12 7. Aggregate data types 2: Dictionaries. 7
Feb 26 8. Text Files. 8
  Part III: Object-oriented programming  
Mar 4 9. Object-oriented programming (OOP) 1: Encapsulation 9
Mar 7 Last day to withdraw without academic penalty.  
Mar 11 10. Object-oriented design (OOD). 10
Mar 18 OOD continued  
Mar 25 11. Object-oriented programming (OOP) 2: Polymorphism and inheritance 11
Apr 1 12. Testing (doctest) and documentation (UML) 12
Apr 8 Final Exam Preparation