Syllabus
Challenge-Problem Policy
Instructor: Dan Grossman,
djg followed by @ and then cs.washington.edu, Allen Center 556
Office hours: Wednesday 2-3PM
TA: Jonathan Beall,
jibb followed by @ and then cs.washington.edu, Allen Center 440
Office hours: Tuesday 1:30-2:30PM
Homework 1, due 10 October
hw1.pdf
hw1.tar
Homework 2, due 24 October
hw2.pdf
hw2.tar
Homework 3, due 12 November
hw3.pdf
hw3.tar
Homework 4, due 25 November
hw4.pdf
hw4.tar
Homework 5, due 5 December
hw5.pdf
hw5.tar
1. Sep 24: Course Introduction and Caml Tutorial
2. Sep 29: Caml Tutorial and Abstract Syntax
3. Oct 1: Operational Semantics
4. Oct 6: Proofs; Pseudo-Denotational Semantics
proofs
code
5. Oct 8: Little Trusted Languages; Equivalence
proofs
6. Oct 13: Lambda Calculus
7. Oct 15: Substitution; Simply Typed Lambda Calculus
8. Oct 20: Type Safety; Extensions to STLC type-safety proof
9. Oct 22: More STLC Extensions and Related Topics
10. Oct 27: Curry-Howard Isomorphism; Evaluation
Contexts code
X. Oct 29: Midterm
11. Nov 3: More Evaluation Contexts;
Continuations; Polymorphism; Subtyping code
12. Nov 5: More Subtyping; Parametric Polymorphism
13. Nov 10: More Parametric Polymorphism;
Recursive Types; Type Abstraction code
14. Nov 12: catch up: finish types
15. Nov 17: Concurrency and Shared Memory
code
16. Nov 19: Concurrency and Message Passing
code
17. Nov 24: Object-Oriented Programming
18. Nov 26: Advanced Concepts in OOP
19. Dec 1: Bounded polymorphism and classless OOP
20. Dec 3: Effect Systems; Continuation Passing; Course
Summary and Everything Else
Caml home page
The manual
The O'Reilly book (free)
Running Caml locally
Emacs mode: caml_emacs.tgz contains
exactly the code Dan uses. The Web may have more recent
stuff.
Course email list
Homework 0, "due" September 29, worth 0 points