I learned programming on my own when I was twelve years old with a TRS-80 and Microsoft Basic. The documentation that came with the TRS-80 was fantastic. Alas, today, no vendor would ever think of including an introduction to programming with a computer. If your are a dad (or a mom) and you regret this, then Hello World: Computer Programming for Kids and Other Beginners by Warren and Carter Sande is for you. The book is cheap: while the list price is $34, Amazon sells it for a little over $23.
As a kid, my initial goal was to create my own video games. And I did! I learned (entirely on my own) that:
- Even though computers are fast, it is hard to create fast software. Being clever is hard work!
- While it is easy to program a small game, programming a slightly more complex game can be orders of magnitude more difficult.
This book should allow your kids to learn as much and more.
Instead of using Microsoft Basic, the authors use Python. An excellent choice. They cover all the same material as in my venerable TRS-80 documentation: random numbers, variables, loops, graphics, functions and sound. However, there are a few more advanced concepts: dynamic arrays, arrays of arrays, objects, modules, file input and output, and event-based programming.
Note that many of the examples of the book would not run on the latest Python release (3.1). That is a minor concern since I would recommend you stay away from Python 3 in any case.
Disclosure: I was given a free e-book in exchange for my review.