Tentative Schedule
Date | Topic |
1/9 | Introduction; ML; Induction (Ch. 1) |
1/11 | Concrete and Abstract Syntax (Ch. 2) |
1/16 | No class |
1/18 | No class |
1/23 | MiniML Syntax (Ch. 3) |
1/25 | MiniML Types (Ch. 4) |
1/30 | MiniML Dynamic Semantics (Ch. 5) |
2/1 | MiniML Type Safety (Ch. 6) |
2/6 | Products, Sums, and Recursive Types (Ch. 7) |
2/8 | Products, Sums, and Recursive Types (Ch. 7) |
2/13 | Evaluation Semantics and Dynamic Typing (Ch. 8) |
2/15 | Java Type Safety; Security |
2/20 | Computational Effects (Ch. 10) |
2/22 | Computational Effects (Ch. 10) |
2/27 | Monads (Introduction) |
3/1 | Monads (Theory) |
3/6 | Monads (Haskell and lazy evaluation) |
3/8 | Monads (Haskell and type classes; encapsulation) |
3/13 | Spring break |
3/15 | Spring break |
3/20 | Type Reconstruction (Ch. 13) |
3/22 | Type Reconstruction (Ch. 13) |
3/27 | Expression Equivalence (Ch. 14) |
3/29 | Expression Equivalence (Ch. 14) |
4/3 | Polymorphism (Ch. 15) |
4/5 | Polymorphism (Ch. 15) |
4/10 | Data Abstraction (Ch. 16) |
4/12 | Data Abstraction (Ch. 16) |
4/17 | Inheritance and Subtyping (Ch. 17) |
4/19 | Inheritance and Subtyping (Ch. 17) |
4/24 | Featherweight Java (Ch. 18) |
4/26 | Featherweight Java (Ch. 18) |
5/1 | Final exam from 8:00 to 10:00 |