Pattern programming approach for teaching parallel and distributed computing

  • Authors:
  • Barry Wilkinson;Jeremy Villalobos;Clayton Ferner

  • Affiliations:
  • University of North Carolina Charlotte, Charlotte, NC, USA;Formerly of University of North Carolina Charlotte, Charlotte, NC, USA;University of North Carolina Wilmington, Wilmington, NC, USA

  • Venue:
  • Proceeding of the 44th ACM technical symposium on Computer science education
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we describe an approach for teaching parallel and distributed computing at the undergraduate level using computational patterns. The goal is to promote higher-level structured design for parallel programming and make parallel programming easier and more scalable. A pattern programming framework has been developed to create a distributed application that avoids the need to write code in low level message--passing APIs such as MPI. Several patterns have been implemented including workpool, pipeline, synchronous and iterative all-to-all, and stencil. We have redesigned a regular senior undergraduate parallel programming course to begin with a pattern strategy using our framework and provide a detailed syllabus around patterns.