NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for Undergraduates (Version 2.0-beta)

- Version 2.0-beta Released Nov 12, 2020 - download pdf. (Total number of downloads: 97)

- Version 1 Released Dec 27, 2012 - download pdf. (1,718 downloads since Jan, 2017)

- Preliminary Version Released Dec 23, 2010 - download pdf.

NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for Undergraduates (Version 2.0-beta)1,2

Curriculum Working Group: Prasad, Sushil K. (Coordinator; University of Texas at San Antonio),
Estrada, Trilce (Big Data Aspect Lead; University of New Mexico),
Ghafoor, Sheikh (Cross-cutting Aspect Lead; Tennessee Tech),
Gupta, Anshul (Algorithms Area Lead; IBM T. J. Watson Research Center),
Kant, Krishna (Energy Aspect Co-lead; Temple University),
Stunkel, Craig (Energy Aspect Co-lead;  IBM T. J. Watson Research Center),
Sussman, Alan (Programing Area Lead; University of Maryland, NSF),
Vaidyanathan, Ramachandran (Distributed Aspect Lead; Louisiana State University),
Weems, Charles (Architecture Area Lead; University of Massachusetts),
Agrawal, Kunal (Washington University, St. Louis),
Barnas, Martina (Indiana University, Bloomington),
Brown, David W. (Elmhurst University),
Bryant, Randy (Carnegie Mellon University),
Bunde, David P. (Knox College),
Busch, Costas (Louisiana State University),
Deb, Debzani (Winston-Salem State University),
Freudenthal, Eric (University of Texas, El Paso),
Jaja, Joseph, (University of Maryland),
Parashar, Manish (Rutgers University, NSF),
Phillips, Cynthia (Sandia National Laboratory),
Robey, Bob (Los Alamos National Lab),
Rosenberg, Arnold ( Northeastern University),
Saule, Erik (University of North Carolina, Charlotte),
Shen, Chi (Kentucky State University),


In this era of big data, cloud, and multi- and many-cores, the computer science (CS) and computer engineering (CE) graduates must have basic skills in parallel and distributed computing (PDC). This curriculum guideline includes a core set of PDC topics that a student graduating with a Bachelor’s degree in CS or CE would be well-served to have covered through required courses and is intended for use by instructors and their students, employers, authors and publishers, curriculum committees, professional societies and other stakeholders. It also contains additional topics suitable for incorporation into advanced or elective courses. The topics are primarily organized into the areas of architecture, programming, and algorithms topics. A set of pervasive concepts that percolate across area boundaries are also identified, and most core topics in the three areas support building students’ knowledge and comprehension of the pervasive concepts and their various manifestations. Version 1 of this curriculum was released in December 2012. That curriculum guideline has over 100 early adopter institutions worldwide and informed the 2013 ACM/IEEE Computer Science curricula. This report is a major revision of those guidelines. The updates have focused on enhancing coverage related to the topical aspects of Big Data, Energy, and Distributed Computing. Topics from these aspects have been integrated into the three area tables and a fourth table for emerging topics, a few previous topics have been eliminated, and the four tables have been reorganized. This report contains an introductory write up on curriculum’s need and rationale, background, companion, and future activities, followed by the proposed topics, each with an expected Bloom level of coverage and learning outcomes for core courses and where appropriate a Bloom level and learning outcomes for advanced courses, and suggestions for relevant courses. A companion activity has begun to collect and create exemplars for topics and courses to aid instructors, which will enrich the material going forward and will be cross-referenced against the topics. This report is expected to engage various stakeholders for their feedback and adoption, and for participation in ongoing activities.

Table of Contents

1. Introduction

1.1 Motivation
1.2 Our Vision and Intended Use
1.3 The Curriculum and its Update

2. Background and Activities

2.1 Version 1 of the NSF/TCPP Curriculum and Impact
2.2 Impact of the Curriculum
2.3 Companion Curriculum Activities

3. How to use these Guidelines

3.1 Notations and Conventions

4. Pervasive PDC Concepts

Table 1: Pervasive Concepts

5. Architecture Topics

5.1 Rational
5.2 Updates from version 1.0
Table 2: Architecture Topics

6. Programming Topics

6.1 Rationale
6.2 Updates from version 1.0
Table 3: Programming Topics

7. Algorithms Topics

7.1 Rationale
7.2 Updates from version 1.0
Table 4: Algorithms Topics

8. Emerging Topics

Table 5: Emerging Topics

1 Version 1 was released in Dec 2012 (http://tcpp.cs.gsu.edu/curriculum/?q=system/files/NSF-TCPP-curriculum-version1.pdf). This is a draft for community input in preparation for the release of Version 2. Contact: Sushil K. Prasad, sushil.prasad@gmail.com
2 How to cite this report: Prasad, S. K., Estrada, T., Ghafoor, S., Gupta, A., Kant, K., Stunkel, C., Sussman, A., Vaidyanathan, R., Weems, C., Agrawal, K., Barnas, M., Brown, D. W., Bryant, R., Bunde, D. P., Busch, C., Deb, D., Freudenthal, E., Jaja, J., Parashar, M., Phillips, C., Robey, B., Rosenberg, A., Saule, E., Shen, C. 2020. NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for Undergraduates, Version II-beta, Online: http://tcpp.cs.gsu.edu/curriculum/, 53 pages.

†This material is based upon work partially supported by the National Science Foundation under Grants IIS 1143533, CCF 1135124, CCF 1048711 and CNS 0950432.  Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

††This initiative is partially supported by IEEE TCPP, Intel, nVIDIA and IBM.