CS 257 Schedule

This schedule will be updated once or twice per week. The web page is generated by a cron job; in case of catastrophic failure, please notify nr@eecs.harvard.edu.

Fri, Sep 22
Course intro
Wed, Sep 27
What state are we in? Discussion on language features, instant messaging
Read:
Fri, Sep 29
What state will we be in soon? Computer architecture and the future of concurrency (lecture, David Brooks)
Read:
Wed, Oct 4
How did we get into the state we are in? The roots of concurrency in the operating system (lecture, Matt Welsh)
Fri, Oct 6
Implementation: concurrency and exceptions as C libraries (discussion)
Read:
Wed, Oct 11
Language design: Synchronous communication (discussion)
Read:
Fri, Oct 13
Applications (discussion)
Read:
Wed, Oct 18
Continue work from previous class
Fri, Oct 20
Recovering abstraction (John Reppy: Concurrent ML)
Read: Useful background reading before class:
Wed, Oct 25
Model checking (Gerard Holzmann: SPIN)
Read:
Fri, Oct 27
Implementation of message passing
Read: Useful background reading before class:
Wed, Nov 1
Implementation
Read:
Fri, Nov 3
Implementation
Read: We'll focus on the foreign-function paper, as the other is of interest primarily to Haskell specialists.

Wed, Nov 8
Atomicity: Machine instructions and memory management
Read: If garbage collection is new to you, check out Paul Wilson's survey article or Richard Jones's book.

Fri, Nov 10
More atomic memory allocation
Read:
Wed, Nov 15
Dynamic race detection
Read:
Fri, Nov 17
Presentation of homework results
Wed, Nov 22
Types for atomicity
Read:
Fri, Nov 24
No class (Thanksgiving)
Wed, Nov 29
Dynamic checking for atomicity
Read:
Fri, Dec 1
Atomicity as a language feature: STM Haskell
Read:
Wed, Dec 6
Transactional monitors
Read:
Fri, Dec 8
Memory models
Read: Useful background reading before class:
Wed, Dec 13
Pi calculus (from Milner, read sections 1,2,3 and section 5 up to and including section 5.2).
Read: Useful background reading before class:
Fri, Dec 15
Asynchronous pi
Read: