Mostly by accident, I’ve come across two great apps that help teach programming. Both of these apps are free and fairly easy to use.
1. The first is called Alice. From Carnegie Melon, it provides an interface that helps users, young and old, learn object based programming. Users can create people and objects within an environment they design, then make those people and objects do whatever they want. This program provides great tutorials and is a lot of fun to use. After about 20 minutes of playing around, I programmed my character to sit, raise his hands, and jump.
2. The second is called Scratch. This is from MIT and allows users to create games using a little mouse called Scratch. You can use basic commands to create a “choose your own adventure” style game. I haven’t really played with this yet, but it looks very cool.