Lessons Learned from Writing a Technical Book to Teach Programming

From 2008 to 2009, I wrote a book called “Invent Your Own Computer Games with Python” ( http://inventwithpython.com ) which guides young adults and complete beginners through learning how to program in the Python language. I’ve just completed the second edition of the book, which has been an exhausting amount of work. Looking back over it, I realized that it could have been a much less exhausting experience if I had made some simple preparations.

I’ve decided to write up this post on the lessons learned and the best practices for writing a technical book that aims to teach programming. This post will help me organize my thoughts so that I’m more prepared for my own future writing, but the practical tips can help others who aspire to write a book as well. (more…)

Read More

What's new in the second edition?

I'd like to enumerate all the new stuff that went into the second edition of "Invent Your Own Computer Games with Python".

First, the book itself features four new chapters that covers Pygame, a game library for Pygame that makes it easy to create programs with GUIs that display graphics, play sounds, and accept mouse input.

Second, the 2nd edition covers the newer Python 3 version.

Third, the new website (http://inventwithpython.com) has been updated with several new features. The online diff tool allows you to compare your code with the books, so you can tell immediately where you've made typos. The Python interpreter's error messages can sometimes be very cryptic, especially to the beginner. Finding the source of these error messages can be tedious without the diff tool.

The website has a videos section, where the videos on the book's YouTube page at http://www.youtube.com/user/inventwithpython. (Currently, there is only a video accompanying the Reversi chapter. However, a screencast tutorial that follows along with the book is planned.)

The web site also has an extra content section, where additional programs and chapters that were cut from the book are placed.

These sections will be expanded in the future as their contents are organized.

Read More

Second Edition of “Invent with Python” is available!

It’s been a lot of work, but the second edition of “Invent Your Own Computer Games with Python” is now ready. The second edition has many edits, figure updates, and a new section that covers the Pygame library which explains how to make games with graphics and sound.

“Invent with Python” is a free book that teaches kids (and adults) how to make computer games in the Python language. It’s aimed at people who have had no experience with programming before. The website also has some nifty features: online diff, a tracing tool, and (soon) video tutorials to accompany the book.

Thanks a lot to everyone who’s helped out!

Read More