Week | Dates | Topics | Readings and Important Dates |
---|---|---|---|
1 | Jan. 18 | NO CLASS | |
2 | Jan. 23-25 | Introduction to Scheme | EOPL sections 1.1, 1.2 |
3 | Jan. 30-Feb. 1 | Abstraction and representation Scope and lexical address |
Last day to add: Monday,
Jan. 30 EOPL 1.3, 2.1 |
4 | Feb. 6-8 | Lambda calculus | EOPL 2.2 |
5 | Feb. 13-15 | Scanning and parsing Environment-passing interpreters |
EOPL 3.1-3.5, Appendix A |
6 | Feb. 20-22 | Environment-passing interpreters | EOPL 2.3, 3.6 |
EXAM 1: February 22 | |||
7 | Feb. 27-March 1 | Assignments and top-level definitions Dynamic binding |
EOPL 3.7 |
8 | March 6-8 | Syntactic extensions (macros) | Last day to drop: Thursday, March 9 |
S P R I N G B R E A K | |||
9 | March 20-22 | Type checking and type inference | EOPL 4.1-4.2, 4.4 |
10 | March 27-29 | Continuation-passing style | |
11 | April 3-5 | Continuation-passing interpreters First-order tail form |
EOPL 7.1-7.2 |
12 | April 10-12 | Exception handling | EOPL 7.4 |
EXAM 2: April 12 | |||
13 | April 17-19 | Register machines Multithreading |
EOPL 7.3, 7.5 |
14 | April 24-26 | Nondeterministic evaluation | |
15 | May 1-3 | Lazy evaluation and streams | |
FINAL EXAM: Thursday, May 11, 2:00 PM |