% Engr 664: Theory of Concurrent Programming \
  Course Development  
% [H. Conrad Cunningham, D.Sc.](/~hcc/HOME_hcc.html) \
  [Department of Computer and Information Science](http://www.cs.olemiss.edu) \
  [The University of Mississippi](http://www.olemiss.edu)  
% 22 August 2016 

# 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.


