Lectures & Notes
If reading is listed, do it before the date of the listed class.
| Date | 
 | Lecture Topic | 
 | To Read | 
 | Video | 
 | Notes/Code | 
| Jan 19 | 
 | Introduction | 
 | (None) | 
 | 
 | ||
| Jan 21 | 
 | OCaml: Data Types | 
 | 
 | 
 | |||
| Jan 22 | 
 | 
 | (None) | 
 | (None) | 
 | (None) | |
| 
 | 
 | 
 | 
 | |||||
| Jan 26 | 
 | OCaml: Fun with Functions | 
 | 
 | 
 | |||
| Jan 28 | 
 | OCaml: More Fun with Functions | 
 | (None) | 
 | 
 | ||
| Jan 29 | 
 | 
 | (None) | 
 | (None) | 
 | (None) | |
| 
 | 
 | 
 | 
 | |||||
| Feb 2 | 
 | Grammars, Syntax, and Instructions | 
 | (None) | 
 | 
 | ||
| Feb 4 | 
 | Names, Scope, and (Simple) Stacks | 
 | (None) | 
 | 
 | ||
| Feb 5 | 
 | Names and Scope Wrapup | 
 | (None) | 
 | 
 | ||
| 
 | 
 | 
 | 
 | |||||
| Feb 9 | 
 | A-Normal Form: Why | 
 | 
 | :-( | 
 | ||
| Feb 11 | 
 | A-Normal Form: How | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | |||||
| Feb 16 | 
 | Tagging Values | 
 | 
 | 
 | |||
| Feb 18 | 
 | Errors | 
 | (None) | 
 | 
 | ||
| 
 | 
 | 
 | 
 | |||||
| Feb 23 | 
 | Function Declarations | 
 | (None) | 
 | 
 | ||
| Feb 25 | 
 | Overflow and Tail Calls Intro | 
 | (None) | 
 | 
 | ||
| 
 | 
 | 
 | 
 | |||||
| Mar 1 | 
 | Tail Calls | 
 | (None) | 
 | 
 | ||
| Mar 3 | 
 | α-renaming and Tail Calls | 
 | (None) | 
 | 
 | ||
| 
 | 
 | 
 | 
 | |||||
| Mar 15 | 
 | Heap Allocation and Pairs | 
 | (None) | 
 | 
 | ||
| Mar 17 | 
 | Pairs Implementation | 
 | (None) | 
 | 
 | ||
| 
 | 
 | 
 | 
 | |||||
| Mar 22 | 
 | First-class Functions | 
 | (None) | 
 | 
 | ||
| Mar 24 | 
 | Closures | 
 | (None) | 
 | 
 | ||
| Mar 25 | 
 | Closures | 
 | (None) | 
 | 
 | ||
| 
 | 
 | 
 | 
 | |||||
| Mar 29 | 
 | Memory Management | 
 | 
 | 
 | |||
| Mar 31 | 
 | Automated Memory Management | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | |||||
| Apr 5 | 
 | Mark/Compact | 
 | 
 | 
 | |||
| Apr 7 | 
 | (Mutable) Variables | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | |||||
| Apr 12 | 
 | Types and Compilation | 
 | 
 | 
 | |||
| Apr 14 | 
 | Optimization, Generally | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | |||||
| Apr 19 | 
 | Register Allocation | 
 | 
 | 
 | |||
| Apr 21 | 
 | Optimization Wrapup and Lexing | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | |||||
| Apr 26 | 
 | Lexing and Top-down Parsing 1 | 
 | 
 | 
 | |||
| Apr 28 | 
 | Top-down Parsing 1 and Big Ideas | 
 | 
 | 
 |