MIT has created a free programming tool for kids called Scratch. From their website:
Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web.
Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.
We’ve tried this program and it is awesome! Kids as young as 5 would be able to pick this up, depending on how computer savvy they are. This a great tool for learning all kinds of things. It would inspire creativity as well as teaching the concepts of programming. The pieces of the program snap together like blocks so it’s easy to see how your program is going to work.