Spent part of today teaching kids to program using Scratch. I think that it's an excellent learning tool for young beginning programmers, to introduce basic if else logic and cause-effect ideas. It also has more advanced capabilities like variable manipulation.