The programming language Scratch was developed at MIT as an educational tool to introduce younger students to programming, as a stepping stone to more advanced work. There are many good Scratch resources designed for students from fourth grade up.
The Scratch home page at MIT contains tutorials, projects, and more: https://scratch.mit.edu/
Super Scratch Programming Adventure (Covers Version 2)!: Learn to Program by Making Cool Games! was produced by the LEAD project; the most current edition is the 2nd edition from No Starch Press (2013). This graphic novel for ages 9 and up teaches the basics of computer programming.
Scratch 2.0 Programming for Teens, 2nd edition, by Jerry Lee Ford, Jr. (Cengage Learning, 2014) is an excellent guide for ages 12 and up.
A free online Scratch course is sponsored by EdX: https://www.edx.org/course/programming-scratch-harveymuddx-cs002x-1