PD_CommunicationAndCoordination TCPP_Algorithms TCPP_CrossCutting K_12 Systems visual auditory

Originally described by Paolo A.G. Sivilotti and Murat Demirbas (Sivilotti2003) to illustrate Dijkstra’s stabalizing token ring algorithm.

Paper and materials available online:

CS2013 Knowledge Unit Coverage

Communication and Coordination

  1. Use mutual exclusion to avoid a given race condition. [Usage]

TCPP Topics Coverage

Algorithms Topics

Cross Cutting and Advanced Topics


To make the activity accessible to blind students, it is recommended that Braille cards representing 0 and 1 are used. The auditory component of the one-bar xylophone may be inappropriate for students who are hearing impaired.


(Sivilotti2003) reported the activity could be completed in a 45 minute period. Students were asked a number of questions, including rating the exercises. On a scale from 1 (low) to 5 (high) students rated the fault tolerant exercise as a 4.6, the highest of the three exercises. Students also made statements such as “I learned that computers have ‘faults’ that can be fixed” and “[i learned] how to make a program recover itself” (Sivilotti1999). Students were also asked to evaluate the overall quality of the computer science module on scale of 1 (low) to 5 (high), and rated the CS component of the workshop as 4.6. Note that this includes other activities.

(Sivilotti2003) also notes that the impact of musical element of the exercise “cannot be overstated”, and that tones made it very obvious that when faults occurred. Students were gratified when the algorithm stabilized and a melody emerged.