CSE505, Fall 2008 (original) (raw)

CSE 505: Concepts of Programming Languages

Course Information

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

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>

Exams

Midterm: October 29, in classunsolved 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%5Femacs.tgz> contains exactly the code Dan uses. The Web may have more recent stuff.

Preliminaries

Course email list
Homework 0, "due" September 29, worth 0 points