Final grades are posted in Canvas.
Assignment I, handed out on 1/9 and due on 1/21
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|
|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|