Date | Lab Due | Reading | Lecture Topics | Self-study |
---|---|---|---|---|
Jan 5 | Scott 1 | Introduction; High-level vs. low-level languages; Stack machines (pdf) (recording) | questions answers | |
Jan 7 | Scott 2.1,6.1 | Concrete and abstract syntax; Grammars; Expressions (pdf) (recording [missing first few minutes]) | questions answers | |
Jan 12 | Lab 1 | Scott 6.2-5 | Imperative languages; Structured programming (pdf) (recording) | questions answers |
Jan 14 | Gordon, pp. 7-27 | Semantics; Axiomatic semantics (pdf) (recording) | questions answers | |
Jan 19 | Lab 2 | Scott 3.1-3,3.5 | Binding; Scope (pdf) (recording) | questions answers |
Jan 21 | (none) | Memory; Large values; Equality (pdf) (recording) | questions answers | |
Jan 26 | Lab 3 | Winskel 2.1-5 | Operational Semantics (pdf) (recording) | questions answers |
Jan 28 | Scott 9.1-3, Scott 6.6 | Procedures and the stack; Calling conventions; Recursion (pdf) (recording) | questions answers | |
Feb 2 | Lab 4 | (sample midterm questions) | Review for Midterm (recording) | questions answers |
Feb 4 | Midterm Exam: no class | |||
Feb 9 | Scott 9.4-5 | [Completion of Jan 28 lecture](recording) | questions answers | |
Feb 11 | (Scott 9.4-5) | Exceptions; Coroutines (pdf) (recording) | questions answers | |
Feb 18 | Lab 5 | Scott 3.6-7, Scott 11 | Functional programming; First-class functions (pdf) (recording) | questions answers |
Feb 18 continued (no live class; recording only) | (none) | Closures; Continuations (pdf) (recording) | questions answers | |
Feb 23 | Scott 7 | Type systems; Type checking; Type equivalence (pdf) (recording) | questions answers | |
Feb 25 | Lab 6 | (none) | Polymorphism; Type inference (pdf) (handout with slide 8 method details) (recording) | questions answers |
Mar 2 | Scott 8 | Composite types (pdf) (recording) TypesInHaskell.hs TypesInHaskell_with_solutions.hs | questions answers | |
Mar 4 | Lab 7 | (none) | Modules; Abstract data types (pdf) (recording) | (no study questions) |
Mar 9 | Scott 10 | Object-oriented languages | ||
Mar 11 | Lab 8 | Review and catch-up | ||
Mar 15-19 | Final exam week |