Final grades are posted in Canvas.
Assignment I, handed out on 1/9 and due on 1/21
Introductory tutorial on ML functions
Introductory tutorial on ML datatypes
Assignment II, handed out on 1/23 and due on 2/4
Assignment III, handed out on 2/4 and due on 2/25
Assignment IV, handed out on 2/25 and due on 3/18
Assignment V, handed out on 3/18 and due on 4/8
Assignment VI, handed out on 4/10 and due on 4/24 (extended from 4/22)
Please use Canvas to check your grades.
Textbook webpage (including errata)
Proofs are Programs: 19th Century Logic
and 21st Century Computing
by Philip Wadler (2000).
This optional reading briefly covers the works of Frege, Gentzen, and Church, as well as the Curry-Howard Isomorphism.
Week | Dates | Topics | Reading (ML book) |
---|---|---|---|
1 | 01/07, 01/09 | Introduction; ML basics; Polymorphism | 1-3.1, 5.3 |
2 | 01/14, 01/16 | Functions; Patterns | 3.2-3.6.3, 4.1-4.2, 5.1, 5.4 |
3 | 01/23 | Functions | 5.5-5.6 |
4 | 01/28, 01/30 | Datatypes; Deductive systems | 6.1-6.3 |
5 | 02/04, 02/06 | Deductive systems | Class notes |
6 | 02/11, 02/13 | Test I | Class notes |
7 | 02/18, 02/20 | Syntax; Dynamic semantics | Class notes |
8 | 02/25, 02/27 | Dynamic semantics; Lambda calculus | Class notes |
9 | 03/04, 03/06 | Lambda calculus; Static semantics | Class notes |
10 | 03/18, 03/20 | Type safety | Class notes |
11 | 03/25, 03/27 | Test II | Class notes |
12 | 04/01, 04/03 | Type safety; Algebraic data types | Class notes |
13 | 04/08, 04/10 | Recursive types; Side effects | 5.2, 7.2-7.3 |
14 | 04/15, 04/17 | Side effects | Class notes |
15 | 04/22, 04/24 | Side effects | Class notes |
Final | 04/29 | Test III (Final Exam), 3-5pm | All tests are cumulative |