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