Your head should be firmly in the cloud
I’ve been thinking a lot about Raspberry Pi, Intel Gallieo, and other boards as a means of teaching kids to code and I’m increasingly convincing myself that we’re barking up the wrong tree.
At a time when the general trend is towards the cloud – movies, music, servers, IDEs, everything – we seem to have gotten ourselves focused on a piece of hardware. How does that make sense?
There’s a great deal of marketing effort going into pushing these platforms into the educational market at the moment. It’s usually very well-meaning and at first-blush looks terribly exciting. But I really wonder if it’s the right direction.
The underlying philosophy with these devices is that they expose kids to the working of a computer and so remove some of the magic. But do they really do that? You’re still working with a device that you bought or were given and of which you have no real idea about its inner workings. Are you any wiser about computing or computational thinking after setting up a Raspberry Pi? You might feel like you are because you can see the circuit board, but really it’s no different from setting up a new PC: You still end up with apparent magic. In Raspberry Pi’s case you have an awkward, under-powered computer. With the Arduino or the Gallileo you have a peripheral that connects you to the real world. But they are all just as opaque as any other computer or micorcontroller for all that you can see the chips.
Now let me be clear – there’s a place for learning about hardware. But that place is not when you’re starting out. It’s in later high school or in university. If you are a primary school or junior high school student, you might choose to play with the hardware for fun or interest, but it’s simply not the best route to learning about coding or computational thinking. So why are we getting caught up in the hardware?
One argument is that the Raspberry Pi is a cheap computer. It is, although by the time you also add on peripherals that argument starts to erode. But more importantly, it’s a rare student in Australia that does not already have access to a computer these days. So the cost argument doesn’t really run, especially when I so often see students pushing a Mac or PC out of the way to find desk space for a Raspberry Pi.
The second argument is that it’s teaching kids about computers. In itself, it’s not. As a computer the Pi teaches them no more than a Mac or a PC. As a micro-controller connecting to electronics there’s learning to be had, but then why not go with the Arduino or Gallileo which are far, far cheaper and can work with your existing computer – and now often have cloud-based IDEs available. Regardless, the devices are not of themselves teaching about computers. And even if they were, that’s not the core issue – the core issue is what are we trying to teach?
If we can agree that the important thing is for us to be teaching kids is (a) computational thinking and (b) real coding so they understand that computers can be controlled, then having students, teachers, and schools mucking about with hardware is not the best route. The shortest line to those outcomes is the one involving tools that don’t need to be installed, offer a wide range of possible approaches, and create outcomes the kids can show-off to others: In other words cloud-based services.
There are amazing tools available in the cloud. Tools that don’t require installation. Tools that make efficient use of the computer that most kids already have access to. Tools that can be updated and don’t get outdated. Simply put: we should be focusing on teaching kids with cloud-based tools for all the same reasons that we use the cloud for movies, music, and so much else these days. Can you imagine going to a new business and suggesting that they put their accounting system on dedicated hardware instead of in the cloud? The world is moving in one clear direction and that’s towards the cloud.
For that reason, although I admit this is something of an aside, if I look at life skills kids might need right now for almost all students being able to make an LED blink is not going to be something they’ll use. There is a far higher probability that it will be of use to them to be able to redirect a domain name server after registering a domain name. So even if we want to pass on hard skills, let’s look to the cloud.
The important thing is the teaching of computational thinking and coding and we can do that best today by looking to the cloud. There is immense fun and learning to be had in electronics – but that cannot, and should not, be the starting point. Let the students gain an understanding of computational thinking and coding without hardware distractions and then make a choice later to play with the electronics. Working with the cloud is better for teachers and better for students and gets everyone focused on the important learning rather than on the technology which is only a means to an end.