| Date | Description |
|---|---|
| June 20 |
Course overview & introduction Slides |
| June 22 |
Reasoning about straight-line code Slides, Notes (from spring) |
| June 24 |
Reasoning about loops Slides, Notes (from spring) |
| June 27 |
Writing loops Slides, Review |
| June 29 |
Specifications (pt 1) Slides |
| July 1 | Specifications (pt 2) |
| July 6 |
ADTs (pt 1) Slides |
| July 8 |
ADTs (pt 2) Slides |
| July 11 | ADTs (pt 3) |
| July 13 |
Java identity, equality, and hashing & Requirements analysis Slides on equality, Slides on requirements |
| July 15 |
Testing Slides |
| July 18 |
Debugging Slides |
| July 20 |
Java assertions & exceptions (pt 1) Slides |
| July 25 | Java assertions & exceptions (pt 2) |
| July 27 |
Generics (pt 1) Slides |
| July 29 | Generics (pt 2) |
| August 1 |
Subtypes and subclasses Slides |
| August 3 |
Module Design & Style Slides |
| August 5 |
Events, listeners, and callbacks Slides |
| August 8 |
Event-driven programming (servers and GUIs) Slides, Code |
| August 10 |
GUI programming Slides, Code |
| August 12 |
Design patterns (pt 1) Slides, More GUI Code |
| August 15 |
Design patterns (pt 2) Slides |
| August 17 |
Course review & HW9 demos Slides |