Learning to problem-solve algorithmically, with concepts arising from parallelism and distribution, is now essential for student career success. However, there are few examples of how to incorporate training for these skills into early undergraduate classes.
The Center for Parallel and Distributed Computing Curriculum Development and Educational Resources (CDER) is pleased to present the work of educators from a wide variety of teaching contexts who have developed and evaluated courses incorporating parallel and distributed computation as a natural aspect of teaching traditional college computing subjects. These detailed experiential reports serve as guidance for how others can follow in their steps and help shift the underlying paradigm of the computing curriculum into the 21st century. In addition to the material presented here, the authors also have contributed extensive appendices of teaching resources that are available online.
Topics and features:
● Practical models for modernizing early and upper-level computing courses, from CS1/CS2 and data structures to systems, software engineering, GPU computing, cloud computing, and edge computing
● Classroom-tested case studies showing how courses were designed, implemented, assessed, and refined in diverse institutional settings
● Extensive online companion resources, including labs, assignments, projects, code, slides, and assessment materials
● Flexible adoption pathways, supporting both incremental module-level infusion and full-course redesign
● Coverage aligned with contemporary computing practice, including concurrency, asynchrony, accelerators, distributed systems, cloud services, and data-intensive applications
● Application-driven treatment of core PDC ideas, connecting foundational concepts to AI, graphics, scientific computing, software systems, and edge/IoT domains
Learning to problem-solve algorithmically, with concepts arising from parallelism and distribution, is now essential for student career success. However, there are few examples of how to incorporate training for these skills into early undergraduate classes.
The Center for Parallel and Distributed Computing Curriculum Development and Educational Resources (CDER) is pleased to present the work of educators from a wide variety of teaching contexts who have developed and evaluated courses incorporating parallel and distributed computation as a natural aspect of teaching traditional college computing subjects. These detailed experiential reports serve as guidance for how others can follow in their steps and help shift the underlying paradigm of the computing curriculum into the 21st century. In addition to the material presented here, the authors also have contributed extensive appendices of teaching resources that are available online.
Topics and features:
● Practical models for modernizing early and upper-level computing courses, from CS1/CS2 and data structures to systems, software engineering, GPU computing, cloud computing, and edge computing
● Classroom-tested case studies showing how courses were designed, implemented, assessed, and refined in diverse institutional settings
● Extensive online companion resources, including labs, assignments, projects, code, slides, and assessment materials
● Flexible adoption pathways, supporting both incremental module-level infusion and full-course redesign
● Coverage aligned with contemporary computing practice, including concurrency, asynchrony, accelerators, distributed systems, cloud services, and data-intensive applications
● Application-driven treatment of core PDC ideas, connecting foundational concepts to AI, graphics, scientific computing, software systems, and edge/IoT domains
Sushil Prasad
Distributed computing Parallel processing Concurrent processing Multiprocessor Event-based processing