Original Author/link
CS2013 Knowledge Unit Coverage
Parallel Decomposition (Core Tier 1, Core Tier 2)
1. Core Tier 1: Explain why synchronization is necessary in a specific parallel program. [Usage]
2. Core Tier 1: Identify opportunities to partition a serial program into independent parallel modules. [Familiarity]
4. Core Tier 2: Parallelize an algorithm by applying task-based decomposition. [Usage]
Parallel Performance (Elective)
1. Detect and correct a load imbalance. [Usage]
3. Describe how data distribution/layout can affect an algorithm’s communication costs. [Familiarity]
TCPP Topics Coverage
Programming Topics
-
Comprehend Computation (decomposition strategies): Understand different ways to assign computations to threads or processes.
-
Comprehend Load balancing: Understand the effects of load imbalances on performance, and ways to balance load across threads or processes (1 hour).
Recommended Courses
- CS0/CS1/CS2: The authors recommend using this activity in introductory computing course. This activity has been assessed in a CS1/CS2 course.
- DSA: In addition to CS2, TCPP suggests DSA as an appropriate place to cover task decomposition and load balancing topics.
Accessibility
May be difficult for color-blind students, or students who are blind. We recommend using a range of treats that are differentiated by shape and color. Inexpensive bulk candies that achieve this include Runts, Nitwitz, and Rascals.
Assessment
Yes. In (Ghafoor2019), the candy sorting exercise was used to introduce parallel programming concepts in CS1 and CS2. The evaluation performed by the authors suggest that the use of unplugged activities make it easier to learn parallel computing concepts.
Citations
-
S. K. Ghafoor, D. W. Brown, M. Rogers, and T. Hines, “Unplugged activities to introduce parallel computing in introductory programming classes: An experience report”, in Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE'19). New York, NY, USA: ACM, 2019, pp. 309–309. [Online]. Available: http://doi.acm.org/10.1145/3304221.3325573
-
S. K. Ghafoor, M. Rogers, D. Brown, and A. Haynes, “ipdc modules (unplugged)” last accessed Oct 16, 2019. [Online]. Available: https://www.csc.tntech.edu/pdcincs/index.php/ipdc-modules/