| Date | Description |
|---|---|
| March 27 |
Introduction; read PP preface, 1-2, 5, 31, 35 slides |
| March 29 |
Reasoning about code I; read notes slides, notes |
| March 31 |
Reasoning about code II - loops slides, notes |
| April 3 | loop development |
| April 5 |
Loops (concl.); Specifications (start); PP 21, 44 slides, related notes |
| April 7 | Specifications |
| April 10 |
Specs. (concl.); Data abstractions (ADTs); EJ 15, 39, 44 slides, related notes (same as last time) |
| April 12 |
ADTs (concl.); Representation invariants (RI) slides, related notes |
| April 14 |
RIs (concl.); Abstraction Functions (AF) slides, related notes (same as last time) |
| April 17 |
Testing (start) PP 34, 43 slides |
| April 19 | Testing (concl.) |
| April 21 |
Module design and general style notes; EJ 10, 13-15, 40-41, 45, 46, 50, 56; PP 4, 7-8, 26, 33 slides |
| April 24 |
Design (concl.); Identity & equality, hashCode; EJ 8-9, 11-12 slides |
| April 26 | Equality (cont.) |
| April 28 |
Exceptions & assertions; EJ 38, 57-62, 65; PP 22-24 slides |
| May 1 | Exceptions (concl.) |
| May 3 |
Subtypes and subclasses (start); EJ 16-20, 36, 52 slides |
| May 5 | Subtypes and subclasses (concl.) |
| May 8 |
Generics (start); EJ 23-28 slides |
| May 10 | Generics |
| May 15 | Generics (concl.); |
| May 17 |
Events, listeners, & callbacks; PP 27, 29 slides |
| May 19 |
Debugging; PP 18 slides |
| May 22 |
Debugging (concl.); Graphics and GUIs slides code |
| May 24 |
Event-driven GUI programming slides code |
| May 26 |
Design patterns 1; EJ 1-6 slides |
| May 31 |
Design patterns 2 slides |
| June 2 |
Demos, wrapup slides |