CSE P505: Programming Languages

Spring 2006

Course Information

Syllabus
Extra-Credit Policy
Anonymous Feedback
Meetings: Tuesdays 6:30-9:20PM, Allen Center Room 305 and Microsoft Building 113, Room 1159

Class Materials

  1. Mar 28: Course introduction; Caml; Functional programming  ppt slides  Code:   tar file   zip file
  2. Apr 4: Functional programming, syntax, semantics via interpretation or translation  ppt slides  Code:   tar file
  3. Apr 11: Semantics via translation, equivalence & properties, lambda introduction  ppt slides  Code:   tar file
  4. Apr 18: Untyped lambda-calculus, inference rules, environments  ppt slides  Code:   Caml file  imp.pdf
  5. Apr 25: Continuations, types  ppt slides  Code:   Caml file
  6. May 2: Types, subtyping  ppt slides
  7. May 9: Coercions, type variables  ppt slides  Code:   Caml file
  8. May 16: Types wrap-up; Object-oriented programming  ppt slides
  9. May 23: Fancier OOP; Concurrency  ppt slides  Code:   Caml file
  10. May 30: Atomicity; Memory Management  ppt slides
Lecture Slides and Audio/Video Archives

Homework

  1. Assignment 1: assignment pdf, source files in tar-file, zip-file.
  2. Assignment 2: assignment pdf,   logo.pdf   imp.ml   logo.ml.
  3. Assignment 3: assignment pdf,   hw3.ml.
  4. Assignment 4: assignment pdf, lang.pdf, source files in tar-file, zip-file.
  5. Assignment 5: assignment pdf,   source files in tar-file, zip-file.

Exam Information

Our final: without solutions   with solutions
Sample problems: without solutions   with solutions

Interesting/Relevant Papers

Caml Information

Caml home page
The manual: at OCaml website, local copy of previous version
The O'Reilly book (free!)
Running Caml locally and using the Seminal version
Emacs mode: caml_emacs.tar.gz contains exactly the code Dan uses. The Web may have more recent stuff.

Staff

Instructor: Dan Grossman, , Allen Center Room 556
    (careful: the userid grossman belongs to a different person)
TA: Ben Lerner, (first initial + last name) {at} cs.washington.edu

Preliminaries

Join the course mailing list
Homework 0 "due" March 31, worth zero points