Over recent months, there has been an important advance in opportunities for kids to learn to code and mess around with technology.
The Scratch programming language is a project set at MIT. Scratch programming involves moving images, called blocks, from a pallet into a work area, hooking them together and maybe changing some values attached to them, in order to develop programs that mainly, but not exclusively, manipulate sprites. (See example of code blokcks above.) The project is located HERE. This is a full object oriented programming language with quite a few features that make it very powerful, for a kid’s toy.
When you use Scratch, normally, you are interacting with the server at MIT via a web page. This allows you to use Scratch on any device regardless of operating system or power, as long as you have an internet connection. It also means the development environment is always up to date. And, on this site, you can interact with all the other scratch coders in the world, and borrow each other’s code, etc.
There is also a version of Scratch that can be run in stand-alone mode on a computer.
And now, there is a version of this stand alone program that is designed to run on a Raspberry Pi.
This version of Scratch has coding elements that control the General Purpose Input Output (GPIO) pins on the Pi. This means you can use the Scratch programming language to interface not merely with sprites on a screen, but with anything physical in the real world, and in so doing, TAKE OVER THE WORLD!!! BWA HAHAHAHA!!
You probably think I’m kidding but I’m not. It is well known that ten thousand chimpanzees randomly banging on keyboards will recreate all the works of Shakespeare. But it will take so long that the Universe will have ended by then. But if you give a few million kids the ability to write programs that interact with the real world it won’t take nearly that much time for them to change the world itself, considerably. Who can even imagine how? But I digress.
Anyway, we have a very easily learned and potentially very powerful software development environment married to a machine that has essentially unlimited abilities to interact with the physical world via GPIO pins, which ultimately can control any kind of switch, motor, sensor, other computer, or anything, that is electronic or that knows something that is electronic.
None of this is sudden. Scratch has been around a long time, and comes from a heritage of software development that goes back to the very beginning of modern languages. The ability to control GPIO like pins is exactly what controllers of all sorts have been doing for years. There has been a stand along version of scratch from early on in the MIT project, presumably with some version predating the on line version. The ability to interact with Raspberry Pi GPIO pins has always been there because you can write special code for Scratch and the actual ability (instead of the merely pedantically potential ability) has been around for maybe a year or so. But over recent months the stand along scratch that you would install on a Raspberry Pi and that has a fairly rich feature set has come to life. Bwa hahahaha!
One way to access this significant power is to buy into the Kano system. You can get a Kano Computer Kit for just under $150. It allows you to build a sort of laptop, including a keyboard and some other stuff (but you supply the screen). The box that holds the Pi, on which Kano is built, has some fancy LED lights that can be manipulated with Scratch. It also comes with a Makey-Makey like sensor that allows some additional interacton. But I’m afraid that’s about it.
I can’t recommend the Kano computer for most users. The markup on the LED lights and the ground fault serial interface device feels like 1000%, though I’m sure it is very nicely packaged and all that. If you go farther, and get the more elaborate Kano Computer Kit Complete , for just under $250, you get some additional LED lights and some sort of microphone. Kano also has a Motion Sensor kit for $23 bucks sold separately, which I think comes with the afore mentioned kits, and there are other things you can get.
In short, Kano looks great, seems nice, may be a really cook kid friendly set of technology, but I’m afraid there will be a close correlation between families that benefit from Kano and families that benefit from the Republican-Trump tax bill.
A Raspberry Pi 3 Model B Motherboard costs about $35. Put that together with stuff you have laying around, like your TV or an extra monitor, a keyboard and mouse, etc. Maybe get some sort of breakout kit such as the Smraza T Type GPIO Breakout board for Raspberry Pi 3 2 Mode B/B+ with 830 tie-points Breadboard and 40 Pin Rainbow Cable. This allows you to more easily attach things to the Pi. The Pi-3 already has internet and Bluetooth capabilities.
The most current version of the Rapsperry Pi operating system, a form of Linux called Raspbian (for Rasperry and Debian, a classic form of Linux) has the offline Scratch language built in. Go to this site to learn more about that. Then you can have code blocks like this:
Depending on that GIPO pin number 2 is hooked to, you can now TAKE OVER THE WORLD … BWA HAHAHAHAHA!!!
But seriously, this is very cool, and very powerful.
I predict that in the not too distant future, the Internet of Things will be operated with, essentially, the Scratch programming language. It is accessible to regular people, allowing them to modify their home automation, and allows companies that install this sort of thing to have much more powerful technicians with less effort on training. Think of Scratch on controller software to be a bit like the old Microsoft Windows macros — remember that? — back when that technology was usable, and in fact used, by people who knew virtually nothing about the computers they were using.
What could possibly go wrong?
Scratch is a great platform for kids to learn and understand coding fundamentals. You have shared a very informative post and would help many in understanding scratch coding for kids. Thanks for sharing!