Scratch is a free development tool to create stories, games and animations without any coding - just drag-n-drop/group/stack up blocks of events/controls/etc, set values and execute - to see them in action immediately. Scratch was created by MIT to orient kids, students and non-programmers into programming. However, Scratch is a lot of fun for professional programmers, too as they can readily understand it and exactly know how to code it.

Scratch sharpens your brain, memory, builds your thinking skills, aptitude, complex problem-solving skills and cognitive skills. Scratch is being used by many schools as a learning tool. It comes with a built in graphic editor to create your own Sprites/images to create Bitmap/Vector graphics or use the several stock Sprites it comes with. Scratch is written in Flash and very powerful in that it is asynchronous and multi-threaded which means you could animate and interact with multiple sprites with their own set of unique configurations in addition to the Stage - simultaneously. You can even create games similar to XBox Kinect with Scratch where your scratch game will respond to your body movements through the Web Camera!!

There is no need to install anything to use Scratch - you can create games and save/share them right online with an account and access them from any other computer from anywhere. Your projects get saved on MIT's Cloud Servers. However, MIT also offers a downloadable version of the offline Scratch editor tool in case you want to work offline when there is no Internet connection.

Here is where you create, save and share games, stories and animation projects right online -

Scratch website is a clean, creative, learning, online community and social network mainly for kids and students to learn from others and share their work too. With millions of interesting projects created and shared by users from all around the world - Scratch community is bigger than not only the Apple's AppStore but also all the app-stores on the Internet - combined! Not to mention, everything on Scratch community is free. Almost 30% of the projects are derivatives from existing Scratch projects created by others - which means you could copy a project of your interest, modify it, remix it, claim it as your own and share it with others. We can look into their coding techniques by opening any of those projects, download them and even execute them online or offline (using the downloadable offline editor). The site offers features to explore projects by categories, download, open, execute, share, like, follow and other actions. In future, MIT is has plans to release a HTML-5 or native iOS version to support Scratch on tablets. How funny would that be to create games just by tapping our fingers on tablets!

Using Scratch you can get introduced into various programming concepts - variables, constants, data types, lists, operators, booleans, statements, loops, decisions, events, controls, broadcasting/messaging, sound, pen, x/y coordinates, etc. The new Scratch 2.0 includes features such as Cloud data/variables/lists, cloning sprites through scripts at runtime without duplicating them at design time, creating our own custom blocks, Back-pack for cross-project features (copy, paste, etc), Sound editor, using Web-Camera to interact and detect body movements with the game (a.k.a. XBox Kinect).

New features of Scratch 2.0 -

Some videos to quickly get started on Scratch:
About -
Intro -
Basics - (by a kid)

This Play-List of tutorials from Al Sweigart includes virtually every technique you need to learn about Scratch programming (a little bit advanced):
(I requested Al to create a basic/introductory tutorial for kids/students/non-programmers)

Some great tutorials from Al Sweigart -Here is a Plane Escape game created by a kid:

I wish there was Scratch when I was a kid!