PD_ParallelDecomposition PD_ParallelAlgorithms TCPP_Programming TCPP_Algorithms K_12 CS1 CS2 DSA Systems touch visual

Originally described by Robert Chesebrough and Ivan Turner; the authors cite the 2nd chapter of James Reinders’ book (see citations) as inspiration for this example.

No link to indepdendent description available. Please see Details section for more information.


Prior to the activity, students should be assigned to teams of four. The goal is to discuss different strategies for completing the stack of preparing letters for mailing. In doing the activity, students learn about domain (data) decomposition vs task decomposition.

The students should recognize that due to dependencies between tasks, the level of parallelism is reduced.

CS2013 Knowledge Unit Coverage

PD/Parallel Decomposition

4. Parallelize an algorithm by applying task-based decomposition. [Usage]

5. Parallelize an algorithm by applying data-parallel decomposition. [Usage]

PD/Parallel Algorithms, Analysis and Programming

4. Identify independent tasks in a program that may be parallelized. [Usage]

5. Characterize features of a workload that allow or prevent it from being naturally parallelized. [Familiarity]

9. Give examples of problems where pipelining would be an effective means of parallelization. [Familiarity]

TCPP Topics Coverage

Programming Topics

Algorithms Topics


Students who are blind may have difficulty with this activity.


(Chesebrough2010) used unplugged activities as part of a larger three-day workshop for 16 high schoool students at Brookyn Tech in summer 2009. Chesebrough and Turner report that “the best part” of the camp was the role playing, and that the exercises helped drive concepts home. However, some of the more advanced students felt that the activities were “childish”. However younger and/or less-experienced students enjoyed the role playing exercises.