Skip to content

Toggle service links
  1. eSTEeM
  2. Projects
  3. Themes
  4. Technologies Stem Learning
  5. Teaching distributed computing using Raspberry Pi clusters at a distance

Teaching distributed computing using Raspberry Pi clusters at a distance

Project leader(s): 
Daniel Gooch

Parallel and distributed computing (PDC) is considered a threshold concept for computing [2], forming a key part of the ACM Curriculum Guidelines for Undergraduate Degree Programs in Computer Science [1]. Understanding how PDC works is a significant part of algorithm design, a fundamental part of Computer Science. PDCs now power much of the “cloud” and are therefore of increasing industrial relevance. While not currently covered in the dual-presentation, compulsory C&C level 1 module, TM129 (Technologies in practice), the proposed rewrite for 20J will cover these increasingly important concepts.

Given that we do not regulate the machines that students use when studying with us, to gain practical exposure of PDCs, we must offer a central-service to run PDC programs on. The low cost of Raspberry Pis  has led to an exploration of how PDC can be taught to students using Raspberry Pi clusters (a form of distributed computer, built from multiple computers) [3, 4], given the unfeasible cost of using clusters made from other kinds of computers. We currently do not have a mechanism for providing access to clusters to the 1000 distance students per TM129 presentation.

The Institute of Coding has funded the hardware costs for an initial four clusters. These have been successfully used in initial module team-led lab-casts with a clear interest from students. These lab-casts have demonstrated the student interest in using the clusters, and we plan to move them into the OpenSTEM Lab, allowing us to build activities around the clusters.

We are thus applying for funds to explore the impact the clusters have on TM129 students. We will be making the clusters available as optional activities in the 19J and 20B presentations to assess their suitability, before making them a compulsory part of the assessment from 20J. We will be evaluating these clusters for:

  1. increased engagement and interest of the students due to the novelty of the technology;
  2. that the activities will increase students’ knowledge of PDC; and
  3. that the increased engagement and interest will improve retention.


ACM Curriculum Guidelines for Undergraduate Degree Programs in Computer Science 

Cousin, G (2006) An introduction to threshold concepts, Planet no. 17.

Cox, Simon J., James T. Cox, Richard P. Boardman, Steven J. Johnston, Mark Scott, and Neil S. O’brien. "Iridis-pi: a low-cost, compact demonstration cluster." Cluster Computing 17(2), 2014.

Doucet, Kevin, and Jian Zhang, 2017. Learning cluster computing by creating a Raspberry Pi cluster. In Proceedings of the SouthEast Conference, pp. 191-194. ACM.

Gooch, D. (2019) project poster (PDF)