CSE 505: Concepts of Programming Languages

Fall 2007

Course Information

Syllabus
Challenge-Problem Policy
Instructor: Dan Grossman, , Allen Center 556
   Office hours: Tuesday 2-3 + by appointment
TA: Matthew Kehrt, ,
   Office hours: Monday 12-1 + by appointment

Homework

Homework 1, due 15 October   hw1.pdf   hw1.tar
Homework 2, due 29 October   hw2.pdf   hw2.tar
Homework 3, due 13 November   hw3.pdf   hw3.tar
Homework 4, due 27 November   hw4.pdf   hw4.tar
Homework 5, due 7 December   hw5.pdf   hw5.tar

Exams

Our final:   unsolved   solved
Sample finals:   Fall 06 unsolved   Fall 06 solved   Fall 05 unsolved   Fall 05 solved
Our midterm:   unsolved   solved
Sample midterms:   Fall 06 unsolved   Fall 06 solved   Fall 05 unsolved   Fall 05 solved

Class Materials

1. Sep 27: Course Intro and Caml Tutorial
2. Oct 2: Caml Tutorial and Abstract Syntax
3. Oct 4: Operational Semantics for IMP
4. Oct 9: Proofs; IMP Pseudo-Denotational Semantics   proofs from class   code
5. Oct 11: Little Trusted Languages; Equivalence   full proofs
6. Oct 16: Lambda Calculus
7. Oct 18: Substitution; Simply Typed Lambda Calculus
8. Oct 23: Typed Lambda Calculus and Simple Extensions   type-safety proof
9. Oct 26 or 29: More STLC extensions and related topics
10. Oct 30: Curry-Howard; Evaluation Contexts; Abstract Machines   code
X. Nov 1: Midterm
11. Nov 6: Introduction to polymorphism; Subtyping
12. Nov 8: Universally quantified types (parametric polymorphism)
13. Nov 13: Recursive types; Abstract types   code
14. Nov 15: Concurrency and Shared Memory   code
15. Nov 20: Concurrency and Message Passing   code
X. Nov 22: Thanksgiving
16. Nov 27: Class-Based OOP
17. Nov 29: Advanced Concepts in OOP
18. Dec 4: Bounded Polymorphism and Classless OOP
19. Dec 6: Summary and "Everything Else"

Caml Information

Caml home page
The manual
The O'Reilly book (free)
Running Caml locally
Emacs mode: caml_emacs.tar.gz contains exactly the code Dan uses. The Web may have more recent stuff.

Preliminaries

Join the course mailing list
Homework 0, "due" October 2, worth 0 points