Instructor
comar@umich.edu
Fall 2025
| Day | # | Lecture Topic | Deadline | Readings |
|---|---|---|---|---|
| Tue 26 Aug | 1 | Course Overview | Required: EECS 490 Syllabus | |
| Thu 28 Aug | 2 | Programming with Mathematical Expressions |
|
Optional: Cornell CS 3110 Notes, Ch. 2-3 (except 3.1.3) |
| Tue 2 Sep | 3 | Recursive Datatypes and Recursion Schemes |
|
Optional: Cornell CS 3110 Notes, Ch. 4 |
| Thu 4 Sep | 4 | Equational and Inductive Reasoning | Optional: Princeton COS 326 Notes on Reasoning: Basics, Lists | |
| Tue 9 Sep | 5 | Syntax | ||
| Thu 11 Sep | 6 | Semantics | ||
| Fri 12 Sep |
|
|||
| Tue 16 Sep | 7 | Variables and Types | ||
| Thu 18 Sep | 8 | Functions (the Lambda Calculus) | ||
| Fri 19 Sep |
|
|||
| Mon 22 Sep |
|
|||
| Tue 23 Sep | 9 | Products and Isomorphisms | ||
| Thu 25 Sep | 10 | Sums | ||
| Fri 26 Sep |
|
|||
| Tue 30 Sep | 11 | Recursive Expressions | ||
| Thu 2 Oct | 12 | Recursive Types | ||
| Mon 6 Oct |
|
|||
| Tue 7 Oct | 13 | Constructive Logic (Proofs are Programs) | Optional: Propositions as Types by Philip Wadler | |
| Thu 9 Oct | 14 | Dynamic Classification, Gradual Typing, and Typed Holes | Optional: What is Gradual Typing by Jeremy Siek | |
| Tue 14 Oct | No Lecture - Fall Study Break | |||
| Wed 15 Oct |
|
|||
| Thu 16 Oct | No Lecture | |||
| Tue 21 Oct | Midterm Exam (in class) | |||
| Thu 23 Oct | 15 | Imperative Programming I - Side Effects |
|
Optional: TAPL Ch. 13 |
| Tue 28 Oct | 16 | Imperative Programming II - Mutable Data Structures 😱 | ||
| Thu 30 Oct | 17 | Imperative Program Analysis I | Optional: CMU
17-654: Hoare Logic:
Proving Programs Correct Optional: Washington CSE 331: Reasoning About Code (Hoare Logic) |
|
| Fri 31 Oct |
|
|||
| Tue 4 Nov | 18 | Imperative Program Analysis II | ||
| Thu 6 Nov | 19 | Memory Management + Ownership in Rust | Optional: Rust Book Ch. 4.1-4.2: Understanding Ownership | |
| Tue 11 Nov | 20 | Borrowing in Rust | ||
| Thu 13 Nov | 21 | Parallelism and Cost Semantics I | Optional: PFPL Ch. 37-38 | |
| Fri 14 Nov |
|
|||
| Tue 18 Nov | 22 | Parallelism and Cost Semantics II | ||
| Thu 20 Nov | 23 | Concurrent Interaction | Optional: PFPL Ch. 39 | |
| Fri 21 Nov |
|
|||
| Tue 25 Nov | No Lecture - Happy Thanksgiving! | |||
| Thu 27 Nov | No Lecture - Happy Thanksgiving! | |||
| Tue 2 Dec | 24 | Distributed Computation and Module Systems | Optional: PFPL Ch. 40 | |
| Thu 4 Dec | 25 | Special Topic: TBA | ||
| Fri 5 Dec |
|
|||
| Wed 10 Dec | Final Exam (1:30pm-3:30pm) (Location: TBD) | |||
| Fri 12 Dec |
|
|||
Grader
yuganshi@umich.edu