Short modules for introducing parallel concepts

Presented by David Bunde.
Tutorial at CCSC-MW 2013.


One of the current big challenges in CS education is how to incorporate parallel programming to prepare our graduates for a world in which essentially all computers have multiple cores. The recent model Computer Science Curricula 2013 (CS2013) is spurring many into action, but there are still many questions about what to teach and how to add parallelism to already-full courses. This tutorial presents three modules the presenter and others have used in actual classes as brief introductions to parallel concepts as part of an ``early and often'' approach to incorporating parallelism throughout the curriculum. Each module is built around a different parallel language that highlights a different aspect of parallel programming. Despite this, each requires only a couple of days of class time and fits within a standard course. All of them include associated assignments and/or laboratory exercises for students.

The modules: