This is the way the conversation with my three sons went:
Me: You guys need to learn programming. Not because you have to be programmers but because the world you live in as adults will be run by programmers and you need to understand how to think like one.
Them: Uh huh (sound of rapid clicking on Minecraft)
Me: I downloaded this program for learning programming called Scratch.
Them: Uh huh
Me: I ordered this computer designed to help kids learn to program called the Raspberry Pi. It’s the size of a credit card and you can plug it into the TV. It has Scratch on it. It even has pins that you can use to wire objects in the real world to control with your code…
Them: Uh huh
Me: …like robots.
Them: Did you say something about robots? Hey Dad, can you show me that Scratch thing?
I showed one of them how to use Scratch and the other two came over and asked what he was doing. Excitedly he explained it to them. They started working together on it and I slipped away. They worked on it for 2 hours straight. Great parenting moment.
Scratch is one of those learning tools where don’t know you are learning. Learning isn’t even mentioned. Learning programming isn’t really about memorizing syntax. It’s about learning the patterns of structures: variables, if/then statements, loops. Scratch turns these into visual drag-and-drop building blocks. This lets’s the user focus on using their creativity to build new ideas with these structures and play with the possibilities of how they work. That is great learning content.