Version 1 Released Dec 27, 2012 - download pdf.
Preliminary Version Released Dec 23, 2010 - download pdf.
Abstract:
This report is a revised version of our preliminary report that was released in Dec 2010. The report contains the core topics in parallel and distributed computing (PDC) that a student graduating with a Bachelor’s degree in Computer Science or Computer Engineering is expected to have covered. The topics are organized into four areas of architecture, programming, algorithms, and cross-cutting and advanced topics. Additional elective topics are expected. This report is expected to engage the various stakeholders for their adoption and others usage as well as their feedback to periodically update the proposed curriculum. This document contains an introductory write up on curriculum’s need and rationale, followed by the proposed topics, with specified Bloom level of coverage, learning outcomes, and suggested number of hours and relevant courses, and additional material in the appendices on suggestions on how to teach individual topics, a cross-reference matrix on core courses vs. topics, and a sample elective course. The revision has updated all the sections, with a new section on rationale for cross cutting topics, reorganization of the programming topics, and updates to several learning outcomes, expected number of hours, and the appendix on how to teach. The scribes of the revised version were Anshul Gupta, Krishna Kant (co-coordinator: crosscutting topics), Andrew Lumsdaine (co-coordinator: crosscutting topics), David Padua (co-coordinator: programming), Sushil Prasad, Yves Robert, Arnold Rosenberg (coordinator: algorithms), Alan Sussman (co-coordinator: programming) and Chip Weems (coordinator: architecture).
Since the release of the preliminary version, we have selected about 80 early adopters from U.S. and from across the world in order to get its evaluation and to obtain templates on how these topics can be adopted in various courses across the curriculum. The early adopters have been awarded stipends, equipment, and travel support through four rounds of competitions (Spring and Fall of 2011 and 2012) with support from NSF, Intel, and nVIDIA. Additional competitions are planned for Fall 2013 and Fall 2014 with proposal deadlines in preceding June. These early adopters and the community meet annually at EduPar workshop held at IPDPS conference to provide feedback and discuss state of art in PDC education. In Fall 2012, NSF supported creating a Center for Parallel and Distributed Computing Curriculum Development and Educational Resources (CDER) for long-term sustenance of this initiative. CEDR center will coordinate the ongoing activities including periodic curricular updates as well as become a hub for collection and creation of educational resources and will facilitate access to hardware and software resources for instruction.
1A preliminary version was released in Dec 2010. Contact: Sushil Prasad (sprasad@gsu.edu)
1. Introduction
2. Why a Parallel and Distributed Computing Curriculum?
2.1 A short history of computing
2.2 What should every (computer science/engineering) student know about computing?
4. Rationale for Architecture Topics
5. Rationale for Programming Topics
6. Rationale for Algorithms Topics
7. Rationale for Cross-Cutting and Advanced Topics
8.1 Notations
8.4 Algorithm Topics
8.5 Cross Cutting and Advanced Topics
9. Appendix I: Cross Reference Matrix – Core Courses vs. Topics
10. Appendix II: Suggestions on how to teach topics
10.1 Architecture
10.2 Programming
10.3 Algorithms
10.4 Crosscutting
11. Appendix III: Sample Elective Course: Introduction to Parallel and Distributed Computing