Prof. Allen B. Downey
Spring 2005

Synchronization is an intermediate class at Olin College that covers techniques for coordinating concurrent threads. At least the first half of the class will focus on a series of synchronization puzzles for which students will write solutions. We may also write concurrent programs that implement these solutions.

Initially, we will focus on semaphores, a software tool used to control interactions among threads that access shared data structures. As a simple example, semaphores can enforce mutual exclusion, which means that only one thread can access the data at a time.

We will discuss and solve a range of classical synchronization problems, and some not-so-classical problems, like the Baboon Crossing and the Unisex Bathroom. In addition, students will be asked to invent new problems.

This is a 2-unit class, so the workload is expected to be six hours per week, including class time. The prerequisite for the class is Software Design or intermediate programming skill.

Class meetings: Monday and Thursday, 1:00 to 1:50 pm.

For more information, contact