In the six years since LEGO Mindstorms NXT was released (and four years since NXT 2.0), LEGO has released little beyond the basic kits for building robots. The problem is that the system is so versatile and they have released such limited documentation, which is where books and websites come in. One such book is The Art of LEGO Mindstorms NXT-G Programming by Terry Griffin.
The Art of LEGO Mindstorms NXT-G Programming starts by showing the basics and how to build a robot, but the difference between this book and the other NXT books I have looked it as that once the first robot is built, it is the only robot built in the entire book. The focus of the book is the programming rather than the building and construction of different robots.
NXT-G is a programming language based on visual blocks rather than computer language specific words. It’s an excellent resource for people who do not yet know how to program and can introduce a person to concepts that they are heretofore unfamiliar with. From loops to conditionals, everything is represented in NXT-G, and The Art of LEGO Mindstorms NXT-G Programming does a good job of explaining it all and uses pseudo code to help transition a reader of the book to real programming languages.
Starting with basic programming and building to more advanced programs for Mindstorms robots, the book gives a good overview of programming then goes in depth as it explains how the different programs work with the robot. The book breaks down the NXT-G programming concepts into understandable language then demonstrating them with an example program that the demo robot can execute and perform actions based on the prescribed programming blocks.
The Art of LEGO Mindstorms NXT-G Programming also teaches more complex processes through iteration. Griffin creates a program, teaches how it works and then will improve upon the program using more complexities and then goes over what was done at the conclusion of each chapter.
The examples in the book range from simply making the robot play a tone to making robots that can move around mazes by tapping the walls to line following robots. The diversity of the projects give a good range of the capabilities of what the LEGO Mindstorm NXT robotics system is capable of, and gives the reader a good jumping off point to create their own robots.
The strength of The Art of LEGO Mindstorms NXT-G Programming is its focus on programming robots and not the robots themselves. By not having to focus on hardware, it gives a strong programming background to the user, which is why I recommend this book to anyone who wants to learn to program and create their own robots rather than just following instructions from a book.