Here is a list of topics in roughly the order we will cover them. The exact topic on any given day is very likely to change.
| Num | Day | Date | Topics Covered | Materials |
|---|---|---|---|---|
| 1 | M | 07 Sep | Overview | |
| 2 | W | 09 Sep | Parsing | notes, PFPL Ch1 |
| 3 | M | 14 Sep | Operational Semantics | notes, notes latex source, proof.sty |
| 4 | W | 16 Sep | Operational Semantics Lab (conditionals,sequencing,loops) | lab handout, lab solutions |
| 5 | M | 21 Sep | Lab Solutions, Variables and Substitution | notes |
| 6 | W | 23 Sep | More Variables, Functions | notes |
| 7 | M | 28 Sep | Shared Memory Concurrency | notes |
| 8 | W | 30 Sep | Concurrency Lab | lab handout, some solutions |
| 9 | M | 5 Oct | Type Systems | notes, PFPL Chapters 4,5,6 |
| 10 | W | 7 Oct | Progress and Preservation | notes, PFPL Chapters 4,5,6 |
| 11 | M | 12 Oct | Product Types | PFPL Chapter 10 |
| 12 | W | 14 Oct | Substitution/Product Types Lab | lab handout, lab solution, PFPL Chapter 3 |
| 13 | M | 19 Oct | Sum Types, Recusive Types | notes, PFPL Chapter 11 |
| 14 | W | 21 Oct | Sum Types Lab | lab handout |
| M | 26 Oct | Fall break | ||
| 15 | W | 28 Oct | Higher-order functions | |
| 16 | M | 2 Nov | References | |
| 17 | W | 4 Nov | ? | |
| 18 | M | 9 Nov | ? | |
| 19 | W | 11 Nov | Linear Typing | |
| 20 | M | 16 Nov | Rust Basics | |
| 21 | W | 18 Nov | Rust: Borrow Checking | |
| 22 | M | 23 Nov | Rust: Borrow Checking II | |
| W | 25 Nov | Thanksgiving Break | ||
| 23 | M | 30 Nov | Polymorphism | |
| 24 | W | 2 Dec | Rust: Traits | |
| 25 | M | 7 Dec | Existential Types | |
| 26 | W | 9 Dec | Rust: Objects | |
| Dec 15 to 18 | Oral final exams |