B649 Concurrent Programming Languages for System Design
(Incorrectly listed as "Programming Paradigms - Parallel Performance")

Geoffrey Brown
Spring 2003
MW 2:30-3:45pm LH019
(Preliminary - Subject to change)
Concurrent programming languages are widely used for system design in applications as diverse as Internet routers, communication protocols, system codesign (the development of software and hardware in parallel), window managers, and custom computing engines.
This course will focus upon concurrent programming languages based upon the "communicating sequential processes" (CSP) model. These languages have a number of desirable properties including a powerful communication model that supports both local and remote communications, implementations in both hardware and software, and rich algebraic properties that enable reasoning about programs and design by refinement.
This course will focus on four aspects of these languages: their various flavors, applications, implementation, and behavioral models (semantics).
The languages to be considered include:
Applications to be discussed include:
The course will consist of lectures based upon readings from the computing literature. Students will be required to develop a project exploring some aspect of the course in greater depth than the lectures.
The course is intended for graduate students with interests in a variety of areas including:
There is no specific prerequisite other than an open mind.


File translated from TEX by TTH, version 3.40.
On 9 Oct 2003, 10:38.