This book approaches the Raspberry Pi through Python, the idea being to learn both Python and RP internals together. It's not bad as an intro to Python. A beginner could learn enough basic programming concepts to write some interesting code. One drawback is that the author seems bent on teaching the principles of spaghetti code. He delights in using the break keyword as a way to exit loops, as though logical conditions are only there to control the use of "break." If your intro to coding is this book you should know that in all languages where it exists, the break keyword is used only in cases where it's the only tool available. In standard loops, for example, it's never necessary to use it. A loop should always end when the logical condition that governs its operation changes. It may seem picky, but good style is the sum of a bunch of small habits. It leads to code that's easier to maintain and easier to understand.