Integrating Parallel and Distributed Computing in Early Computing Classes
Integrating Parallel and Distributed Computing in Early Computing Classes
复制标题
在早期计算课程中集成并行和分布式计算
DOI:
10.1145/3545947.3569623
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Prasad, Sushil
中科院分区:
文献类型:
--
作者:
Ghafoor, Sheikh;Weems, Charles;Sussman, Alan;Vaidyanathan, Ramachandran;Prasad, Sushil
Parallel and distributed computing (PDC) has become pervasive in all aspects of computing, and thus it is essential that students include parallelism and distribution in the computational thinking that they apply to problem solving, from the very beginning. Computer science education is still teaching to a 20th century model of algorithmic problem solving. Sequence, branch, and loop are taught in our early courses as the only organizing principles needed for algorithms, and we invest considerable time in showing how best to sequentially process large volumes of data. All computing devices that students use currently have multiple cores as well as a GPU in many cases. Most of their favorite applications use multiple cores and numbers of distributed processors. Often concurrency offers simpler solutions than sequential approaches. Industry is desperate for software engineers who think naturally in terms of exploiting these capabilities, rather than seeing them as an exotic upper-level topic that gets layered over a sequential solution. However, we are still teaching students to solve problems using sequential thinking. In this workshop we overview key PDC concepts and provide examples of how they may naturally be incorporated in early computing classes. We will introduce plugged and unplugged curriculum modules that have been successfully integrated in existing computing classes at multiple institutions. We will highlight the upcoming summer training workshop, for which we have funding to support attendance, as well as other CDER (Center for Parallel and Distributed Computing Curriculum Development and Educational Resources) activities.