This is a good book to learn the structure, syntax and instruction set for the Arduino programming language. I wouldn't recommend it as the first book for someone who knows absolutely nothing about writing programs in a high level language but it is great for someone who perhaps used basic, fortran or some other structured language in the past. With a little prior knowledge you will quickly pick up on the basics of the Arduino language and will be off and running in short order. The examples are excellent and the author clearly walks the reader thru what is happening and why. It was a perfect first book for me to get started programming Arduino but as I noted, I have had some prior experience.
Cons: 1) Author uses some pretty fancy code to illustrate a point at times. He is trying to demonstrate how to use some of the powerful statements of the language but it may confuse a newby. 2) Doesn't comment his source. A nice feature but in his defense, he does a good job explaining the code in the text. 3) Doesn't include much in the way of language reference which is really what I wanted in a beginning book (e.g., a complete list of statements, syntax, etc. in a appendix).
Good book for the right reader!!