Integrating Parallel and Distributed Computing in Early Computing Classes

Integrating Parallel and Distributed Computing in Early Computing Classes
复制标题

在早期计算课程中集成并行和分布式计算

DOI:
10.1145/3545947.3569623
复制
发表时间:
2022
期刊:
ACM
影响因子:
--
通讯作者:
Prasad, Sushil
Prasad, Sushil
中科院分区:
--
文献类型:
--
作者:
Ghafoor, Sheikh;Weems, Charles;Sussman, Alan;Vaidyanathan, Ramachandran;Prasad, Sushil

文献摘要

相似文献

并行和分布式计算(PDC)已经渗透到计算的各个方面,因此,从一开始,学生在应用于解决问题的计算思维中就必须包括并行性和分布式。计算机科学教育仍在教授20世纪的算法问题解决模式。在我们的早期课程中,序列、分支和循环是算法所需的唯一组织原则,我们花费了相当多的时间来展示如何最好地按顺序处理大量数据。学生目前使用的所有计算设备都有多核,在许多情况下还有一个GPU。他们最喜欢的应用程序大多使用多核和多个分布式处理器。通常,并发提供的解决方案比顺序方法更简单。业界迫切需要在利用这些功能方面进行自然思考的软件工程师,而不是将它们视为一个层次分明的解决方案的外来高层主题。然而,我们仍在教学生用顺序思维解决问题。在本研讨会中,我们概述了关键的PDC概念,并提供了如何将它们自然地结合到早期计算课程中的示例。我们将引入插拔课程模块,这些模块已经成功地整合到多个机构的现有计算课程中。我们将重点介绍即将到来的暑期培训研讨会,我们有资金支持出席,以及其他CDER(并行和分布式计算课程开发和教育资源中心)活动。
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.