Introducing parallelism and concurrency in the data structures course

  • Authors:
  • Dan Grossman;Ruth E. Anderson

  • Affiliations:
  • University of Washington, Seattle, WA, USA;University of Washington, Seattle, WA, USA

  • Venue:
  • Proceedings of the 43rd ACM technical symposium on Computer Science Education
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We report on our experience integrating a three-week introduction to multithreading in a required data structures course for second-year computer science majors. We emphasize a distinction between parallelism and concurrency that teaches students to use extra processors effectively and enforce mutual exclusion correctly. The material fits naturally in the data structures course by having the same mix of algorithms, programming, and asymptotic analysis as the conventional, single-threaded part of the course. Our department has used this unit for 1.5 years and will do so indefinitely. We report feedback from students, multiple instructors for the course, and students in a later course that uses threads. We developed a full set of course materials that have been adapted for use by instructors in various courses at five other institutions so far.