| Date | Description |
|---|---|
| January 4 |
Introduction; read PP: prefaces (both), 1-3, 6, 38 slides |
| January 6 |
Reasoning about code I slides, lecture notes |
| January 8 |
Reasoning about code II - Loops slides, lecture notes |
| January 11 | Program logic - loops (no new notes or slides) |
| January 13 |
Loops (concl.); Specifications, PP: 7, 23 slides, related notes |
| January 15 | Specifications (cont.) |
| January 20 |
Specifications (concl.); Data Abstractions (ADTs), EJ: 17, 50, 56 ADT slides |
| January 22 |
ADTs (concl); Rep Invariants (RI); PP 25 RI slides, related notes |
| January 25 |
Rep Invariants (RI, concl.); Abstraction Functions (AF) Slides: AF |
| January 27 |
Testing, PP: 41, 51 testing |
| January 29 |
Testing (concl.); Module design and general style notes; EJ: 12, 15-17, 51-52, 57-58, 62, 68; PP: 5, 7-10, 28, 40, 44 slides |
| February 1 |
General guidelines (concl.); Identity & equality, hashCode; EJ: 10-11, 13-14 slides |
| February 3 | equals/hashCode |
| February 5 |
hashCode (concl.); Exceptions & assertions; EJ: 49, 69-74, 77 slides |
| February 8 | Exceptions (concl.) |
| February 10 |
Subtypes and subclasses (start); EJ: 18-20, 22-23, 40, 64 slides |
| February 12 |
Subtypes (concl.); Generics (start); EJ: 26-31 slides, code |
| February 17 | Generics (cont.) |
| February 19 |
Generics (concl.); Callbacks, Events, and Listeners/Observers slides, code |
| February 22 |
HTML/JavaScript/TypeScript intro slides, code, code zip, TypeScript Video |
| February 24 |
Web pages, user interfaces, and React UI/react slides, code (downloadable zip file) |
| February 26 |
JS/React (concl.); Debugging (start); PP: 20 slides |
| March 1 | Debugging (concl.) |
| March 3 |
HW9, Spark Java, Fetch slides, code, (downloadable zip) |
| March 5 |
Design patterns 1; EJ: 1-4, 6-7 slides |
| March 8 |
Design patterns 2 slides |
| March 10 |
System integration slides |
| March 12 |
Course wrapup slides |