My 9-year-old daughter Jane likes playing with Scratch, a kids' programming language developed at MIT. (I recently reviewed a great book called Super Scratch Programming Adventure.)
Python for Kids: A Playful Introduction to Programming is another programming book for kids. I've been going through it myself, and enjoying it. Unlike Scratch, which lets you write programs by dragging and dropping colored command blocks, Python is a traditional programming language that uses lines of code. I've played around with other languages a bit, but Python is the only language that seems to be as easy and intuitive as BASIC. I'm not sure if Jane is ready for Python -- she wouldn't have trouble learning it, but it's not as fun as Scratch (at least at first), but I think in a year or two she might be. And this is the book I'll give her when she's ready.
Python for Kids brings Python to life and brings you (and your parents) into the world of programming. The ever-patient Jason R. Briggs will guide you through the basics as you experiment with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored, dissected, and explained; and quirky, full-color illustrations keep things on the lighter side.
Chapters end with programming puzzles designed to stretch your brain and strengthen your understanding. By the end of the book you'll have programmed
two complete games: a clone of the famous Pong and "Mr. Stick Man Races for the Exit" -- a platform game with jumps, animation, and much more.
As you strike out on your programming adventure, you'll learn how to:
--Use fundamental data structures like lists, tuples, and maps
--Organize and reuse your code with functions and modules
--Use control structures like loops and conditional statements
--Draw shapes and patterns with Python's turtle module
--Create games, animations, and other graphical wonders with tkinter