Date | Topic | Notes | Homework | Solution |
M | | Canceled | | | |
W | | Intro, BNF | PLAI §1; slides | HW 1 | available |
F | | Scheme | quick-ref | | |
M | | How to Design Programs | slides | | |
W | | HW1 presentations | PLAI §2, ae | | |
F | | Binding and substitution | PLAI §3; slides | HW 2 | available |
M | | Labor Day | | | |
W | | HW2 presentations | | | |
F | | First-order functions | PLAI §4; slides, f1wae | HW 3 | available |
M | | Deferred substitution | PLAI §5; slides, f1wae+ds | | |
W | | First-class functions | PLAI §6; slides, fae, trace | | |
F | | HW3 presentations | | | |
M | | Lexical addresses, dynamic scope | slides, cfae | | |
W | | Canceled | | | |
F | | Mid-Term 1 | sample | | |
M | | Recursion | PLAI §9; slides, cf | HW 4 | available |
W | | Implementing recursion | PLAI §10; slides, rcfae | | |
F | | HW4 presentations | | | |
M | | Lazy evaluation | PLAI §7; slides, plai-lazy.plt, examples | | |
W | | Implementing laziness | PLAI §8; slides, cfal | HW 5 | available |
F | | Encoding with functions | slides | | |
M | | Fall Break | | | |
W | | Fall Break | | | |
F | | Fall Break | | | |
M | | Mutable structures | PLAI §13; slides, bcfae | HW 6 | available |
W | | HW5 presentations | | | |
F | | Variables, call-by-reference | PLAI §14; slides, bmcfae | | |
M | | HW6 presentations | | | |
W | | Canceled | | | |
F | | Continuation-passing web server | PLAI §15-17; slides, server | HW 7 | available |
M | | Continuations | PLAI §19; slides | | |
W | | Delimited continuations | slides | | |
F | | HW7 presentations | | | |
M | | Implementing continuations | PLAI §20; slides, kcfae, steps | HW 8 | |
W | | Compiling an interpreter; GC | slides, slides, PLAI §21, sources | | |
F | | Types | PLAI §24-26; slides | | |
M | | HW8 presentations | | | |
W | | Canceled | | | |
F | | Mid-Term 2 | sample | | |
M | | PLAI Typed | plai-typed, demo, kcfae-t | | |
W | | Type checking | PLAI §25-26; slides, tfae-t | HW 9 | |
F | | Thanksgiving | | | |
M | | Types and recursion | PLAI §26-27; slides; trcfae-t; tvrcfae-t | | |
W | | Objects and classes | slides; cae-t | | |
F | | Subclasses and type checking | slides; ticae-t | HW 10 | |
M | | Type soundness and inference | PLAI §28, 30; slides; tifae-t | | |
W | | Polymorphism | PLAI §29, 31; slides | | |
F | | | | | |