Course Schedule

This course is semi-self-paced meaning you have some, but not complete, discretion over the pace you set for yourself. Specifically there is a minimum speed of one module per week, but no maximum speed, so you can get a little ahead to create a cushion for yourself, or even finish the entire course early.

The first two modules contain a lot of reading, and some busy work, but are not very challenging otherwise. So these are actually good weeks to try and get ahead!

Orientation Completion deadline
  1. Course start-up.
 Jan 5
Part I: Procedural programming  
  1. Introduction to computer science.
 Jan 12
  1. SIPO (sequence, input, processing and output) programming.
 Jan 19
  1. Selection control structures.
 Jan 26
  1. Repetition control structures.
 Feb 2
Part II: Object-based programming  
  1. Aggregate data types 1: Lists and strings.
 Feb 9
  1. Functions.
 Feb 16
  1. Aggregate data types 2: Dictionaries.
 Feb 23
  1. Text Files.
 Mar 2
Part III: Object-oriented programming  
  1. Object-oriented programming (OOP) 1: Encapsulation.
 Mar 9

Reading Week

Mar 16-20 

Last day to withdraw without academic penalty.

Mar 20 
  1. Object-oriented design (OOD).
Mar 23
  1. Object-oriented programming (OOP) 2: Polymorphism and inheritance.
 Mar 30
  1. Unified modeling language (UML).
 Apr 6
Final Examination  Apr 13-24