| September | 9 | Introduction. Class policies. Why study programming languages? |
| 11 | Untyped functional languages. Scheme | |
| 16 | Scheme | |
| 18 | Scheme | |
| 23 | Scheme | |
| 25 | Scheme Assignment 1a due. | |
| 30 | Memory management in Lisp-like languages | |
| October | 2 | Typed functional languages. ML |
| 7 | ML | |
| 9 | ML. Assignment 1b due. | |
| 14 | ML | |
| 16 | ML. | |
| 21 | Prolog. | |
| 23 | Prolog. Assignment 2a due. | |
| 28 | Prolog. | |
| 30 | Prolog. | |
| November | 3 | Review for midterm in tutorial. |
| 4 | Midterm. | |
| 6 | Prolog. Assignment 2b due. | |
| 11 | Prolog | |
| 13 | Topics in PL: Grammars | |
| 18 | Grammars | |
| 20 | Grammars. Assignment 3a due. | |
| 25 | Parameter-passing techniques | |
| 27 | Procedure activation records | |
| December | 2 | Procedure activation records |
| 4 | Catch-up and summary. Assignment 3b due. |