"Strategies, tools, and materials for teaching Parallel and Distributed Computing"

David P. Bunde, Erik Saule, and KR Subramanian

This page has the materials for our tutorial at IPDPS 2026 on Monday 5/25 in Balcony I.

Abstract

Virtually all the devices that students will program are fundamentally concurrent and parallel systems. This can no longer be ignored as most modern programming models expose concurrency and/or parallelism to the developer. However, teaching parallel and distributed computing (PDC) in the traditional way remains difficult because it requires deep understanding of programming, systems, and algorithms; and so it is often relegated to upper-division electives. This tutorial will enable the attendees to present parallel computing concepts at different technical levels so that they can be taught at different points in the curriculum, from early classes to technical electives. This tutorial will teach engaging pedagogical practices.

This tutorial is intended for all who engage with students. It is in particular helpful to graduate students who intend to apply for faculty positions and early-career faculty who want new ways to teach PDC in all their courses.

Schedule

1:30-1:40   Introductions
1:40-2:15Flag maker unplugged activity (slides: pdf, pptx)
2:15-2:40Course design (slides)
2:40-3:00CS1/CS2 exemplars (slides: pdf, pptx)
3:00-3:30Coffee break
3:30-3:55Assignment design and BRIDGES (slides)
3:55-4:15Peachy assignments (slides: pdf, pptx)
4:15-4:40Time to plan/prepare a new assignment
4:40-5:00Discussion

Other resources