B649 Concurrent Languages for System Design
Spring 2004
MW 2:30pm-3:45pm LH 019
(Preliminary - Subject to change)

Basic Information

Instructor Geoffrey Brown
Office LH330B
Email geobrown@cs.indiana.edu
Telephone 855-4207
Office Hours By appointment (feel free to drop by)

oncourse

In general, all course information will be available at http://oncourse.iu.edu.

Description

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.

Required Textbook

None

Lectures (Subject to Change - some thinning is required)

Introduction/Newsqueak       4
Limbo/Inferno       4
CSP       6
Spin       6
Transputer/Occam       2
Handel-C/Hardware       4
Click Router       2
Webservices       2
      30
Midterm In class - Tentatively Wednesday March 3

Homework and Programming Assignments

There will be 8-10 Homeworks/Programming Exercises along with weekly readings.

Project

Each student is expected to develop an independent project which can be theory, implementation, or application related to the topic of this course. We will have 15 minute presentations during the final course week.

Grading

Grading will be done on an absolute scale. In the event of an unexpectedly difficult exam or assignment, some extra points may be assigned to that score. It is expected that the following breakdown will apply to grades:
Homeworks 20%
Project 50%
Midterm 15%
Final 15%



File translated from TEX by TTH, version 3.40.
On 7 Jan 2004, 16:22.