A study by the U.S. Council of Competitiveness reports that 97% of U.S. businesses rely on the innovative use of high-performance parallel computing (HPC) to maintain their competitive advantage in the global economy. Furthermore, the ubiquity of multi- and many-core processors in modern computing devices, ranging from the small (embedded devices and cell phones) to the medium (laptops and desktops) to the large (data centers and supercomputers), requires that computing educators properly prepare the next generation of computer scientists to reason about problem solving in a parallel way. Unfortunately, companies lament the dearth of a trained workforce that is familiar with parallel computing concepts, thus exacerbating the problem of the technological change and globalization that is potentially leaving the U.S. behind in the world economy. To address this shortcoming, this project extends and transforms the investigators’ existing computer science (CS) curriculum to democratize the teaching of parallel computing concepts by leveraging Scratch, an educational programming language shown to be highly effective in teaching computing to children but lacking in explicit parallel programming constructs. Providing a rich visual environment, Scratch enables students to create sophisticated programs just by dragging predefined components into a visual editor. This project enhances Scratch with abstractions for explicit parallel processing with a prototype for evaluation and deployment to ensure broad applicability, facilitate adoption, and assure educational effectiveness. Enhancing Scratch with such parallel programming abstractions enriches the computer science curriculum, without imposing the cognitive overhead and overload typically associated with teaching parallel computing. This project engenders a unique cross-disciplinary collaboration between the fields of parallel computing, software engineering, and education.
Broader Significance: This project aims at democratizing the teaching of parallel computing concepts, thus molding the minds of the next generation of computer scientists to effectively realize solutions that take advantage of explicit parallel processing. This educational intervention has the potential to bridge the technological gap that is leaving the U.S. behind in the world economy. The project directly impacts students from middle school to college and even professionals seeking re-training. Students involved in this research receive training in parallel computing, software engineering, and education. Outreach to underrepresented groups includes the continuation of the PIs’s efforts in recruiting and retaining female and underrepresented minority students in research and education under the auspices of this project.