History

Prof. Conrad Cunningham developed this course and taught it using Chandy and Misra's UNITY framework during the fall 1990 and fall 1991 semesters.

For the spring 1993 offering, he developed an alternative version of the course that used the Program Composition Notation (PCN) framework. The spring 1994, 1995, and 1996 offerings of the course followed the PCN design.

Because the no-longer-supported PCN software does not install properly on available systems, Cunningham revised the course for the fall 1997 offering. For the first half the semester, the class looked at concurrent programming from a mostly formal perspective using a textbook by Andrews; for the second half of the semester, the class used a more pragmatic approach focussing on semaphores and monitors in the context of Java threads programming.

For the fall 1999 class Cunningham selected the new Magee and Kramer textbook and its associated Finite State Processes model and tool set. Java will be used for some programming exercises.

For the spring 2005 class Cunningham again adopted the Magee and Kramer textbook.

For the fall 2009 and fall 2016 classes Cunningham adopted the second edition of the Magee and Kramer textbook.