CSC375

Instructor: Doug Lea
Class: T-Th 8:00
Office/Lab hours: XXXX (TBA)

Overview

Parallel computing was once confined to the use of specially crafted parallel computers. However, increasingly, the two essential ingredients of parallelism -- concurrency (programming constructs that deal with logically parallel avtivities) and distribution (communication across physically separate computers) -- are available just about everywhere. This course will mainly focus on concepts, theory, design, and implementation of concurrent and distributed software that can be employed across a variety of platforms (in particular, using Java). However, we will also discuss some classic parallel algorithms that apply only to special parallel computers.

See also the CS and College course policies and resources.

Textbooks

Requirements

Subject to minor change:
Two exams (40%)
The second one during finals period
Class participation (20%)
Especially during the first half of the course, we will do many in-class programming exercises, with students showing sample solutions and discussing alternatives.
4 programming assignments (40%)
Programs may not be submitted unless they successfully run according to specification. You must demo your program to me within 2 days of submitting it. Five percent credit is taken off per day late.
  1. Assignment 1
  2. Assignment 2
  3. Assignment 3/4

Useful Links


Doug Lea