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
- Homework 1, due October 16 <hw1.pdf> <hw1.tar>
- Homework 2, due October 30 <hw2.pdf> <hw2.tar>
- Homework 3, due November 18 <hw3.pdf> <hw3.tar>
- Homework 4, due December 2 <hw4.pdf> hw4.tar
- 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. Oct 1: Course Introduction and Caml Tutorial
- 2. Oct 6: Caml Tutorial and Abstract Syntax
- 3. Oct 8: Operational Semantics
- 4. Oct 13: Proofs; Pseudo-Denotational Semantics proofs code
- 5. Oct 15: Little Trusted Languages; Equivalence proofs
- 6. Oct 19: Lambda Calculus
- 7. Oct 21: Reduction Strategies; Substitution; Simply Typed Lambda Calculus
- 8. Oct 26: Type-Safety Proof; Start Extensions to STLC type-safety proof
- 9. Oct 28: More STLC Extensions and Related Topics
- 10. Nov 3: Extensions Wrap-Up; Curry-Howard Isomorphism; Evaluation Contexts and Continuations
- X. Nov 5: Midterm
- 11. Nov 10: Lambda Interpeters; Polymorphism; Subtyping code
- 12. Nov 12: More Subtyping; Parametric Polymorphism
- 13. Nov 17: More Parametric Polymorphism; Recursive and Existential Types code
- 14. Nov 19: Effect Systems; Concurrency; Shared Memory code
- 15. Nov 24: Concurrency and Message-Passing <lec15.ml> <lec15.mli>
- 16. Dec 1: Object-Oriented Programming
- 17. Dec 3: Advanced Concepts in OOP
- 18. Dec 8: Bounded Polymorphism and Classless OOP
- 19. Dec 10: Course Summary and Wrap-Up
Caml Information
- Caml home page
- The manual
- The O'Reilly book (free)
- Another free (for now) book
- Running Caml locally
- Emacs mode: <caml%5Femacs.tgz> contains exactly the code Dan uses. The Web may have more recent stuff.
Preliminaries
- Course email list
- Homework 0, "due" October 5, worth 0 points