I recently finished two books by Brian Kernighan that I recommend to those interested in computers and math, but who may be intimidated by the topics:
- Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security
- Millions, Billions, Zillions: Defending Yourself in a World of Too Many Numbers
Millions, Billions, Zillions is a surprisingly light book on basic arithmetic, specifically on estimation techniques and thinking mathematically. I tend to reach for a calculator, or "gut" estimate more often than I'd like, and I found this book refreshing to get back into thinking mathematically again. The techniques and approaches for ruthless estimation were helpful, too. I recommend this book to students and professionals alike who often shy away from math problems, because in many cases, you can get really far with knowing basic arithmetic, some facts about the world, and a few minutes of thinking. Getting back in the habit of thinking and inquiring this way alone makes this book worth reading.
Understanding the Digital World was also a good read, and I would highly recommend it to students and professionals who are not very familiar with how computers and computer systems work. In fact, the book was written with that audience in mind: to educate and bring up to speed people, particularly experts and professionals, who may know much, but not about our digital systems. The book gives a high level overview of topics from the inner workings of a computer, to programming and software, to the internet, security, machine learning, and blockchain.
Beyond the topics, I really appreciate Kernighan's style. His prose is simple, direct, and to the point. I'd even consider him at times to be dry, but that's what I appreciate about his writing! It's not laden with metaphors and soaking in flowery and poetic language; instead, the books are sharp, simple, and easy to read. Despite its length, I found Understanding the Digital World to be a quick read, because of the writing style.