Injecting parallel computing into CS2

  • Authors:
  • Joel C. Adams

  • Affiliations:
  • Calvin College, Grand Rapids, MI, USA

  • Venue:
  • Proceedings of the 45th ACM technical symposium on Computer science education
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

In today's multicore world, every CS student should learn about and gain experience with (at least) shared-memory parallelism. CS Curriculum 2013 acknowledges this by shifting parallel computing from elective status into the core. This paper argues that students should be introduced to parallelism early, that the CS2 (Data Structures) course is a natural place to do so, and reports our experience in doing this. The paper also argues that students should be taught to solve problems using parallel patterns, which are industry-standard best-practice strategies for parallel problem solving. To support such teaching, the paper presents patternlets -- minimalist, scalable, executable programs, each illustrating the behavior of a parallel pattern -- as a useful pedagogical tool for teaching parallel concepts. Several patternlets and their executions are given. The paper presents evidence that this injection of parallelism into CS2 has been successful.