CSE 505: Concepts of Programming Languages
Fall 2009
Course Information
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
- 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
Exams
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
Class Materials
- 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 Information
- 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.
Preliminaries
- Course email list
- Homework 0, "due" October 5, worth 0 points