CSE505, Fall 2009 (original) (raw)

CSE 505: Concepts of Programming Languages

Course Information

Syllabus
Challenge-Problem Policy
Instructor: Dan Grossman, djg followed by @ and then cs.washington.edu, Allen Center 556
Office hours: Wednesdays 1:30-2:30 and by appointment and just come by
TA: Salvatore Guarnieri sammyg followed by @ and then cs.washington.edu, Allen Center 315
Office hours: Mondays 2:00-3:00 and by appointment and just come by

Homework

  1. Homework 1, due October 16 <hw1.pdf> <hw1.tar>
  2. Homework 2, due October 30 <hw2.pdf> <hw2.tar>
  3. Homework 3, due November 18 <hw3.pdf> <hw3.tar>
  4. Homework 4, due December 2 <hw4.pdf> hw4.tar
  5. Homework 5, due December 11 <hw5.pdf> <hw5.tar>

Exams

Midterm: November 5, in classunsolved solved
Sample midterms: 2008 unsolved solved 2007 unsolved solved 2006 unsolved solved 2005 unsolved solved

Final: Monday December 14, 10:30-12:20unsolved solved
Sample finals: 2008 unsolved solved 2007 unsolved solved 2006 unsolved solved 2005 unsolved solved

Class Materials

  1. 1. Oct 1: Course Introduction and Caml Tutorial
  2. 2. Oct 6: Caml Tutorial and Abstract Syntax
  3. 3. Oct 8: Operational Semantics
  4. 4. Oct 13: Proofs; Pseudo-Denotational Semantics proofs code
  5. 5. Oct 15: Little Trusted Languages; Equivalence proofs
  6. 6. Oct 19: Lambda Calculus
  7. 7. Oct 21: Reduction Strategies; Substitution; Simply Typed Lambda Calculus
  8. 8. Oct 26: Type-Safety Proof; Start Extensions to STLC type-safety proof
  9. 9. Oct 28: More STLC Extensions and Related Topics
  10. 10. Nov 3: Extensions Wrap-Up; Curry-Howard Isomorphism; Evaluation Contexts and Continuations
  11. X. Nov 5: Midterm
  12. 11. Nov 10: Lambda Interpeters; Polymorphism; Subtyping code
  13. 12. Nov 12: More Subtyping; Parametric Polymorphism
  14. 13. Nov 17: More Parametric Polymorphism; Recursive and Existential Types code
  15. 14. Nov 19: Effect Systems; Concurrency; Shared Memory code
  16. 15. Nov 24: Concurrency and Message-Passing <lec15.ml> <lec15.mli>
  17. 16. Dec 1: Object-Oriented Programming
  18. 17. Dec 3: Advanced Concepts in OOP
  19. 18. Dec 8: Bounded Polymorphism and Classless OOP
  20. 19. Dec 10: Course Summary and Wrap-Up

Caml Information

  1. Caml home page
  2. The manual
  3. The O'Reilly book (free)
  4. Another free (for now) book
  5. Running Caml locally
  6. Emacs mode: <caml%5Femacs.tgz> contains exactly the code Dan uses. The Web may have more recent stuff.

Preliminaries

  1. Course email list
  2. Homework 0, "due" October 5, worth 0 points

Valid CSS! Valid XHTML 1.1