Integrating Parallel and Distributed Computing in Early CS Courses
Integrating Parallel and Distributed Computing in Early CS Courses
复制标题
在早期计算机科学课程中集成并行和分布式计算
DOI:
10.1145/3478432.3499155
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Weems, Charles
中科院分区:
文献类型:
--
作者:
Ghafoor, Sheikh;Prasad, Sushil;Weems, Charles
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 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. ACM and ABET have recommended including PDC in the undergraduate CS curriculum. However, we are still teaching them to solve problems using sequential thinking. In this workshop we overview the key PDC concepts and provide examples of how they may naturally be incorporated in early CS classes. We will introduce plugged and unplugged curriculum modules that have been successfully integrated in existing CS classes at multiple institutions. We will highlight the upcoming summer training that we are organizing, for which we have funding to support attendance.