Learn to Program with Minecraft – Book review

This is a somewhat belated review – I’ve had the book since January and have only just retrieved it from my suitcase! Apologies to Craig and No Starch Press; but the wait was worth it!

IMG_20160806_152633

Learn to Program with Minecraft is a classic example of a good idea done well. Author Craig Richardson takes a great model of teaching and applies it to the world of Python programming, using Minecraft as an outlet for your coding efforts.

Approach and Content

IMG_20160806_152806

This is very much a ground-up book about programming, but is a lot of fun as well. First of all, you are taken through the steps required to set your computer up with Minecraft and the programming environment (a ridiculously easy prospect on a Raspberry Pi, slightly more convoluted for Windows and Mac). Then, you are introduced to programming concepts that you need to know and then you are shown how they work in Python: this includes variables, mathematical operators, types, conditions and loops. The book then introduces you to functions, lists, dictionaries, tuples and for-loops before moving onto more advanced concepts such as file I/O, module importing and, finally, object-orientated programming.

The entire book is written in the format of Tell-Show-Do-Challenge. You are first of all told what you are going to do, and how it works. Then you are shown example code that highlights your knowledge in practice, via the Minecraft world. You are then invited to extend, complete and even fix the example code. Finally, you are challenged to take further steps to cement your knowledge and have some more fun.

Knowing your Stuff

IMG_20160806_152846

Craig Richardson quite clearly knows his stuff, and how to present it. Each part of the book has been created as a ‘mission’ to complete and he manages to convey difficult programming concepts clearly and succinctly. The book, being based on Minecraft, is, of course, a lot of fun. Nothing in recent years has captured the imagination of kids quite like Minecraft, and the 3D world is used to great effect. You’ll soon be teleporting and building, and of course it’s so much fun that you aren’t going to realise quite how much you’re learning until you’ve become as much of an expert as the book can make you.

Solid Foundation

IMG_20160806_152751

What I was most impressed with is that ‘even though’ it’s all based around Minecraft, the book is a solid foundation in Python programming. As I’ve said before, it’s “ground-up” and gives you a firm understanding of those key principles that every programmer needs to learn. There is a focus on debugging, particularly in the early sections, and part of the challenge of the book is to learn how to spot bugs and know how to fix them. The book expects you to make mistakes, but wants you to learn from them, which is, of course, the best way to learn anything.

The Icing on the Cake

If you’ve been reading this blog for a while, you’ll have seen other book reviews and you’ll know the quality I expect when I’m reviewing them. In particular, the quality of the paper and whether or not it is printed in colour. I am pleased to say, if you hadn’t guessed already from the screenshots, that Learn to Program with Minecraft is printed in full colour. Moreover, the quality of the paper is very high and it feels like a very high quality publication. No Starch Press should be commended for the job they’ve done in producing the work as it’s a cut above what I’d expect from a programming book.

Conclusion

You know by now that I often give good reviews of products and books. This book, however, has blown me away. The quality of the writing, the way it is structured, the fact that it is full-colour and the sheer volume of knowledge imparted in it’s almost-300 pages is highly impressive. Very nice job, Craig. Very nice indeed. 🙂

You can buy the book from No Starch Press or from Amazon for around, or slightly under £20 or $30.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.