What better way to celebrate Computer Science Education Week than with a new book? Try one of the newest from No Starch Press, Mission Python: Code a Space Adventure Game! by Sean McManus.
I’m a big fan of all of the No Starch books, and this one is no different. One of my favorites is Super Scratch Programming Adventure, which gives you a chance to create your own video game. Mission Python! is similar, though for a somewhat more advanced audience. The reader gets to learn Python while building a space game in Python.
The book is built around using either a Windows PC or a Raspberry Pi, but doesn’t assume you know much. It begins by walking you through installing the necessary software, Python and Pygame Zero (if you’re on a Windows machine—they both are pre-installed on the Raspbian distro for the Raspberry Pi).
From there, it’s step-by-step lessons on how the program is built. However, I love the recommendations in the introduction for various ways to use the book. Some learners will do better to walk through from the beginning and build it themselves. Others will benefit from downloading the finished game and playing it first before building it, which you can do. This is my preferred method, as you have an idea at each step what the result will look like. And either way, once you’re finished, you can use what you know and have learned to change the game—edit the graphics, change the puzzles, or anything you like.
Even testing your code is fun, offered in the form of “training missions.” Space fans will enjoy the theme continued through the book with section titles like “Mission accomplished?” and “Are you fit to fly?”
Finally, there’s my favorite bonus. It doesn’t add anything to the content, but the page numbers are accompanied by a little astronaut who walks if you thumb through the pages like a flip book.
If you’re looking for additions to your computer science education or gifts for your budding programmer, I’d generally recommend anything from No Starch Press, but Mission Python! is one of my new favorites.