A 15 pound computer to inspire young programmers (2011)
bbc.co.uk
bbc.co.uk
...later on, the BBC made[0] the micro:bit[1], another £15 (well, around £15 back then for the V1) computer to inspire young programmers. Funny to think that little did the BBC know that they'd be creating their own cheap computer.
[0]: Well, the BBC didn't _make_ it exactly — rather, the development and manufacturing was subcontracted to third-party companies (though some people at the BBC were involved in designing the prototypes — I've had a chat with one such person who did some prototype PCB fabrication in his own kitchen). The BBC came up with the initiative, though.
[1]: https://microbit.org
With the Pi, you have to format the SD card and flash an OS to it, then plug in the peripherals such as the display, keyboard and mouse. While schools will likely have this equipment, having to reconnect all these devices from a school PC can be a chore, especially when it comes to the end of the lesson. Schools would likely also have to issue a lot of these peripherals alongside Pis for kids to use them as their only computer in the house, and that can get expensive.
With the micro:bit, all you need is a computer (which most schools will have), a USB cable (supplied with micro:bits) and a connection to the internet to access the online IDEs. Granted, that does place some barriers to their use at home when kids don't have a companion computing device for coding on.
Despite the micro:bit being limited as a microcontroller with a 5x5 pixel display and 2 user buttons, it does have a lot of on-board sensors that can bring a lot of potential opportunities to students in terms of creating physical projects that Raspberry Pis don't have built-in (you have to purchase external sensors, such as accelerometers, to match the functionality).
That being said, the micro:bit does require a special connector to use its GPIO pins in a DIP format that can be connected to a breadboard (the Pi is better at this due to its GPIO header). And, while the Pi does give a full-blown Linux environment that would have been great for all learners to interact with, the immediacy and portability of the micro:bit does have some advantages for new learners.
I was in fact in Year 5 back when the micro:bit was launched and given out to Year 5 school children, and now I'm an apprentice at the BBC (similar stories exist for the original BBC Micro); so I'd say in that respect that it was overall a good investment from the BBC :)
That's my thoughts, anyway!
These are valuable computing skills that should be being taught to future programmers in their teenage years, already. The 'hassle' you claim is really the process of learning that should be promoted, not avoided because its 'too difficult'.
The micro:bit is entirely a specialist computer for which - yes, a basic set of computer fundamentals will be learned - but those same principles are equally attainable with the rPi, with the added benefit that students will also gain operator skills that are vital to their ability to be productive in this field - whereas the micro:bit will leave them with a lot of unlearned essentials.
As a parent (and 40+ years of experience systems-software developer) I would much rather my kids gain their computing expertise with a standard, easily attainable raspberry Pi platform than with the proprietary, not-standard micro:bit. Sure, they'd get some embedded experience - but that is possible with the rPi too.
The micro:bit is proprietary. The raspberry Pi, not so much (in terms of accessibility/availability). I think micro:bit is a step backwards for computer education.
RasPis are great, but they seem too much like the sort of phone-like "well behaved appliances" that are ubiquitous in all our lives now. Imo, as a starter platform for children they are just too complex, they present too high an obstacle to get started, and have too much potential for distraction. I suspect that a lot of Pi's that were provided to children ended up just being used to play Minecraft.
(I'm also a parent. Learned to write software in the early/mid 80s on BBC/Acorn computers.)
Teaching kids some proprietary thing that is only available in a special situation, versus teaching them broadly applicable skills that are entirely relevant, after 40 years of computing history, is very much more valuable - as a parent - than the alternative.
Also a parent, also learned to program on an 8-bit system, taught my kids computing with the Raspberry Pi and they still use them for things way beyond the Minecraft zone... just yesterday the younger of the teens figured out how to use his rPi to catch his older brother entering his room. Sure, he could have done that with the micro:bit too - but that would have been an artificial ceiling for things - as it stands, he's been spending the morning working out how to get his brothers' guilty pics uploaded to the family NAS, which is another extremely valuable skill that this teenager has now developed in a matter of days, which would not have been easy to attain with the micro:bit.
I think the micro:bit, as has been mentioned earlier, is proprietary and limited. There's nothing to learn there that can't also be learned on rPi, and the rPi gives far better future-proof opportunities.
The only 'advantage' is that micro:bit might be easier to teach - but that is just excuse-making for poor educational standards. I'd much rather my kids' teachers have the skills and ability to teach them future-proof computer subjects, such as the raspberryPi (the younger one has now just asked for their own Hetzner account) than limit them to proprietary stuff that isn't available anywhere else in the world ..
It is beyond embarassing that we are graduating students who don't know the difference between a File and a Folder, or why you need to format storage devices, or even what a storage device is .. micro:bit will re-enforce that ignorance in a generation of students - raspberryPi entirely discourages it and prepares the student better for the world, imho...
Microbits are far more limited in their capabilities but they are a useful stepping stone because they are limited. They can be used like a piece of lego as part of a larger creation.
They have inbuilt switches and sensors and it is easier to connect extra components to a Microbit. You don't even need a breakout board. They run off batteries quite happily and once you have uploaded a program onto the Microbit you might only need that single battery box. And if you have two or more of them then you can use the inbuilt wireless connectivity very easily.
The proprietary nature of the code running the RPis and Microbits is not a factor for me. Once my kids get closer to being teenagers hopefully there'll be some fully open platforms available for the next steps.
Most kids don't get that far. They don't have parents like you (or me) to give them one to one help and encouragement.
> The only 'advantage' is that micro:bit might be easier to teach
Thats the point. Start with simple, concrete stuff. Work up to the complicated, abstract stuff. Basic pedagogy. Raspberry Pis undoubtedly have their place, but they're less than ideal teaching platforms if your aim is to get children interested and enthusiastic about tech, rather than simply being "users".
(As for future proof skills, I suspect you know as well as I do that nothing ever is - as the absence of BBC Model Bs in todays classrooms demonstrates.)
I could write code, though.
I bet you know what a Folder and a File are now, though. You wouldn't get too far as a modern developer, otherwise.
That's the point: teach kids real skills, not decadence. Too bad if its "too hard" - don't pretend to be an educator if that's the case.
While I applaud any efforts to get more kids into programming, what I couldn't figure out with the micro:bit was its market positioning relative to the Arduino, ESP8266, Raspberry Pi and arm mbed.
Between those there were already several options with the explicit goal of inspiring kids into programming, there was already well documented stuff for baby's first blinking LED, already 100MHz+ sub-$5 options, already options with wireless, already options with online compilers, already options with micropython support, and even an option that didn't need a PC and could run fully-fledged python.
Did Raspberry Pi fail at its original mission of inspiring young programmers?
It's obviously a huge success in industry and in the maker/hobbyist community, but it feels like kids would rather use a phone or a tablet to do anything. And in my work as a robotics team coach for middle-schoolers (First Lego League), we do all the coding with Chromebooks.
(fwiw: both my sons are now either currently majoring in computer science in college, or will next year... but cumulative time spent working with the Pis over the years was minimal. Either way, maybe Pi and I should take the win?)
Mostly yes, with a big but. Obviously the Pi has succeeded on its own terms in the hobbyist community (and industry, to a remarkable degree), but it was just too complicated and fragile and fiddly for most schoolkids to handle. The lessons from the failure of the RPi in education were the basis for the BBC micro:bit, a much simpler dev board based on an ARM microcontroller.
The micro:bit is just a brilliant tool for teaching the first stages of CS and EE. There are multiple toolchains supporting Scratch, Swift, MicroPython and a variety of block-based visual programming environments. It can be programmed directly from a browser-based IDE, so you can get to hello world very quickly and it works on essentially any device with nothing to install. It has Bluetooth and a bunch of sensors, so it can do fun and interesting things.
Really? Well I'm certainly not a highschooler, and have been working as a software developer for more than a decade. Until today, I see R Pi as tiny Linux box. Okay for running your PHP/Python apps.
If you want to go lower level, which I believe is necessary for CS/EE education, perhaps get one of those ARM microcontrollers.
For me the OS, the SD card, the power have been the major fragile points it’s had (some have been fixed in iterations).
For a school or people wanting to learn, that’s a lot of things you have to work around, keep in mind, or figure out when they happen. Not counting availability.
Please define "anything".
Mobile devices are basically consumption-only devices. Yes there's lots of options to turn 'em into general purpose computers or even do development on them. But they just... aren't it.
A RPi otoh is a general purpose computer (and Chromebooks too, for the most part).
What does seem to inspire my children in terms of coding is hardware - at younger ages it's things like Beebot and Ozobot, and then moving onto projects using the GPIO pins on the Pi - eg we got a Pi-controlled robot car kit a couple of years ago which has been great.
Some kids will naturally like tinkering with these kinds of things and that's where the original, cheaper model is better, but most will want a computer to accomplish a task, so the best way to get them to learn this kind of thing is to give them a practical reason to. Want to play Minecraft/Roblox/Whatever on your pi? Go ahead, you just need to figure out how to actually set that up on Linux.
Of course it was never going to be as prevalent as any 8 bit micro, because the technology landscape nowadays is just endless.
But it got some kids into tinkering, got older programmers into new sorts of projects, it got into industry, product development, gardening, home automation, on so on.
But teaching programming? Why? It does not enhance what's possible, it limits what's possible in a teaching way. That screams the sort of thing that educators would find useful and students would tolerate. Sure, they eventually get comfortable and see the benefits, but most of those aren't in programming.
Easy is the enemy of Good. People opt for the easy and lazy way, because learning is hard.
Kids, encouraged to learn the hard things, become better and better at making those hard things easier for themselves. Kids, encouraged only to do the bare-minimum, 'easy approach' to things, only learn how to avoid doing anything hard.
Disclaimer: anecdotal parent experience. Its always better to learn how to do things the hard way than the easy way.
I built doorbells and game sites to use in school. I learned PHP on the thing, my first proper programming language.
Good times. :)
Instead they taught them python on windows.
All this to say: kids are just rough on shit. They're inexperienced with potential failure modes and thus fail to anticipate what precautions might need to be taken in trying to avoid them. But they mostly grow up (after killing a few pieces of hardware).
If the Raspberry Pi had 5V compatible GPIO and SD cards stored data permanently immediately after fsync() returns, the Pi would have been much more successful in the educational environment.
In the right educators hands', the raspberry Pi can be used to bring generations of teenagers into computing competence.
You're only as good a student as your teacher.
It's just a fucking computer, not a world changing thing. They already have computers that don't have all the downsides but do have all of the upsides.
Fix that problem. Don't address it by introducing the kids to useless, proprietary technology.
It's just a fucking computer, not a world changing thing.
This irrational, entirely emotional attitude is also the problem. Its why kids can't code today, but could in the 80's.
Computers are world-changing things. This is why its so vital to teach kids properly and not chintz out on it because "its too hard".
I have an old PC at home still collecting dust (~10 years old I think), I need to clean its storage and get rid of it.
It's not as much _fun_ as making an obvious circuit board do Stuff (tm). There's a very tactile satisfaction about making an RPi or similar go. YMMV, of course
Yet overlooked.
So a really cheap computer, even if limited, would allow the young programmers to experiment and even if they ended up damaging it at a sufficiently low cost it wouldn't be a disaster.
The initial prototype hooked up two of the same processor in the first Arduinos, one running a Python interpreter and one generating a TV output. Booting to a programming prompt like the 1980s micro would encourage learning the language.
The second prototype used a much more powerful chip and the third added an ARM that could run Linux (it was the one shown in 2011 which looked like a fat USB pen drive). They realized that though the 1980s home computers booted to a Basic prompt, most of the time they loaded ready made games from cassette tapes instead. Having Linux would open up the modern Internet to the little machine.
I think they could have had it both ways - with a small local flash they could boot to a Python prompt if the SD cards was not present. With the card you would go into Linux. In a way, the original idea is finally here with the RP2040 microcontroller configured for MicroPython even though that has the flavor of cross-development instead of a stand-alone machine.
Best platform expansion I've ever made. Not the most popular—there's been only 876 downloads of the whole plugin library compiled for Pi, from the mediafire mirror—but it's all open source, and that's still quite a few Pis set up for music production :)
I wonder how many CS applicants in 2023 know how to code?
The obvious answer in my view is familiarity. Most secondary school leavers will have some idea of what's involved in a maths, chemistry, biology, geography etc degree. Very few will know what's involved in CS and I reckon the uncertainty puts them off. I'm not sure kids that age would learn how to code without strong encouragement. Why would they?
(Edit: wow, actually that milestone was 5 years ago...)
imagine if you could somehow sum up the total aggregate cognitive drain accumulated by every HN reader outside the UK wondering why children need such heavy computers
Everything except driving speed, for obvious reasons.
Similar to how you don’t get too confused with these (admittedly more common) titles:
- “How memory works… (health.org)”
- “Networking best practices… (sysadmin.info)”
- “Languages of the future… (sociology.harvard.edu)”