Teaching for several years kids programming and computer science. I started with Scratch and app inventor, but then discovered SNAP. still excited about SNAP. Its a full blown programming environment and allows to teach advanced stuff to 12 year old I learned in University being twice that age.