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概念和编程工具的实践培训研讨会。研讨会参与者将是CS1, CS2或CS/CE和其他STEM学科的同等课程的讲师。该项目将遵循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)
会议论文
海外基金