CSE 505: Concepts of Programming Languages

Fall 2006

Course Information

Syllabus
Extra-Credit Policy
Instructor: Dan Grossman, , Allen Center 556
     (careful: the userid grossman belongs to someone else)
   Office hours: Tuesday 2-3 + by appointment
TA: Anna Gringauze, annagrin@cs, Allen Center 362
   Office hours: Wednesday 2:30-3:30 CSE218

Homework

Homework 1, due 16 October   hw1.pdf   hw1.tar
Homework 2, due 27 October   hw2.pdf   hw2.tar
Homework 3, due 10 November   hw3.pdf   hw3.tar
Homework 4, due 28 November   hw4.pdf   hw4.ml
Homework 5, due 8 December   hw5.pdf   hw5.tar

Class Materials

1. Sep 28: Course Intro and Caml Tutorial
2. Oct 3: Caml Tutorial and Abstract Syntax
3. Oct 5: IMP Operational Semantics
4. Oct 10: Proofs Continued; IMP Pseudo-Denotational Semantics   code   classnotes
5. Oct 12: Little Trusted-Languages; Equivalence   full-proofs
6. Oct 17: Lambda Calculus; Lambda Encodings
7. Oct 19: Substitution; Simply-Typed Lambda Calculus
8. Oct 24: Type-Safety Continued; Extensions to STLC
9. Oct 26: More Extensions; Termination; Anonymous Types
10. Oct 31: Curry-Howard; Evaluation Contexts; Abstract Machines   code
X. Nov 2: Midterm
11. Nov 7: Introduction to polymorphism; Subtyping
12. Nov 9: Universally quantified types (parametric polymorphism)
13. Nov 14: Recursive types; Abstract types   code
14. Nov 16: Concurrency and Shared Memory   code
15. Nov 21: Concurrency and Message Passing   code
X. Nov 23: Thanksgiving
16. Nov 28: Class-Based OOP
17. Nov 30: Advanced Concepts in OOP
18. Dec 5: Bounded Polymorphism and Classless OOP
19. Dec 7: Summary and "Everything Else"

Exams

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

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 4, worth 0 points)