Scratch is a free kids programming language developed by MIT’s Lifelong Kindergarten Lab. The free language is supplemented by getting-started tutorials, curriculum instructions for parents, and a robust user community. There are even cards kids can use to learn Scratch programming concepts when they are away from the computer.
Scratch uses a building-block visual interface to create a scaffolded experience for kids and parents. You stack together programming components, such as actions, events, and operators.
Each block has a shape that only allows it to be combined with a compatible object. Repeat loops, for example, are shaped like a sideways “U” to let you know that you need to put blocks in between the start and stop of a loop.
Scratch can be used to make real animations and games using either prepopulated images and characters or by uploading new ones. Scratch can also be used without an internet connection. Kids can optionally share their creations on Scratch’s online community.
Because Scratch is free and so well supported, it’s one of the first suggestions for kid-friendly programming, and it’s easy to see the influence of Scratch in many other kid-friendly programming languages listed here, such as Blockly.