| Tue, Jan-15 | Haskell basics |
| Thu, Jan-17 | Haskell basics |
| Tue, Jan-22 | Introduction (Slides 1: pdf
4up.pdf) |
| Thu, Jan-24 | Specifying syntax and semantics, structural induction
(Slides 2: pdf
4up.pdf) |
| Tue, Jan-29 | Continued |
| Thu, Jan-31 | Small step semantics
(Slides 3: pdf
4up.pdf) |
| Tue, Feb-5 | Small step semantics. Type systems.
(Slides 4: pdf
4up.pdf) |
| Thu, Feb-7 | Simple types |
| Tue, Feb-12 | Lambda calculus (Slides 5: pdf
4up.pdf) |
| Thu, Feb-14 | Lambda calculus |
| Tue, Feb-19 | Lambda calculus and types (Slides 6: pdf
4up.pdf) |
| Thu, Feb-21 | Lambda calculus and types |
| Fri, Feb-22 | About Monads (Slides: pdf
4up.pdf) |
| Tue, Feb-26 | About implementing type checkers and interpreters (Jacob Smith) |
| Thu, Feb-28 | No class |
| Tue, Mar-4 | Subtyping (Slides 7: pdf
4up.pdf) |
| Thu, Mar-6 | Subytping continues. References (Slides 8: pdf
4up.pdf) |
| Tue, Mar-11 | Spring break |
| Thu, Mar-13 | Spring break |
| Tue, Mar-18 |
| Thu, Mar-20 |
| Tue, Mar-25 | References continues |
| Thu, Mar-27 | About algorithmic subtyping. Polymorphism (System F)
(Slides 8: pdf
4up.pdf) |
| Tue, Apr-1 | Polymorphism |
| Thu, Apr-3 | Polymorphism |
| Tue, Apr-8 | Exam |
| Thu, Apr-11 |
| Tue, Apr-15 |
| Thu, Apr-17 |
| Tue, Apr-22 |
| Thu, Apr-24 |