| Tue, Jan-16 | ”Snow day” |
| Thu, Jan-18 | Introduction (Slides 1: pdf 4up.pdf), Specifying syntax and semantics, structural induction (Slides 2: pdf 4up.pdf) |
| Tue, Jan-23 | Specifying syntax and semantics, structural induction continues |
| Thu, Jan-25 | Small-step semantics (Slides 3: pdf 4up.pdf) |
| Tue, Jan-30 | About type systems (Slides 4: pdf 4up.pdf) |
| Thu, Feb-1 | Lambda calculus (Slides 5: pdf 4up.pdf) |
| Tue, Feb-6 | Haskell (Slides X: pdf 4up.pdf). Files we discussed in class: Test.hs, StackADT.hs, AlgDataType.hs |
| Thu, Feb-8 | Haskell, simple interpreter |
| Tue, Feb-13 | Simply-typed lambda calculus (Slides 6: pdf 4up.pdf) |
| Thu, Feb-15 | Subtyping (Slides 7: pdf 4up.pdf) |
| Tue, Feb-20 | Haskell: Implementing a parser, type-checker, evaluator |
| Thu, Feb-22 | Guest Lecture: Aravind Srinivasa Raghavan: Improving Support for Generic Programming in C# |
| Tue, Feb-27 | Subtyping continues |
| Thu, Mar-1 | Monads (Slides: pdf 4up.pdf) |
| Tue, Mar-6 | References (Slides: pdf 4up.pdf) |
| Thu, Mar-8 | System-F (Slides: pdf 4up.pdf) |
| Tue, Mar-13 | Spring Break |
| Thu, Mar-15 | Spring Break |
| Tue, Mar-20 | System-F |
| Thu, Mar-22 | Existential types |
| Tue, Mar-27 | Bounded quantification (Slides: pdf 4up.pdf) |
| Thu, Mar-29 | About closures (Slides: pdf 4up.pdf) |
| Tue, Apr-3 | Bounded quantification continues |
| Thu, Apr-5 | Featherweight Java |
| Tue, Apr-10 | Presentations: Peter, Jacob |
| Thu, Apr-12 | Presentations: Olga, Eric/Reetal |
| Tue, Apr-17 | No class |
| Thu, Apr-19 | No class |
| Tue, Apr-24 | Presentations: Damian, Daniel |
| Thu, Apr-26 | Presentations: Xiaolong, Zane |