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 |