I attended an awesome workshop last weekend entitled, The Slowest Computer on Earth, hosted jointly by CSNYC and EyeBeamNYC. As per the event’s description:
Kaho Abe and Ramsey Nasser, media artists and teachers, run the Playable Fashion Afterschool Program for high schoolers in collaboration with Eyebeam in Sunset Park, Brooklyn. With support from CSNYC, Kaho and Ramsey are running a workshop for teachers on a module from their program called “The Slowest Computers on Earth.” Two teams of participants will form into two “computers” competing to execute code as fast and as correctly as possible. These computers use pen and paper for memory, a grid of sponges for a screen, human minds and bodies as processing units, and a simple turing-complete assembly language as their instructions. A stack of printed code will be given to each team to execute, and clock speeds in Hertz will be measured and reported.
This embodied exercise aims to foster a visceral understanding of computation in the abstract. By not involving actual computers, the exercise avoids the distractions of contemporary operating systems and programming languages, and instead focuses on the underlying concepts that are timeless and platform-agnostic. By running this exercise before teaching actual programming, Kaho and Ramsey aim to give students a foothold into reasoning about what the machine is actually doing when it is executing their code. Following the workshop, participants will discuss how an exercise like this can be incorporated into existing computer science curricula.
Kaho (@kahodesu) and Ramsay (@ra) collaboratively developed many modules for teaching creative computing, coding, wearables, game design. Their workshop on Sunday was all about The Slowest Computer on Earth, and it was truly remarkable.
- Attendees split into groups of 4 at tables. Each table had a big bucket full of classic kitchen sponges (yellow with a green scrubbing side), a few pads of post-its, and some markers.
- We placed 100 sponges yellow side up in a 10×10 grid with no gaps in between.
- We labelled along the top of the grid 0-9 with a number corresponding to each column (this is the x-axis). We also labeled this axis COLUMNS so as not to be confused later.
- We also labelled along the side of the grid 0-9 with a number corresponding to each row (this is the y-axis). We also labeled this axis ROWS so as not to be confused later.
- We tacked additional larger post-its to the table below our sponge grid. These were labelled a to p in two rows. The top row was for a – h, and the bottom row was for i – p.
- We were handed reams of paper bound with two binder clips at the seam like a book. The pages were full of instructions.
- As a group, we followed the instructions – this is where the users are “slow computing”. These instructions mimicked loops, calculations, if-then statements, and more.
- At some points, we were assigned or we had to calculate different values to the variables a to p. Different commands were to turn over the sponge at a designated (column, row) coordinate. Since we laid them out with the yellow side up, when we turned over a sponge, it’s visibly green due to the scrubby side.
- Each group competed to complete the given activity first. We were timed, and these finish times were calculated into MHz (the equivalent speed a computer would take to execute the same program).
Ramsay and Kaho had us run through three separate modules. My group led for much of the day, as we really collaborated well (especially for a group of total strangers). We all made errors, we all had great insights, and we were all patient and kind with each other. The first “program” we executed was a diagonal line. The second was a Minecraft creeper, and the third was a circle — this was the most challenging as the directions were the longest and most convoluted. These examples are available on the amazing site shared by Ramsay and Kaho: http://nas.sr/sponge/
Remarkably, Ramsay and Kaho’s site allows you toMAKE YOUR OWN design and their assembly code will print out a PDF of pages with the instructions to follow!! It’s magical and so awesome that they are freely sharing it. I’m excited to try this as an advisory or phys. ed. or other discipline. It would be great (yet predictable) to do this in a math or computer class, so I’d love to see it integrated into a team building lesson somewhere else in a curricular program.
I told them this would be a great activity for the archives of #CSunplugged