Scratch

Scratch is a visual programming language. Commands are represented as blocks that snap together to create programs.

It is a great first programming language. Since Scratch is not a grammar of terse text, many syntax issues are avoided, allowing the children to focus more on programming concepts with minimal syntactic distractions.

Scratch is from MIT. It is free and is freely available from their website.

Children will very quickly be able to have something running. Also, since Scratch is graphics based and their program commands things (sprites) on the stage, the children will get immediate pleasure and encouragement to continue, explore and learn more.

Note: The program above moves the sprite toward the mouse pointer. Scratch does all the work for this simple program!