Good book to learn programming?

My textbook for school is "Beginning C for Arduino" and it falls short of explaining the concepts involved I feel. So can anyone recommend a good book on the subject? To the best of my knowledge I will not need any programming outside of Arduino. So a full blown C or C++ course is not necessarily necessary . But if that will help me understand things, I will definitely consider it.

Thanks in advance!

For Arduino you also have the tutorial and reference section on arduino.cc that have lots of sample sketches that should help you learn the most important constructs.

I have found this book to be a great source of information.
Here

If you haven't written much code I recommend this book also.
Here

LarryD:
If you haven't written much code I recommend this book also.
Here

+1

title: Introduction to Embedded Systems: Using ANSI C and the Arduino Development Environment

"Beginning C for Arduino" ... falls short of explaining the concepts involved...

I'd really like to know in what ways the book "falls short". The reason is that I'll be writing a second edition of the book starting in a few weeks. Reading the reviews on Amazon, the biggest complaint seems to be the lack of hardware coverage, which was never my intent, as pointed out in the book's intro. The goal was to teach C, not electronics, and most readers are complimentary about the book.

That said, the new edition will include more projects in the chapters to augment the language concepts. There will also be new chapters on OOP (mainly as it applies to libraries), interrupts, and interfacing to external devices (e.g., I2C, SPI, data logging, etc.)

Any ideas that readers have for improvement would be welcomed.

Dr. Jack Purdum, W8TEE

I've just started tinkering with this book to give me some understanding of how Arduinos work, dont know if this is any use?

this ebook : http://www.amazon.com/Beginning-Arduino-Technology-Michael-McRoberts/dp/143025016X is really easy to understand. I learn arduino from zero from this book. :slight_smile:

Moderator edit: link to illegal download replaced

I learned C off the old K&R blue book, and I believe there's a similar one for C++. It would be an interesting approach to teach C++ by way of arduino programming.

Here are my 3 favorite books I've used to learn Arduino, and I've had great success with them. The first two include many sample programs too, downloadable for free online!
1) Programming Arduino: Getting Started With Sketches, $8.48
2) Programming Arduino Next Steps: Going Further with Sketches, $14.02
3) C++ Pocket Reference, $9.16

For anything beyond these three books I've used supplemental online resources, most of which I've documented in the list at the bottom of my article here:
ElectricRCAircraftGuy.com--RC, Arduino, Programming, & Electronics: The Power of Arduino - "The Power of Arduino"

-On 2nd thought, the truth is that I've used the online resources listed at the bottom of my article above as my primary resources, and the 3 books above have been the supplements to my list of online resources. Nevertheless, I still highly recommend the books as well, as online material isn't enough. Books are generally more methodical, more complete, and sometimes higher quality, since the author actually has a monetary incentive to do a great and thorough job. The books, for me, have really filled in where the online material was lacking, and the online material has really filled in the gaps and low-level details where the books have been lacking.

~Gabriel