June 22 |
Motivation; Reasoning about Straight-line Code EJ: preface; PP: preface, 1-3, 5, 6
|
June 24 |
Reasoning about Conditionals and Loops PP 38
|
June 27 |
Reasoning Wrap-up; Specifications
|
June 29 |
Specifications; Abstract Data Types (ADT) PP 7, 23
|
July 1 |
ADTs; Representation Invariants (RI)
|
July 6 |
Abstraction Functions (AFs) Materials Code Example
|
July 8 |
Testing
|
July 11 |
More Testing; Modular Design Materials EJ 49, 50, 17, 52; PP 41
|
July 13 |
Modular Design and Style
|
July 15 |
Equality and Hashcodes EJ 10, 11
|
July 18 |
Exceptions PP 25; EJ 69, 70, 73
|
July 20 |
Subtypes EJ 40, 18, 19
|
July 22 |
More Subtypes; Ethics
|
July 25 |
Generics EJ 28, 30
|
July 27 |
More Generics; Callbacks
|
July 29 |
Event-driven Design; HTML; TypeScript Code Example (TS Introduction)
|
August 1 |
Intro to React Code Example
|
August 3 |
More React
|
August 5 |
Debugging
|
August 8 |
Design Patterns
|
August 10 |
HW9, Spark Java, and Fetch Code Example
|
August 12 |
More Design Patterns
|
August 15 |
System Integration
|
August 17 |
Accessibility (half lecture)
|
August 19 |
Course Wrap-up
|