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