What is Scratch?

The Scratch Main Window (click to zoom)

Scratch is a graphical educational programming environment specifically designed to teach programming concepts to younger children. By clicking together Lego-like blocks, kids can build up sequences of instructions to create animations, games, interactive stories, simulations, and more.

Scratch teaches many fundamental programming concepts such as iteration (looping), conditional statements, variables, threads, user interface design, event handling, and more.

Here is a great introductory video about what kids can do with Scratch:

Why learn Scratch?

There a number of factors that make Scratch a great choice for younger children:

Example Scratch Code

  • Usability - For many younger children a visual, drag-and-drop interface is much easier to use than typing-heavy text programming languages.
  • Fun - Motivation is a key factor to learning new skills. In a fun and interactive environment, children are self-motivated to learn in order to achieve their goals.
  • Creative - Scratch encourages creativity, both in coming up with ideas for projects, as well as finding ways to overcome difficulties.
  • Free - Scratch is 100% free and cross-platform. Students can easily continue to use it on their own home computers.