The objective of this collaborative project is to: (1) assess and identify programming languages suitable for teaching parallel programming to all students; (2) develop and collect learning resources that will help others learn and teach these languages at the undergraduate level; (3) identify compelling examples of applications to excite and grow student interest in parallel programming; and (4) present findings and prepare adaptable and reproducible materials through publications, conference presentations, and tutorials.
This project addresses the need to transform undergraduate education in computer science in response to a major shift in computer hardware to focus on the multicore processor and parallel programming. The project assesses the applicability of high-level languages and creates both classroom and laboratory materials to teach these languages in an undergraduate setting.
The project has a potential to transform undergraduate computer science education of the next generation of parallel programmers and multicore developers. The project contributes resources to the NSDL library to encourage other educators to integrate parallel programming and higher-level languages into the undergraduate curriculum at their institutions.