Saturday, October 3, 2009

Review: LEGO MINDSTORMS NXT-G Programming Guide

Hey all, I recently got my hands on the LEGO MINDSTORMS NXT-G Programming Guide by Jim Kelly (author of the NXTStep Blog), and I thought I would share my thoughts on the book. I know it is a fairly old title (published in 2007) but the information it contains is still relevent to NXT-G programming today.

Jim Kelly provides information on all of the NXT-G programming blocks available in the NXT-G 1.x software (most of which is still relevent to NXT-G 2.0) as well as information on data-wires, creating MyBlocks, and a few mathematics equations, all presented in a language easily understood and enjoyed by the young target audience (10+). The author begins with an introduction to programming, the art of Psuedo code, and introduces a few simple programming terms throughout the book. I read the book from start to finish in less than a day (without doing the experiments and playing with NXT-G - which I would recommend doing while reading the book), and the information provided by Jim is easy to take in - it is not like reading a straight-to-the-facts guide, but eases the reader into the book through the use of friendly language - which actually made the book fun to read (for me, anyway). Even if you do not read the book chapters in chronological order, the book still makes a great guide and index for quickly finding the information you need. You will completely master what you have learned by creating and experimenting with the sample programs provided in the book, which also show the reader a few places where the programming blocks and your new skills can be used.

The content is very complete in terms of describing the functions of each programming block, and detailed graphics are used as the author explains the functions of the blocks. The chapters are short and full of knowledge on each programming block.

The graphics found in the book are a mixture of black and white photos (of SPOT - the robot used by the author to demonstrate and practice new programming skills on), a few block diagrams (see example below) as well as black and white screenshots of NXT-G (of EACH setting of EVERY programming block). The building instructions for SPOT can be found on the NXTStep (scroll down on the right side), as they are not printed in the book (opinions naturally vary on this), but the programming skills are VERY easily transfered to the reader's own robot.

There are, naturally, a few errors in the book, like the Appendix on the X/Y Co-ordinate system used by the Display block when drawing (the Y co-ordinate is described as the opposite of how it actually works, Y actually increases when moving upwards), but overall the book is a great guide for beginners to the NXT-G programming language, as well as teaching some expierienced NXT users a thing or two (How does the default Switch Block setting work and when is it used ;)).

In conclusion, I would definately recommend the book to the intended audience, and it is probably a great addition to a Father-Son team effort in learning about the MINDSTORMS NXT, as well as adults new to the NXT! The information has been described as being available on the internet and in the help files provided in NXT-G (Jim Kelly even tells the reader to use the help guides for finding out more about data-wire hubs), but if you are looking for a very readible book on NXT-G, a resource that you can continually use, and an introduction to useful programming skills, then this book is probably of worth to you.

Other Notes:
Sadly, the Errata found on the Apress (Publisher) site has not been used by the other reviewers who complain about the book, but any corrections you are looking for can probably be found on the NXTStep Forum board, where you can also ask the author any questions you have!

New NXT-G 2.0 Feautures not covered:

- Colour Sensor Block
- Initate Bluetooth Block
- Remote Control
- Sound Editor
- Image Editor
- Use of Floating Point Mathematics

No comments: