Think Like a Programmer (No Starch Press)

Do you feel like you have learned a programming language but still struggle to program? If so, you are not alone. In my teaching, I encountered this problem again and again. Most programming books teach people how to read a program, not how to write one. Readers learn how the different elements of a language work, but not how to put them together to make an original program.

I wrote Think Like a Programmer to help these learners. Using the C++ language as a basis, this book takes readers through the mental process of creating a program. Programming is ultimately a creative activity and Think Like a Programmer helps programmers unlock their creativity and find paths to solve any computing problem.

I am happy to say that this book has been very successful in helping new programmers all over the world reach their potential. The book is now in its tenth printing and has been translated into seven languages so far.

If you would like to check out some of the concepts in the book, try the Think Like a Programmer videos on my YouTube channel.

How Software Works (No Starch Press)

Our world runs on software that most of us take for granted. For example, we see a lock icon in our browser’s address bar that says our transmissions are secure. But how does software secure it? How is it that two companies can have their client data hacked, and one of them says you have to change your password immediately and the other says it’s not a big problem? How do computers create the amazing graphics we see in movies? And how do games create images that look almost as good, even though they only have 1/60th of a second to do so?

How Software Works provides the answers to these questions and more. It lets you see the software behind the curtain. In plain language, it explains how the computerized world around you actually works. Whether you are a casual technology enthusiast or a programmer, if you want to know more about how technology allows our modern world to function, give the book a try.

You can also check out my video series on how software works. I cover different concepts in the videos than those in the book, but if you enjoy one, you’ll probably enjoy the other.

Computer Science Made Simple (Crown)

My first book explains, in easy-to-follow language, how computers actually work. What a CPU is, what RAM is, and how they work together. What programs and algorithms are. How computers interconnect. How computers store data.

Although this book was written a while ago, and some of the references are therefore a bit dated, the concepts are still accurate. If you want to understand computing terminology and how computers actually work, without getting bogged down in unnecessary technical detail, this may be the book for you.

This book is available in a Kindle edition.