Date | Topic | Notes | Homework | Solution |
T | | Racket | PLAI §1, slides, quick ref | HW 0 | available |
Th | | How to Design Programs | slides, gui | HW 1 | available |
T | | Arithmetic, binding, substitution | PLAI §2-3, slides, ae, wae | | |
Th | | First-order functions | PLAI §4, slides, f1wae | HW 2 | available |
T | | Deferred substitution | PLAI §5, slides, f1wae-ds | | |
Th | | Compilation and lexical scope | slides, cf1wae | HW 3 | available |
T | | First-class functions | PLAI §6, slides, fae+with, fae, trace | | |
Th | | Dynamic scope, recursion | PLAI §9, slides, cfae | HW 4 | available |
T | | Encodings | slides | | |
Th | | Mid-term 1 | sample | | |
T | | Implementing recursion | slides, frfae, rcfae | | |
Th | | Mutable structures and variables | PLAI §13-14, slides, bcfae, bmcfae | HW 5 | available |
T | | Lazy evaluation | PLAI §7-8, slides, plai-lazy, cfal | | |
Th | | Continuation-passing style | PLAI §15-18, slides, server | HW 6 | available |
T | | Fall break | | | |
Th | | Fall break | | | |
T | | Continuations | PLAI §19-20, slides, kcfae, trace | | |
Th | | Continuation records | slides, fae-k, code | HW 7 | available |
T | | Canceled | | | |
Th | | Garbage collection | slides, gc | HW 8 | available |
T | | Types | PLAI §24-26, slides | | |
Th | | Type checking | PLAI §25-26, slides, plai-typed, demo, kcfae-t, tfae-t | HW 9 | available |
T | | Mid-term 2 | sample | | |
Th | | Type inference | PLAI §30, slides, tifae-t | HW 10 | available |
T | | Objects and classes | slides, cae-t | | |
Th | | Subclasses and type checking | slides, ticae-t | HW 11 | |
T | | Recursion, variants, soundness | PLAI §26-27; slides, trcfae-t, tvrcfae-t | | |
Th | | Thanksgiving | | | |
T | | Polymorphism | PLAI §29, 31, slides | | |
Th | | Languages in Racket | PLAI §36-37, slides, article | | |
T | | HW11 presentations | | | |
Th | | No meeting | | | |