Schedule
| Date | Topic | Read | Turn in | Comments | |
| Jan | 14 | Reasoning about programming languages | 1.1 | ||
| 16 | Introduction to Scheme | 1.2 | Guest Lecture | ||
| 21 | Parsing and Abstract Syntax | 2.2 | |||
| 23 | Substitution-based Lambda Calculus | Hw 1 | Add period ends Friday | ||
| 28 | Environment-based interpreter, let, if, lambda and letrec | 3.3-3.6 | Guest Lecture | ||
| 30 | Mutation and parameter passing | 3.7-3.9 | Guest Lecture | ||
| Feb | 4 | Environment-based interpreter | 3.5 | Hw 2 | |
| 6 | Recursive functions | 2.3, 3.6 | |||
| 11 | Parameter passing | 3.7-3.8 | Hw 3 | ||
| 13 | Lazy evaluation & streams | Why functional programming matters | Drop period ends Friday | ||
| 18 | Type checking | 4.1-4.2 | Hw 4 | ||
| 20 | Type soundness |
Lecture notes | |||
| 25 | Type abstraction | 4.3 | Hw 5 | ||
| 27 | Type inference | 4.4 | |||
| Mar | 4 | Continuations | 7.1 | Hw 6 | |
| 6 | Imperative interpreter | 7.2, 7.3 | |||
| 11 | Spring break | ||||
| 13 | Spring break | ||||
18 |
Midterm | ||||
| 20 | Exceptions | 7.4 | |||
| 25 | Multithreading | 7.5 | Registration |
||
| 27 | Continuations | 8.1 | for |
||
| Apr | 1 | CPS conversion | 8.2-8.4 | Fall |
|
| 3 | CPS conversion | Lecture notes | Hw 7 | 2003 |
|
| 8 | Objects | 5.1-5.2 | |||
| 10 | Implementing Objects | 5.3-5.4 | Hw 8 | ||
| 15 | Implementing Objects | 5.4 | |||
| 17 | Typed Object Languages | 6.1 | Hw 9 | ||
| 22 | Type Checker | 6.2 | |||
| 24 | Wrap-up, AOP | Hw 10 | |||
| May | 6 (Tues) | Final Exam 8:30-10:30am |
Towne 307 | Final Review | Scheduled by the registrar |
Last modified: 28-apr-03