iPDC: Integrating Parallel and Distributed Computing in Introductory Programming
iPDC: Integrating Parallel and Distributed Computing in Introductory Programming
批准号:
1549812
负责人:
Sheikh Ghafoor
金额:
$5.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2015
资助国家:
美国
项目状态:
已结题
起止时间:
2015-09-01 至 2017-08-31
中文摘要
近年来,多核和基于多核的系统的广泛部署改变了计算基础设施的格局。然而,大多数本科计算机科学(CS)和计算机工程(CE)课程继续训练本科生按顺序思考和编程,并没有充分教授并行和分布式计算的概念。新兴的高度并行的计算机体系结构与传统CS/CE本科课程中教授的顺序编程方法之间的差距正在迅速扩大。一些CS/CE程序提供并行计算类作为高级选修课,但很少有程序在入门编程类(CS1和CS2)中引入并行和分布式计算(PDC)。挑战是巨大的。CS1和CS2教师通常没有接受过PDC培训,教师缺乏资源,并且只有几个模板说明如何在已经超负荷的入门课程中注入PDC主题。这个项目的总体目标是根据并行技术的转变,通过提高教师在PDC方面的专业知识,并为他们提供模板和资源,将PDC主题整合到入门编程课程中,为CS/CE本科生未来的职业生涯做好准备。在更广泛的STEM学科中,许多非CS/CE专业的学生也依赖CS1/CS2或同等课程进行计算准备,因此将受到积极影响。此外,所产生的PDC课程单元可用于更广泛的STEM学科的其他计算课程。该项目将为入门编程课程序列举办一次关于PDC概念和编程工具的实践培训讲习班。工作坊的参加者将是CS/CE和其他STEM学科的CS1、CS2或同等课程的讲师。该项目将遵循IEEE并行处理技术委员会(TCPP)为本科生提供的PDC课程指南。适用于CS1和CS2的动手模块将从成功的PDC集成工作中选出(其中一些由NSF资助)。将为教师提供易于集成的模块,包括讲课幻灯片和/或讲义、动手活动,如编程作业,以及带有答案的测验/测试问题。研讨会将遵循积极的学习策略,需要更少的讲座和更多的动手活动。参与者将使用OpenMP、Python和Java线程等并行编程工具编写程序,并按照学生的要求处理PDC模块。研讨会结束后,学员将把这些单元整合到各自机构的CS1和CS2或同等课程中。
英文摘要
The widespread deployments of multicore and manycore based systems in recent years have changed the computing infrastructure landscape. However, most undergraduate computer science (CS) and computer engineering (CE) programs continue to train their undergraduates to think and program sequentially, and do not sufficiently teach parallel and distributed computing concepts. The gap is widening rapidly between the emerging highly parallel computer architectures and the sequential programming approach taught in traditional CS/CE undergraduate curriculums. A few CS/CE programs offer a parallel computing class as an upper division elective, but very few programs introduce Parallel and Distributed Computing (PDC) in the introductory programming classes (CS1 and CS2). The challenges are significant. CS1 and CS2 instructors are typically not trained in PDC, instructors lack resources, and there are only a few templates illustrating how to infuse PDC topics into the already overloaded introductory courses. The overall goal of this project is to prepare CS/CE undergraduate students for their future careers in light of the technological shifts towards parallelism by improving faculty expertise in PDC and providing them templates and resources to integrate PDC topics in introductory programming classes. Many non-CS/CE majors in the broader STEM disciplines also rely on CS1/CS2 or equivalent courses for their computational preparation, and thus will be impacted positively. Moreover, the resulting PDC course modules may be employed in other computational courses of the broader STEM disciplines.The project will conduct a hands-on training workshop on PDC concepts and programming tools for the introductory programming course sequence. The workshop participant pool will be instructors of CS1, CS2 or equivalent courses from CS/CE and other STEM disciplines. The project will follow the PDC curriculum guidelines for undergraduates from IEEE Technical Committee on Parallel Processing (TCPP). Hands-on modules appropriate to CS1 and CS2 will be selected from successful PDC integration efforts (some funded by NSF). The instructors will be provided easy to integrate modules consisting of lecture slides and/or handouts, hands on activities such as programming assignments, and quiz/test questions with answers. The workshop will follow active learning strategies that require less lecture and more hands-on activities. The participants will write programs using parallel programming tools such as OpenMP and Python and Java threads, and work on the PDC modules as their students would be required to do. After the workshop, the participants will integrate those modules into CS1 and CS2 or equivalent classes at their respective institutions.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
海外基金