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