CSE 505: Concepts of Programming Languages

Fall 2008

Course Information

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


Midterm: October 29, in class   unsolved   solved
  Sample midterms:   Fa07 unsolved   Fa07 solved   Fa06 unsolved   Fa06 solved   Fa05 unsolved   Fa05 solved

Final: December 11, 8:30-10:20AM   unsolved   solved

  Sample finals:   Fa07 unsolved   Fa07 solved   Fa06 unsolved   Fa06 solved   Fa05 unsolved   Fa05 solved

Class Materials

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 Information

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