Syllabus

Challenge-Problem Policy

Instructor: Dan Grossman,
djg followed by @ and then cs.washington.edu, Allen Center 556

Office hours: Wednesdays 1:30-2:30 and by appointment and
just come by

TA: Salvatore Guarnieri
sammyg followed by @ and then cs.washington.edu, Allen Center 315

Office hours: Mondays 2:00-3:00 and by appointment and
just come by

- Homework 1, due October 16 hw1.pdf hw1.tar
- Homework 2, due October 30 hw2.pdf hw2.tar
- Homework 3, due November 18 hw3.pdf hw3.tar
- Homework 4, due December 2 hw4.pdf hw4.tar
- Homework 5, due December 11 hw5.pdf hw5.tar

Midterm: November 5, in class
unsolved
solved

Sample midterms:
2008 unsolved
solved
2007 unsolved
solved
2006 unsolved
solved
2005 unsolved
solved

Final: Monday December 14, 10:30-12:20
unsolved
solved

Sample finals:
2008 unsolved
solved
2007 unsolved
solved
2006 unsolved
solved
2005 unsolved
solved

- 1. Oct 1: Course Introduction and Caml Tutorial
- 2. Oct 6: Caml Tutorial and Abstract Syntax
- 3. Oct 8: Operational Semantics
- 4. Oct 13: Proofs; Pseudo-Denotational Semantics proofs code
- 5. Oct 15: Little Trusted Languages; Equivalence proofs
- 6. Oct 19: Lambda Calculus
- 7. Oct 21: Reduction Strategies; Substitution; Simply Typed Lambda Calculus
- 8. Oct 26: Type-Safety Proof; Start Extensions to STLC type-safety proof
- 9. Oct 28: More STLC Extensions and Related Topics
- 10. Nov 3: Extensions Wrap-Up; Curry-Howard Isomorphism; Evaluation Contexts and Continuations
- X. Nov 5: Midterm
- 11. Nov 10: Lambda Interpeters; Polymorphism; Subtyping code
- 12. Nov 12: More Subtyping; Parametric Polymorphism
- 13. Nov 17: More Parametric Polymorphism; Recursive and Existential Types code
- 14. Nov 19: Effect Systems; Concurrency; Shared Memory code
- 15. Nov 24: Concurrency and Message-Passing lec15.ml lec15.mli
- 16. Dec 1: Object-Oriented Programming
- 17. Dec 3: Advanced Concepts in OOP
- 18. Dec 8: Bounded Polymorphism and Classless OOP
- 19. Dec 10: Course Summary and Wrap-Up

- Caml home page
- The manual
- The O'Reilly book (free)
- Another free (for now) book
- 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" October 5, worth 0 points