Scratch

Scratch is MIT's free block-based programming environment, designed for kids roughly ages 8 to 14. Instead of typing code, kids snap together colored blocks to make games, animations, and interactive stories. It's the standard on-ramp to coding for elementary and middle school and works well at home or in a classroom.

What is Scratch?

Scratch teaches the building blocks of programming — loops, conditionals, variables, events, and message passing between objects — without the friction of syntax errors. Kids work with sprites (characters and objects) on a stage, give them scripts, and watch the results immediately. The community side of scratch.mit.edu lets kids remix each other's projects, which is half the appeal.

It's best for kids who can read fairly fluently and follow multi-step instructions. There are no hard prerequisites beyond mouse or trackpad comfort. Younger kids (5-7) usually do better with ScratchJr on a tablet first. By around age 12-14, motivated kids often outgrow Scratch and start asking for Python or JavaScript — that's the signal to move on, not a problem to fix.

How to Learn Scratch

The Scratch site's built-in tutorials and the Creative Computing curriculum from Harvard are both free and well-paced. Most kids do better making things they care about than following a generic course, so once they have the basics, point them at a goal: a Pong clone, a maze game, an animated joke, a quiz about their favorite topic. Coding clubs and CoderDojo sessions help with motivation.

  • Watch for projects that grow in complexity over weeks, not just one-session experiments
  • Encourage remixing other kids' projects — reading code is a real skill
  • If a project keeps breaking, that's the moment to teach debugging, not to start over
  • When they start asking "how do I do X" faster than you can answer, they're ready to move on