Scratch is a free drag-and-drop programming language for kids, developed at MIT. My 10-year-old daughter Jane uses it to create puzzles, games, and interactive cartoons. In 2012 I reviewed a book called Super Scratch Programming Adventure, a comic book guide to Scratch. I recommend it.
I also recommend the new book, Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math. Like Super Scratch Programming Adventure, this book is aimed at the complete beginner, but it goes deeper, exploring powerful programming concepts that show how useful Scratch is, for kids and adults.
From the book's description:
Harness the power of repeat loops and recursion
Use if/else statements and logical operators to make decisions
Store data in variables and lists to use later in your program
Read, store, and manipulate user input
Implement key computer science algorithms like a linear search and bubble sort
Hands-on projects will challenge you to create an Ohm's law simulator, draw intricate patterns, program sprites to mimic line-following robots, create arcade-style games, and more! Each chapter is packed with detailed explanations, annotated illustrations, guided examples, lots of color, and plenty of exercises to help the lessons stick. Learn to Program with Scratch is the perfect place to start your computer science journey, painlessly.
Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math