[concurrency-interest] Sophomoric Introduction to Parallelism and Concurrency

Dan Grossman djg at cs.washington.edu
Sun Aug 8 19:16:07 EDT 2010

Several months ago I posted a couple questions about using JSR166 with
students being exposed to threads, parallelism, and concurrency for
the first time.  Thanks again for all the help.  I wanted to "give
back" by advertising what I did and the materials I have put together
that I hope other educators (or students) can use.

Short version: Check out


I would be grateful for your constructive feedback as well as
suggestions for other places to discuss/advertise this approach.

Slightly longer version:

As part of a major curriculum revision at the University Washington,
our required sophomore-level core data structures course now includes,
among many other more traditional topics, an introduction to threads,
parallelism, concurrency, and synchronization.  As the first
instructor, I "stood on the shoulders of giants" to distill what I
believed were the essential concepts into a format suitable for
students with modest experience with sequential programming in Java.
Finding no appropriate textbook, I developed my own materials,
including 60 pages of written explanation (something between lecture
notes and a first draft of something textbook-like), lecture slides,
homeworks, and a programming project.  I would love for others not to
have to re-invent these wheels.

A large part of this 3-week unit relies on the ForkJoin framework
(though porting to similar frameworks in other languages would be
simple).  I wrote my own notes for using the framework because I
believed the (otherwise high-quality) documentation for JSR166 would
not be a good match for classroom use.

Overall, I was very pleased with the entire experience -- and so were
the students.


More information about the Concurrency-interest mailing list