Book review of Python for Kids: A Playful Introduction to Programming
Python for Kids helps adults teach programming to youth
Computer programming can be a fun hobby, as I learned when I programmed Apple II computers last century. Back then, I'd lie on my bed and dream up some educational game, then run over to my Apple //c to bring the game to life. Sometimes in less than two hours I could go from raw idea to working prototype. The most fun part was sharing the programs I created with friends and having them suggest improvements.
Far from being a solitary activity, programming for me was always a very social activity. It's been about 20 years since then and I've gotten a hankering to get back into it. And the computer programming language Python seems like the best route for me to do so.
The local middle school in Takoma Park, Maryland, teaches Python programming. So, if I developed some expertise at Python, I could assist the students with their Python assignments when they visited the public library where I work. Also, I hear Google uses Python often; it's a real programming language capable of doing a lot. Also, I'm a strong supporter of the amazing Raspberry Pi computer invented in Cambridge, England, and knowing Python will help me get the best use of it when I buy one. (This very affordable computer is bringing electronics tinkering to a whole new generation.)
The new book, Python for Kids: A Playful Introduction to Programming, is just the ticket to get me back into programming. It will also be helpful to me when I volunteer for the CoderDojoDC programming club that has started up this month here in the DC-area. (For more information about the global CoderDojo movement, see CoderDojo.com.) I thoroughly enjoyed the book, although I should caution that the intended audience is more for adults who are coaching youth in programming than for the youth themselves. If you have a nine year old kid interested in learning to program, this is not the book for him or her to read on their own. It would probably be better for them to be exploring and playing with the Scratch programming language from MIT.
Here is what I liked most about this book:
- Visually appealing. The book has a very nice layout and uses colored text and accompanying vector graphics. My favorite chapter in this book is Chapter 11: More Turtle Graphics, which explains how to draw squares, stars, and other shapes using Python. There are several pages that explain how the open source program called GIMP can be used to create drawings for games (for the games you create using Python). GIMP is available for free for all computer platforms Linux, Macintosh, and Windows. (Our schools, libraries, and communities centers should be teaching GIMP, just as they should be teaching Python!)
- Engaging and silly humor used in the examples.
- Short and to-the-point writing style.
- Inclusive. The book explains how to install and use Python on all major computer platforms: Linux, Macintosh, and Windows. And at the end of many of the chapters are programming puzzles that challenge you to write a short program using the knowledge gained in the chapter. Answers to the programming puzzles can be found on the companion website. Also, sprinkled throughout the book are small, interesting vector drawings by Miran Lipovaca, which he tells me he drew using Adobe Flash. These drawings lighten up the page and pull you along in your reading. The use of colorized text in this book makes the material so much easier to comprehend and read.
The greatest benefit for me from reading this book is that I am now generally conversant with the basic tools used in Python. There are many free resources on the Internet for learning Python, but I needed a good starting point. For me, this book is that good starting point.