Scratch

Scratch
Scratch is a programming language and an online community where children can program and share interactive media such as stories, games and animation with people from all over the world. As children create with Scratch, they learn to think creatively, work collaboratively and reason systematically. Scratch is designed and maintained by the Lifelong Kindergarten group at the MIT Media Lab.

http://www.scratch.mit.edu