Main page Solutions and your handins 
Date Topic Videos PLAI Slides Programs & Notes In Class Homework 
M
Aug 24 
IntroductionIntroduction videos
Tutorial videos
§1slidesShplait tutorial  
W
  26 
How to Design ProgramsHtDP videos slidesHtDP  
M
  31 
InterpretersInterp videos§2-5slidesarith, parse  
M
Sept 
Functions and substitutionFunction videos§2-5slidesfunction  
M
  
Labor Day      
W
  
Binding and environmentsBinding videos§6slideslet, env, HtDP IV  
M
  14 
Functions as valuesLambda videos§7slideslambda  
W
  16 
Mutable stateStore videos§8.1slidesbox, store, store_reslet  
M
  21 
RecordsRecord videos slidesrecord, mutable_record  
W
  23 
VariablesVariable videos§8.2slidesvariable, crate  
M
  28 
EncodingsEncoding videos slidesjust_lambda  
W
  30 
Midterm 1      
M
Oct 
Encoding recursionY videos slidesjust_lambda  
W
  
RecursionLetrec videos§9slidesletrec_mc, letrec, letrec_ubi  
M
  12 
Fall break      
W
  14 
Fall break      
M
  19 
Lazy evaluationLazy videos§17.1slideslazy, more_lazy  
W
  21 
ContinuationsContinuation videos slideslambda_k  
M
  26 
Errors, exceptions, call/ccControl videos§14slideserror, try, let_cc  
W
  28 
CompilationCompilation videos slides0, 1, 2, 3, 4  
M
Nov 
Garbage collectionGC videos§11slides5  
W
  
Midterm 2      
M
  
ObjectsObject videos§10slidesobject, lambda_obj  
W
  11 
ClassesClass videos slidesclass, inherit, inherit_parse  
M
  16 
TypesType videos§15.1-2slidestyped_lambda  
W
  18 
SubtypingSubtyping videos§15.3.7slidestyped_record, subtype, subtype_mut  
M
  23 
Type inferenceInference videos slidesinfer_lambda  
W
  25 
Typed recursionTyped recursion videos§15.2.3-4slidestyped_letrec, type_case  
M
  30 
Parametric polymorphismPolymorphism videos§15.3.1slidespoly_lambda  
W
Dec 
Classes and type checkingTyped class videos slidestyped_class, typed_parse  
M
  
MacrosMacro videos§13slides   
W
  
Review      
T
  15 
Final 10:30am