I have recently found a new device to help learn programming with, The Finch Robot. A small peripheral the you can use externally to your computer. It can move, see obstacles in front of it and tell if the light is on. It also has wheels that can be told to move at varying speeds and direction independently. There are more sensors in the Finch, light, temperature and an accelerometer as well as a slot to hold a pen for drawing. In my testing I used the Snap! IDE and found it easy to use. Watch for more about Snap!! You do have to reboot the computer after loading the drivers for the Finch.
After starting the Birdbrain server, the connecting software for the Finch, and plugging in the Finch USB cable you will be able to start the Snap! web site with support for the Finch.
I found that if you sign up for a Snap! account you can save your Snap! projects to a cloud storage area and pick it up on another computer. I found that if you save a Finch Projects for Snap! to the cloud and open it on another computer, without the Finch, you still have access to the Finch specific blocks. This helps a lot if you are taking a class using the Finch but do not have one of your own. You will be able to work on your project anywhere you can access the internet.
The Finch Robot is easy to use, perhaps a little slow in reacting to change but that could just be me. Over all I think this is a very good way to spend $100 dollars and teach/learn to program. Keep checking back for some projects for the Finch and using Snap!
Additional links to finch resources will be here and updated as I find more of them.