Computational Tinkering
Talking Maths in Public, Newcastle, 31st August 2023 /
Ogden Outreach Officers’ Annual Meetings, 17th September 2024
This is a hastily lashed-together page of notes and links to accompany a workshop given by Jonathan Sanderson at Talking Maths in Public in August 2023, then gently warmed over for Ogden Outreach Officers in September 2024.
In theory I’ll tidy it up a bit at some point, but that sounds awfully like the sort of thing one never quite gets around to.
“Just exploring”
Cheap, productive, familiar, with a good ecosystem around it. The MakeCode web editor is best-in-class.
But… learning materials are heavily tailored to formal education support, and hence patchy for our purposes. The Micro:Bit community seems to exist mostly offline (?!), and the device is very familiar in UK schools: too familiar, perhaps?
“Seriously exploring”
Pico is one implementation of the RP2040 hardware platform. Pico W is another, which integrates WiFi. There are lots of other boards using the same basic chip.
Most commonly coded with MicroPython, though Arduino is an option. The ecosystem is already excellent and expanding rapidly. Excellent value, usefully powerful, good tutorials, widely available.
Downsides? While it is theoretically possible to deploy a block coding environment, it’s not entirely clear how you’d do so in practice.
“Solving chonky problems”
Arduino is an ecosystem which spans a massive range of boards with different features. You’re probably best to start with something in the ESP32 range, but then… you might as well start with a Pico W (see above).
The Arduino platform centres around a C++ coding environment, with very extensive library support. It’s hugely powerful, but can also be overwhelming, and the community has a charming habit of referring you to guides which went out-of-date six years ago.
Nevertheless, Arduino is the default choice for many of us. Or it was: many of us are gradually moving across to RP2040/Pi Pico (above).
“Actually, I think I need a real computer.”
Sometimes, you just do. No judgement. Pis are ubiquitous with a huge community, a vast surrounding ecosystem of add-ons, and excellent tutorials. Code them in any language you can think of.
But… they’re full Linux computers, with all the complexity that entails. Also, lots of the tutorials are out-of-date, which can be confusing. Unlike microcontrollers, you can’t bung a Pi on a shelf for a few years and be entirely confident it’ll go back to doing what it did before, when you next turn it on.
Physical computing can be fun, but it can also be a frustrating distraction. Sometimes, you want software-only solutions. These are good places to start. Note that most of these tools require installing (and in some cases server hosting); if you’re going into schools this can be challenging.
Quirky but glorious music coding platform. Lose yourself for days in the excellent tutorials. Runs on Windows, Mac, Linux (including Raspberry Pi).
Software literacy for the visual arts, or perhaps visual literacy for coding? An odd (old-fashioned?) Java/C++ environment, but still a favourite tool for tinkering coders. There’s a decent book, and plenty of well-judged examples integrated with the editor.
Write some code which describes physical objects, then 3D print the result. Too complex, maybe? Fun, though. Just the thing for making ad-hoc project boxes, or … producing physical models of mathematical functions?
Inhale data, exhale graphs. Built for sucking in data streaming from IoT sensor networks, then processing and presenting that data in graphical dashboards. Initially steep learning curve, then tremendously quick when applied in the right circumstances. Check out Grafana for more dashboardy delights.
Interactive and extensible Python notebooks, in the browser. That has to be useful somehow, right? (I’m thinking ‘Family Data Science workshop’. Anyone? Anyone? No?)
Full-blown 3D game engine with physics plugin-ins, the works. Free for learners and educators, with a vast library of tutorials and learning materials. Go for it.
Tutorial series on Scratch, Python, web, Unity, more.
Vast resource supporting teachers of computer science, at primary and secondary. School, but useful context.
Like Isaac Physics, but… for computer science. Very much GCSE and A-Level.
Harvard project exploring pedagogies of making and tinkering.
Exploratorium/MIT Media Lab project exploring some of what we’re discussing here, and more besides. Google the phrase. Or Bing, Duck, whatever.
Free magazine from the Pi folks. Check their (free!) books.
Erasmus project bringing Exploratorium pedagogies & expertise to European science centres, mid-2010s. See their Practitioner Guide (2016).