Good book to learn programming?

"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