Patterns and Exemplars: Compelling Strategies for Teaching Parallel and Distributed Computing to CS Undergraduates

Joel C. Adams, Richard A. Brown, Elizabeth Shoop · 2013

Parallel programming patterns provide enduring principles that serve as a conceptual framework to orient students when they set out to solve problems. Learning patterns enables students to quickly gain the intellectual and coding skills they will need to embrace the future of parallel and distributed computing (PDC). Exemplars consisting of representative and compelling applied problems, together with implementations in different parallel technologies, constitute a valuable resource for learning and teaching. Parallel programming patterns and exemplar applications naturally complement each other, and together provide a unified and practical strategy for PDC education at multiple course levels. We present two strategies we have used for incorporating patterns into undergraduate CS courses, examine the potential of exemplars, and indicate how patterns and exemplars reinforce each other.

Read the paper · More papers on PaperTik