# CSE 505: Concepts of Programming Languages

## Fall 2008

### 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 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.

### Preliminaries

Course email list

Homework 0, "due" September 29, worth 0 points