| Date | Description |
|---|---|
| January 7 |
Introduction PP preface, 1-2, 5, 31, 35 |
| January 9 |
Reasoning about code Notes from lecture |
| January 11 | Conditionals and loops |
| January 14 |
Loop proof rules and development Notes from lecture |
| January 16 | Reasoning about loops (concl.) |
| January 18 |
Specifications Specifications notes PP 21, 44 |
| January 23 |
Data abstractions, ADTs, AF, RI AF/RI notes EJ 15, 39, 44 |
| January 25 | Data abstraction examples |
| January 28 |
Abstraction (concl.) Testing PP 34, 43 |
| January 30 | Testing (concl.) |
| February 1 |
Class design EJ 10, 13-15, 40-41, 45, 56; PP 4, 7-8, 26, 33 |
| February 4 |
Design (concl.) Identity and equality, hashCode EJ 8-9, 11-12 |
| February 6 | Identity and equality (concl.) |
| February 8 |
Exceptions and assertions EJ 38, 57-62, 65; PP 22-24 |
| February 11 |
Exceptions (concl.) Interfaces EJ 52 Start Subtypes and subclasses EJ 16-20, 36 |
| February 13 | Class canceled |
| February 15 | Subtypes and subclasses |
| February 22 |
Generics and polymorphism EJ 23-28 |
| February 25 |
Generics (concl.) Events, listeners, and callbacks PP 27, 29 |
| February 27 |
Events and callbacks (concl.); Debugging PP 18 |
| March 1 | Graphics and GUIs (sample code) |
| March 4 | Event-driven GUI programming (sample code) |
| March 6 | GUIs and Events (concl.) Usability (start) |
| March 8 | Usability |
| March 11 |
Usability(concl.) Design patterns 1 EJ 1-6 |
| March 13 |
Patterns 2, Patterns 3 PP 11 |
| March 15 | Demos, wrapup |