| Date | Description |
|---|---|
| June 19 |
Course overview and introduction Slides |
| June 21 |
Reasoning about straight-line code Slides and Notes (from spring quarter) |
| June 23 |
Reasoning about loops Slides and Notes (from spring quarter) |
| June 26 |
Writing loops Slides |
| June 28 |
Specifications (pt 1) Slides |
| June 30 | Specifications (pt 2) |
| July 5 |
ADTs (pt 1) Slides |
| July 7 |
ADTs (pt 2) Slides |
| July 10 |
ADTs (pt 3) Example code / reasoning practice: TextLine and IntDequeue |
| July 12 |
Requirements analysis and Java identity, equality, & hashing (pt 1) Slides: Requirements and Java identity etc. |
| July 14 | Java identity, equality, & hashing (pt 2) |
| July 17 |
Testing Slides |
| July 19 |
Debugging Slides |
| July 24 |
Java assertions & exceptions Slides |
| July 26 |
Generics (pt 1) Slides |
| July 28 | Generics (pt 2) |
| July 31 |
Subtypes & subclasses Slides |
| August 2 |
Module design and Style Slides |
| August 4 |
Events, listeners, & callbacks Slides |
| August 7 |
Event-driven programming (servers and GUIs) Slides and Code |
| August 9 |
GUI programming Slides and Code |
| August 11 |
Design patterns (pt 1) Slides |
| August 14 |
Design patterns (pt 2) Slides |
| August 16 |
Course review and HW9 demos Slides |