Syllabus
Challenge-Problem Policy
Instructor: Dan Grossman,
,
Allen Center 556
Office hours: Tuesday 2-3 + by appointment
TA: Matthew Kehrt,
,
Office hours: Monday 12-1 + by appointment
Homework 1, due 15 October
hw1.pdf
hw1.tar
Homework 2, due 29 October
hw2.pdf
hw2.tar
Homework 3, due 13 November
hw3.pdf
hw3.tar
Homework 4, due 27 November
hw4.pdf
hw4.tar
Homework 5, due 7 December
hw5.pdf
hw5.tar
Our final:
unsolved
solved
Sample finals:
Fall 06 unsolved
Fall 06 solved
Fall 05 unsolved
Fall 05 solved
Our midterm:
unsolved
solved
Sample midterms:
Fall 06 unsolved
Fall 06 solved
Fall 05 unsolved
Fall 05 solved
1. Sep 27: Course Intro
and Caml Tutorial
2. Oct 2: Caml Tutorial and Abstract Syntax
3. Oct 4: Operational Semantics for IMP
4. Oct 9: Proofs; IMP
Pseudo-Denotational Semantics
proofs from class
code
5. Oct 11: Little Trusted Languages; Equivalence
full proofs
6. Oct 16: Lambda Calculus
7. Oct 18: Substitution; Simply Typed Lambda Calculus
8. Oct 23: Typed Lambda Calculus and Simple
Extensions
type-safety proof
9. Oct 26 or 29: More STLC extensions and related topics
10. Oct 30: Curry-Howard; Evaluation Contexts;
Abstract Machines code
X. Nov 1: Midterm
11. Nov 6: Introduction to polymorphism; Subtyping
12. Nov 8: Universally quantified types (parametric polymorphism)
13. Nov 13: Recursive types; Abstract types
code
14. Nov 15: Concurrency and Shared Memory
code
15. Nov 20: Concurrency and Message Passing
code
X. Nov 22: Thanksgiving
16. Nov 27: Class-Based OOP
17. Nov 29: Advanced Concepts in OOP
18. Dec 4: Bounded Polymorphism and Classless OOP
19. Dec 6: Summary and "Everything Else"
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.
Join the course mailing list
Homework 0, "due" October 2, worth 0 points