Scratch is a free programming language designed for children to learn computational thinking skills through creating games, stories and animations. It uses graphical blocks that snap together like puzzle pieces to create scripts, avoiding complex text-based coding. Scratch helps students learn basic programming concepts through visual experimentation and play.