BBC micro:bit
At some point several years ago, some engineers from Microsoft came and gave a presentation at Facebook about the visual programing environment they had built for the BBC Micro:bit, an educational piece of hardware that gave kids the opportunity to learn to code.
The micro:bit is a single board computer with a bunch of fun hardware that only costs ~$35!:
LED grid
Accelerometer
Speaker
Buttons
Microphone
But the most interesting part to me is the developer environment. It features a beautifully constructed visual programing language — similar to Scratch — and a device emulator that runs entirely in the browser. In fact, you can use Web USB to sync your projects to your device without ever leaving your browser! Or, for the old fashioned among us, you can download your project from the browser and drag it into your device (connecting it via USB causes it to appear as a USB hard drive).
One amazing thing about the visual programming environment is you can click a button and view your code (which you constructed visually) as either TypeScript or Python, edit it as code, and then switch back! This seems like a great way to let kids start with something approachable, but also let them grow beyond what’s possible or feasible with the visual paradigm.
immediately after the talk, I went online and bought one for my daughter. She’s 7 now, and we’ve bought a total of three of them, and often have a fun time coming up with silly projects to make with them.
I would highly recommend one of these for any young person curious about programming who would appreciate having their programs do something more tangible than they can on a computer.