Parallel Computing in the Computer Science Curriculum

Welcome to CSinParallel

About CSinParallel

The shift to parallel computing---including multi-core computer architectures, cloud distributed computing, and general-purpose GPU programming---leads to fundamental changes in the design of software and systems. As a result, computer science (CS) students now need to learn parallel computing techniques that allow software to take advantage of the shift toward parallelism. To this end, CSinParallel (supported by a grant from NSF-CCLI) provides a resource for CS educators to find, share, and discuss modular teaching materials and computational platform supports.
CSinParallel modules provide conceptual principles of parallelism and (where appropriate) hands-on practice with parallel computing, in self-contained 1- to 3-day units that can be inserted in various CS courses in multiple curricular contexts. These modules offer an incremental approach to getting CS undergraduates the exposure to parallelism they will need as they begin their careers.

What We Provide

Here, one can find information and materials for integrating parallel computing in their computer science courses, including:

Latest News

We have released the WebMapReduce (WMR) software package on sourceforge, which provides a web interface to Hadoop map-reduce computing that is simple enough for CS1 students to use yet powerful enough for data-intensive computing projects. See WebMapReduce PPP page for teaching modules that use WMR.

Acknowledgments

This material is based on work supported by the National Science Foundation under Grant Nos. DUE-0941962 and 0942190. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.



      Next Page »