Sections are held:
- Tuesdays 3pm-4pm in MD223 (4/17 in Pierce 219 instead)
- Wednesdays 2pm-3pm in Pierce 100F
- Fridays 2:30pm-3:30pm in 52 Oxford B150
Section attendance is not required. You can go to whichever section(s) you want.
Wednesday's sections are recorded (from April 4 onwards). Videos of section are available on Canvas.
The following is a list of the sections that were held, and the topic/problems covered. Practice problems will be released a day or two before the first section of the week.
Week | Topic | Practice problems |
---|---|---|
3 | Induction; Small-step operational semantics; Large-step operational semantics; IMP | PDF Solutions |
4 | Denotational semantics; Lambda calculus basics | PDF Solutions |
5 | Lambda calculus encodings; Definitional translations | PDF Solutions |
6 | References, continuations; Simply-typed lambda calculus | PDF Solutions |
7 | More types | PDF Solutions |
8 | Parameteric polymorphism, records and subtyping | PDF Solutions |
9 | Curry-Howard, existential types; sub-structural type systems | PDF Solutions |
10 | Algebraic structures; Axiomatic semantics (Haskell code) | PDF Solutions |
11 | Dependent Types; Proof tools (Haskell code) | PDF Solutions |
12 | Logic Programming (code) | PDF Solutions |
13 | Concurrency | PDF Solutions |