Date | Topic | Notes | Homework | Solution | |||
M |
| Intro, BNF | PLAI §1; slides | HW 1 | available | ||
W |
| Scheme | quick-ref.scm | ||||
F |
| How to Design Programs | slides; code | ||||
M |
| HW1 presentations | PLAI §2 | ||||
W |
| Binding and substitution | PLAI §3; slides | HW 2 | available | ||
F |
| HW2 presentations | |||||
M |
| Labor Day | |||||
W |
| First-order functions | PLAI §4; slides; f1wae | ||||
F |
| Deferring substitution | PLAI §5; slides; f1wae+ds | HW 3 | available | ||
M |
| First-class functions | PLAI §6; slides; fae | ||||
W |
| Lexical addresses, dynamic scope | slides | ||||
F |
| HW3 presentations | |||||
M |
| Recursion | PLAI §9; slides | HW 4 | available | ||
W |
| Implementing recursion | PLAI §10; slides | ||||
F |
| HW3 (again) and HW4 | |||||
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 |
| Class Cancelled | |||||
W |
| Mid-Term 1 | sample | ||||
F |
| HW5 presentations | |||||
M |
| Fall Break | |||||
W |
| Fall Break | |||||
F |
| Fall Break | |||||
M |
| Mutable structures | PLAI §13; slides | HW 6 | available | ||
W |
| Variables, call-by-reference | PLAI §14; slides | ||||
F |
| Continuation-passing web server | PLAI §15-17; slides; server.ss | HW 7 | available | ||
M |
| HW6 presentations | |||||
W |
| Continuations | PLAI §19; slides | ||||
F |
| Delimited continuations | slides | ||||
M |
| HW7 presentations | generators | ||||
W |
| Implementing continuations | PLAI §20; slides | HW 8 | available | ||
F |
| Compiling an interpreter | slides; comp-interp.zip | ||||
M |
| Garbage collection | PLAI §21; slides | ||||
W |
| HW8 presentations | |||||
F |
| Types | PLAI §24-26; slides; kcfae-t | ||||
M |
| PLAI Typed and OCaml/F# | Downloads, references, examples | ||||
W |
| Type checking | PLAI §25-26; slides; tfae .ml -t.scm | HW 9 | available | ||
F |
| Mid-Term 2 | sample | ||||
M |
| Types and recursion | PLAI §26-27; slides; trcfae .ml -t.scm; tvrcfae .ml -t.scm | ||||
W |
| HW9 presentations | |||||
F |
| Thanksgiving | |||||
M |
| Objects and classes | slides; cae .ml -t.scm | ||||
W |
| Subclasses and type checking | slides; ticae .ml -t.scm | HW 10 | |||
F |
| Compiling class; super+inner | slides; ccae.ml; super+inner | ||||
M |
| Type soundness and inference | PLAI §28, 30; slides; tifae .ml -t.scm | ||||
W |
| Polymorphism | PLAI §29, 31; slides | ||||
F |
| HW10 presentations |