September 28 |
Reasoning about Straight-line Code PP 38
|
September 30 |
Reasoning about Loops
|
October 3 |
Writing Loops
|
October 5 |
Reasoning Wrap-up
|
October 7 |
Specifications PP 23
|
October 10 |
Data Abstraction (ADTs)
|
October 12 |
Abstraction Functions (AFs)
|
October 14 |
Representation Invariants (RIs) EJ 49, 50, 17, 52
|
October 17 |
Testing PP 41
|
October 19 |
More Testing
|
October 21 |
Identity, Equality, and Hashing EJ 10, 11
|
October 24 |
Exceptions and Assertions
|
October 26 |
Module Design and Style PP 25
|
October 28 |
More Module Design (same slides)
|
October 31 |
Subtypes EJ 40, 18, 19
|
November 2 |
More Subtypes
|
November 7 |
Generics EJ 28, 30
|
November 9 |
More Generics
|
November 14 |
User Interfaces and Event-Driven Programming Code Examples
|
November 16 |
Javascript
|
November 18 |
ES6 and TypeScript Code Examples
|
November 21 |
JSX and React Code Examples
|
November 28 |
Basic Servers and Clients Code Examples
|
November 30 |
HTTP Servers and Web Clients Code Examples
|
December 2 |
Debugging
|
December 5 |
Design Patterns
|
December 7 |
More Design Patterns
|
December 9 |
Startups
|