| Date | Description |
|---|---|
| September 24 | Overview |
| September 26 |
Reasoning about code notes from lecture |
| September 28 | Conditionals and loops |
| October 1 |
Proof rules for loops notes from lecture |
| October 3 | loop development |
| October 5 | Specifications |
| October 8 | Specifications (concl) Data abstractions (ADTs) |
| October 10 | Data Abstractions, AF, and RI |
| October 12 | ADT examples and wrapup |
| October 15 | Testing |
| October 17 |
Testing (concl) Class design |
| October 19 | Class design |
| October 22 | Exceptions and assertions |
| October 24 | Exceptions and assertions (concl.) Interfaces |
| October 26 | Debugging |
| October 29 | Identity and equality |
| October 31 | Subtypes and subclasses |
| November 2 | Subtypes and subclasses |
| November 7 | Generics and polymorphism |
| November 9 | Generics (concl.) |
| November 14 | Events, listeners, and callbacks |
| November 16 | Design patterns 1 |
| November 19 | Design patterns 2 |
| November 21 | Turkey Hunting (Usability) |
| November 26 | Graphics and GUIs (sample code) |
| November 28 | Event-driven programs (sample code) |
| November 30 | Design patterns 3 |
| December 3 | System integration |
| December 5 | No lecture - finish up projects |
| December 7 | Demos, wrapup |