Instructor: Doug Lea
Class: T-Th 8:00
Office/Lab hours: XXXX (TBA)
Parallel computing was once confined to the use of specially crafted
parallel computers. However, increasingly, the two essential
ingredients of parallelism -- programming constructs that deal with
logically parallel activities, and 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.
- Herlihy, Maurice and Nir Shavit, The Art of Multiprocessor
Programming, Morgan Kaufmann 2008. ISBN-13: 978-0123705914.
book companion site.
- Goetz, Brian, et al. Java Concurrency in Practice.,
Addison-Wesley 2006. ISBN-13: 978-0321349606.
See also Book supplement site.
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
- 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.
- Assignment 1
- Assignment 2
- Assignment 3
- Assignment 4