CSC375

Instructor: Doug Lea
Class: T-Th 9:35
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

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