| Date | Description |
|---|---|
| September 27 |
Course overview Slides |
| September 29 |
Reasoning about straight-line code Slides and Notes (from spring quarter) |
| October 2 |
Reasoning about loops Slides |
| October 4 |
Writing loops Slides |
| October 6 |
More reasoning Slides |
| October 9 |
Specifications (pt 1) Slides |
| October 11 |
Specifications (pt 2) and ADTs (pt 1) ADT slides |
| October 13 |
ADTs (pt 2) (see previous) |
| October 16 |
ADTs (pt 3) Slides and Code |
| October 18 |
ADTs (pt 4) and Defensive programming (see previous slides) |
| October 20 |
Testing Slides |
| October 23 |
Testing (cont.) and Java identity, equality, & hashing Slides |
| October 25 |
Java identity, equality, & hashing (cont.) and Requirements analysis Slides |
| October 27 | Java identity, equality, & hashing (cont.) |
| October 30 |
Module design Slides |
| November 1 |
Debugging Slides |
| November 3 |
Subtypes Slides |
| November 8 | Subtypes (cont.) |
| November 13 |
Generics (pt 1) Slides |
| November 15 | Generics (pt 2) |
| November 17 |
Exceptions Slides |
| November 20 |
Events, listeners, & callbacks Slides |
| November 22 |
Event-driven programming (pt 1) Slides and Code |
| November 27 | Event-driven programming (pt 2) |
| November 29 |
GUI programming (pt 1) Slides and Code |
| December 1 | GUI programming (pt 2) |
| December 4 |
Design patterns (pt 1) Slides |
| December 6 |
Design patterns (pt 2) Slides |
| December 8 |
Course review and Demos Slides |