Cluster of 32 Raspberry Pis Powers Coding Class

Raspberry Pi
(Image credit: Mike Reed)

Every teacher has a special touch that makes their classroom unique and Mike Reed’s Digital Learning class at Kimbolton School is a shining example of his expertise. Reed not only uses our favorite SBC, the Raspberry Pi, to teach children programming fundamentals, he also has them wired together in an amazing cluster he can monitor and track while the students access them remotely.

Reed recently spoke with Raspberry Pi in a recent blog post and explained that the Raspberry Pis were original scattered about the room. This led to the development of a cluster that would minimize clutter by isolating all of the hardware to one location. The version we're showing here is Reed's third iteration.

The students in Reed’s class each sit at a desk with a computer. These are connected to the same network as the Raspberry Pi cluster. Each student is responsible for remoting into their respective Pi using its IP address. According to Reed, this lets him spend more time addressing the programming lesson rather than wasting time assisting with hardware.

Ten years after creating the first cluster, Reed has debuted the third official version. This new cluster features 32 boards total. Each unit is a Raspberry Pi 4 B featuring an OLED display panel which has been programmed to output its current IP address and whether or not anyone is connected to it using VNC.

Reed goes on to share some of what the class involves for his programming students. Almost every student begins with “Hello World” and works their way up to using functions, arguments, and more. Once the students are able to handle graphic interfaces, they move onto programming more complex games like the classic Pong.

If you want to get a closer look at this Raspberry Pi project, you can see a demo video of it in action over at YouTube and read more about Reed’s work with the Raspberry Pi over at the official blog.

Ash Hill
Contributing Writer

Ash Hill is a contributing writer for Tom's Hardware with a wealth of experience in the hobby electronics, 3D printing and PCs. She manages the Pi projects of the month and much of our daily Raspberry Pi reporting while also finding the best coupons and deals on all tech.

  • bit_user
    What'd be much more interesting is to share a smaller set of Pi's among a larger group of students. There are cluster management tools for doing that sort of thing, letting you queue up a job and it just gets run by whatever machine has capacity.

    One Pi per student might be simple, but it's also a bit boring and more expensive than it really needs to be, if they don't need to run interactive graphical programs on them (which they probably do).
    Reply
  • Co BIY
    Neat set up.
    Hello World - Reminds me of fun times learning using Apple Logo.
    Reply
  • bit_user
    Co BIY said:
    Hello World - Reminds me of fun times learning using Apple Logo.
    Logo was a waste of time, for me. They never connected it to real programming or algorithms, so it ended up being pointless.

    I also didn't get why they called the cursor a "turtle". That was just confusing, for little kids, as it looked nothing like one - it was just an isosceles triangle.

    Maybe, if they'd shown us how to solve problems using Logo, I would've appreciated it more.
    Reply
  • blitz120
    bit_user said:
    One Pi per student might be simple, but it's also a bit boring and more expensive than it really needs to be, if they don't need to run interactive graphical programs on them (which they probably do).
    It also provides a degree of isolation for the students; should one student generate problems on their node other students remain unaffected. In addition, it simplifies how the teacher addresses problems; a student with a question has a known environment for the teacher to locate and examine.
    Reply
  • bit_user
    blitz120 said:
    It also provides a degree of isolation for the students; should one student generate problems on their node other students remain unaffected.
    Well, Pi runs Linux. Linux provides a wealth of mechanisms to reduce friction between users.

    I'm not arguing that 1 pi per student isn't the simplest solution - just that it's the least technically interesting one. Also, not great for cost-effectiveness. If you could use a cluster of 8 Pi's for a class of 32 students, that works out to 1 core per student, and it'd be a lot more cost-effective. In a wealthy American school district, perhaps the cost of a Pi per student isn't significant, but you can't argue the same is true around the world.

    One thing that bugs me is how we see articles trumpeting "Pi clusters", yet they almost never seem to involve any clustering technologies. It's merely a collection of independent Pi's that are physically racked or stacked together. I guess if you just like building physical enclosures, that might be interesting to you. However, it's not acting as a cluster.
    https://en.wikipedia.org/wiki/Computer_cluster
    blitz120 said:
    In addition, it simplifies how the teacher addresses problems; a student with a question has a known environment for the teacher to locate and examine.
    You mean by connecting to their desktop session? I guess that's simpler than having the teacher connect to their terminal device, assuming those might be personal devices the teacher doesn't control.
    Reply
  • Wol_
    bit_user said:


    I also didn't get why they called the cursor a "turtle". That was just confusing, for little kids, as it looked nothing like one - it was just an isosceles triangle.
    https://en.m.wikipedia.org/wiki/Turtle_(robot) it was based around the turtle robot. I always loved it at school when they brought that thing out and had it scooting around the classroom where you'd program it on the computer at the time!
    bit_user said:
    In a wealthy American school district, perhaps the cost of a Pi per student isn't significant, but you can't argue the same is true around the world.
    Even more so when they're using an iMac + iPad to access a rPi. Seems a bit overkill considering the amount of computing power they've got on their desks to then just use it to remote into a raspberry Pi!
    Reply
  • bit_user
    Wol_ said:
    https://en.m.wikipedia.org/wiki/Turtle_(robot) it was based around the turtle robot.
    That doesn't help, when you've never seen nor heard of such a robot.
    Reply
  • DanUK
    If you're using this setup like a mainframe I wonder if there is OS that lends itself to handling concurrent users? It seems like a waste to make a cluster where ratio of devices to students is still 1:1
    Reply
  • bit_user
    DanUK said:
    If you're using this setup like a mainframe I wonder if there is OS that lends itself to handling concurrent users? It seems like a waste to make a cluster where ratio of devices to students is still 1:1
    My dream would be to do something like using GlusterFS to create a distributed filesystem across them, so you have a large, scalable, fault-tolerant filesystem that's accessible from all the nodes.

    Then, use something like OpenPBS to dispatch jobs to whichever node has free compute resources. That should work best with non-graphical, compute-oriented jobs. Probably not ideal for kids in grade school (or primary school, in UK?).
    Reply