The schedule should be regarded as a very rough plan that will almost certainly change somewhat during the course of the semester.
NOTE: Chapter numbers listed under "Scott" below are for Scott, "Programming Language Pragmatics", 3rd edition. "Harper" refers to Harper, Introduction to Standard ML. I expect that you will read the indicated sections of the texts by approximately the indicated dates. This should help you to understand and get perspective on the lecture and homeworks.
| Class | Date | Day | Topic | Scott | Harper | HW Out | HW Due |
| 1 | Jan 26 | T | Introduction, PL History | 1.1--1.3 | |||
| 2 | Jan 28 | Th | Standard ML overview | 10.1--10.2 | 1 | ||
| 3 | Feb 2 | T | Basic ML types, value declarations | 2.1--2.3 | |||
| 4 | Feb 4 | Th | ML function declarations, polymorphism | 7.2.4(CD) | 2.5--2.6 | HW1 out | |
| Feb 5 | F | Add/drop deadline | |||||
| 5 | Feb 9 | T | User-defined datatypes, patterns | 2.4 | |||
| 6 | Feb 11 | Th | Polymorphic datatype definitions | 2.7 | |||
| 7 | Feb 16 | T | Standard ML | ||||
| 8 | Feb 18 | Th | Syntax and Semantics | 1.4-1.10, 2.1 | HW2 out | HW1 due | |
| 9 | Feb 23 | T | Syntax and Semantics | ||||
| 10 | Feb 25 | Th | The SIMPLE Programming Language | 3.1--3.2, 3.5 | |||
| 11 | Mar 2 | T | PL Implementation, The V-Machine | ||||
| 12 | Mar 4 | Th | EXAM #1 | HW3 out | HW2 due | ||
| 13 | Mar 9 | T | Compiler for language SIMPLE | ||||
| 14 | Mar 11 | Th | SML Modules, Course Software | ||||
| 15 | Mar 16 | T | |||||
| 16 | Mar 18 | Th | Extensions to SIMPLE | ||||
| 17 | Mar 23 | T | |||||
| 18 | Mar 25 | Th | Sequence control, goto controversy | Ch. 6 | HW4 out | HW3 due | |
| Mar 26 | F | Last day to withdraw | |||||
| Mar 30 | T | SPRING BREAK -- NO CLASS | |||||
| Apr 1 | Th | SPRING BREAK -- NO CLASS | |||||
| 19 | Apr 6 | T | Procedures, parameters | 3.6, 8.3 | HW5 out | HW4 due | |
| 20 | Apr 8 | Th | Blocks, local variables, scoping | 3.3--3.4, 3.4.1(CD) | |||
| 21 | Apr 13 | T | EXAM #2 | ||||
| 22 | Apr 15 | Th | Compiler for language SCOPE | 8.1--8.2, 8.2.1(CD) | |||
| 23 | Apr 20 | T | Compiler for MiniML | ||||
| 24 | Apr 22 | Th | Standard stack-based implementation | 3.2--3.3 (review) | HW6 out | HW5 due | |
| HW6 | Types, type checking, type inference | 7.2, 7.2.4(CD) | |||||
| 25 | Apr 27 | T | Functions as values, closures | 8.3.2(CD) | |||
| 26 | Apr 29 | Th | Data structuring: arrays, records, unions | 7.1,7.3--7.5 | |||
| 27 | May 4 | T | Pointers, storage allocation | 7.6--7.8 | |||
| 28 | May 6 | Th | Exception handling | 8.5 | HW6 due | ||
| F | May 14 | F | FINAL EXAM 11:15AM-1:45PM, TBA |