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 |
|
|||
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 | ||
Fri 3 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 | |
Fri 10 Oct |
|
|||
Tue 14 Oct | No Lecture - Fall Study Break | |||
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 |
|