CSE P505: Programming Languages

Winter 2009

Preliminaries

Join the course mailing list
Homework 0 "due" January 13, worth zero points

Course Information

Syllabus
Challenge-Problem Policy
Advice on approaching P505 homework

Meetings: Thursdays 6:30-9:20PM, Allen Center Room 305 and Microsoft Building 99, Room 1915

Discussion Board

Course Staff

You can reach the entire staff at csep505staff then @ and then cs.washington.edu.
The userids following each name below are also for cs.washington.edu.

Instructor: Dan Grossman, djg, Allen Center 556
TA: Dang-Trinh Huynh-Ngoc, trinh
TA: Laura Effinger-Dean, effinger
TA: Benjamin Wood, bpw

Anonymous Feedback

Exam Information

Sample problems:  Without solutions  With solutions
Reference pages

Our exam:  Without solutions  With solutions

Homework

Turn-in link

Homework 1, due 22 January   hw1.pdf   hw1.ml
Homework 2, due 5 February   hw2.pdf   logo.pdf   imp.ml   logo.ml
Homework 3, due 19 February   hw3.pdf   hw3.tar
Homework 4, due 5 March   hw4.pdf   lang.pdf   hw4code.tar
Homework 5, due 12 March   hw5.pdf   hw5.ml   hw5.mli   Makefile

Class Materials

Video Archives

1. Course Introduction; Caml Tutorial   slides   code
2. Functional programming; Syntax; Interpreters   slides   code
3. Small-step interpreter, semantics via translation, state-passing, introduction to lambda-calculus   slides   code
4. Untyped lambda-calculus; Formal operational semantics   slides
5. Continuations; Types   slides
6. Types, Types, More Types   slides
7. Subtyping, Type Variables   slides
8. Wrap-up Types; Start Concurrency   slides
9. Finish Concurrency; Start OOP   slides
10. Finish OOP; Memory Management   slides

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.

Interesting/Relevant Papers