Great pedagogy for programming and even mathematics.
Developed by MIT, Scratch is the current favorite programming tool of mine for teaching programming to much younger children.
It used to be Logo. Which I think is still a good teaching tool.
But who could beat MIT. It's easy to pick up, drag and drop, fun.
Though unlike other subjects' tutorials, Scratch's tutorial is one not easy to find online at this time. A good website for learning Scratch: http://learnscratch.org/.
There is a book promoted by Slashdot (one could browse through its rich comments): Super Scratch Programming Adventure!, too bad there isn't a kindle version for android phone at this time. The promo video is very promising. I will just put this in my wishlist, until I finish reading another scratch book which I have just requested from the Queens Library: Scratch Programming for Teens.