Instructor: Doug Lea
Class: T-Th 8:00
Office/Lab hours. Normally every day 11-12
Prereqs: CSC241 (365 strongly encouraged) and CSC322 (or 222)


The design, implementation, and analysis of concurrent algorithms, protocols, data structures, software components, and systems, on computer architectures supporting parallelism and synchronization.



Upon completion of this course, students will demonstrate ability to:


The course does not follow these books in sequence, but they provide additional background and coverage that will be assigned as needed.


Subject to minor change:
Two exams (one during final exam week) (35%)
Exam questions cover the design and theory of operation of concurrent components and algorithms, as well as analysis in terms of safety, liveness, efficiency, and appropriateness for a given problem.
3-4 programming assignments (if 3, the third has multiple parts) (65%)
Projects entail specialized versions of covered techniques and components in support of concurrent applications. At least one project entails systematic performance evaluation, and at least one requires modeling a concurrent system. 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. Assignment 3B

Campus references

See the CS and College course policies and resources.

If you have a disabling condition, which may interfere with your ability to successfully complete this course, please contact the Office of Disability Services.

SUNY Oswego is committed to Intellectual Integrity. Any form of intellectual dishonesty is a serious concern and therefore prohibited. The full policy can be found at

Doug Lea