![]() Princeton University |
Computer Science 441 |
|
Date | Topic | Reading | |
---|---|---|---|
9/16 | Introduction; ML | Ullman 1,2,3 | |
9/21 | Inductive Definitions; ML | Harper 1; Ullman 5,6 | |
9/23 | Scope and substitution | Harper 2.1, 2.2 | |
9/28 | Static Semantics | Harper 2.3 | PS 1 due. |
9/30 | Dynamic Semantics | Harper 3 | |
10/5 | Type Safety | Harper 4 | PS 2 due. |
10/7 | Evaluation Semantics | Harper 5, AnML | |
10/12 | Abstract Machines | Harper 6 | PS 3 due. |
10/14 | Type Reconstruction | Harper 7 | |
10/19 | Polymorphism | PS 4 due. | |
10/21 | Midterm review | ||
10/26 | Data abstraction | ||
10/28 | Equational reasoning | Harper 8 | Midterm due. |
10/28 | Take-Home Midterm Exam Due | Covers through October 21 | |
Midterm Break | |||
11/9 | Object-oriented programming; Java | Arnold | |
11/11 | Object-oriented programming; Java | Arnold | |
11/16 | Semantics of subtyping | ||
11/18 | Subclassing and subtyping | ||
11/23 | Concurrent Programming; shared variables | Hoare1974; Reppy 1,2; Arnold 9 | |
11/30 | Concurrent ML | Reppy 3 | |
12/2 | Concurrent ML; Concurrent Programming in Java | Reppy 4 | |
12/7 | Semantics of CML | Reppy Appendix B, Simplified CML Semantics | |
12/9 | Implementation of CML | Reppy 10 | |
12/14 | Modularity in ML [poly example] | Ullman 8 | |
12/16 | Modularity in Java | Arnold 3, 4, 10 | |
Reading period | |||
1/14 | Take-Home Final Exam Due |
Concurrent Programming in ML, by John Reppy, Cambridge University Press, 1999.
Elements of ML Programming, 2nd edition, by Jeffrey D. Ullman, Prentice Hall, 1998.
The Java Programming Language, by Ken Arnold and James Gosling, Addison-Wesley, 1996.
Monitors: an operating system structuring concept, by C. A. R. Hoare, Communications of the ACM, Vol. 17, No. 10, October 1974, pp. 549-557.