19 books directly related to computer science 📚

All 19 computer science books as recommended by authors and experts. Updated weekly.

The Book of Why: The New Science of Cause and Effect

By Judea Pearl, Dana MacKenzie,

Book cover of The Book of Why: The New Science of Cause and Effect

Why this book?

This book describes the culmination of Judea Pearl’s research on causation. For his work, Pearl won the Turing Award, which is widely considered the equivalent of the Nobel Prize for computer science. The book presents a simple, yet powerful language to talk and reason precisely about causation, a topic scientists and philosophers have studied for centuries. In addition to the well-developed theory and the many well-chosen examples, what I love about this book is that it illustrates that computer science is not just about producing software, but that it can create powerful general theories about the world.

Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

By Michael Lopp,

Book cover of Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

Why this book?

Michael Lopp, or Rands, as he is commonly known online, has been sharing his knowledge as a software manager for years, mainly through his blog. He is one of the most insightful voices about the art of management in a software environment, and even if you are not a manager yourself (and don’t want to become one), will make you understand and better collaborate with your own manager, and be ready when you need to lead a team or understand how it is to work with other humans.

Foundation ActionScript 3.0 Animation: Making Things Move!

By Keith Peters,

Book cover of Foundation ActionScript 3.0 Animation: Making Things Move!

Why this book?

Okay, hear me out. Yes, this book was published in 2007. Yes, it’s ostensibly about ActionScript, the coding language in Flash, which no one uses anymore. But you won’t use this book to learn ActionScript or Flash: You’ll use it to learn how to make things move with code, in any language. You’ll skip over the ActionScript-specific parts in favor of the lucid explanations and helpful illustrations. Your visual brain will appreciate seeing how sines, cosines, and tangents are relevant—and necessary!—to make digital things move. (Your heart will wish your brain had paid better attention in trigonometry class years earlier, but hey, no regrets!) The chapters “Trigonometry for Animation” and “Velocity and Acceleration” alone are worth the purchase price.

The Innovators

By Walter Isaacson,

Book cover of The Innovators

Why this book?

In this treatise, Isaacson answers the question “How did we get here?” with fascinating detailed storytelling about the most important contributions and contributors to computer science. It is a definitive reference work—-if you want information about someone or something related to computer science, you can use the index to this book as the springboard to an engaging and interesting story.

The book opens with an illustrated timeline that neatly summarizes what is to come. It really is worth reading the book cover to cover to get full context on how the digital revolution really happened (admittedly, there are plenty of details that can be safely skimmed). Particularly fascinating are the ways in which these people connected with and influenced each other. From Turing to Steve Jobs, the story is a seamless web.

This book is nothing short of a masterpiece.

The Imposter's Handbook: A CS Primer for Self-taught Developers

By Rob Conery,

Book cover of The Imposter's Handbook: A CS Primer for Self-taught Developers

Why this book?

Wow! This book is exactly what every programmer has always wanted to know or even felt guilty about not knowing and it’s all presented in an extremely simplified and fun way. 

This is one of those books where you get excited in the morning when you wake up because you know you are going to be able to read more in the book and you are hoping the book will never end.

It’s rare to find a big book that I enjoyed reading so much and felt so short. This book covers almost everything you ever wondered about computer science. After reading this book, I felt like I finally understood everything a programmer was supposed to know and I no longer felt that nagging feeling of being an imposter.

Codex Seraphinianus

By Luigi Serafini,

Book cover of Codex Seraphinianus

Why this book?

One of the most treasured and unusual books in my personal library. It’s an encyclopedia from another world, entirely written in a made-up language. Page after page of haunting and strange illustrations, organized into specific categories and concepts. Sitting with this book transports me back to the time before I could read, when words felt like incomprehensible symbols. Taking the time to puzzle over this book feels like such a valuable experience. It takes me right out of the familiar ways of taking in information and puts me in a state of mind that has to search and consider the juxtaposition of images and ideas in totally new ways. I can’t recommend this book enough.

Gödel, Escher, Bach: An Eternal Golden Braid

By Douglas R. Hofstadter,

Book cover of Gödel, Escher, Bach: An Eternal Golden Braid

Why this book?

The focus of this book is self-reference and recursion. By explaining what formal systems are and how they can be identified in music and art, Hofstadter illustrates how fundamental concepts of computing appear in unexpected areas of our lives. A focus of this book is on the principal limitations of formal systems and thus of computing. Some parts of the book may be hard to digest due to the significant use of formal symbol manipulation, and with 777 pages it is not a quick read. The effort is, however, rewarded with deep insights into Gödel's incompleteness theorem and its implication for computing. This is a brilliant book, a true classic, which contains much food for thought.

How Not to Be Wrong: The Power of Mathematical Thinking

By Jordan Ellenberg,

Book cover of How Not to Be Wrong: The Power of Mathematical Thinking

Why this book?

This book is not about computing, but it is relevant in an indirect way. I love this book, since it is written in such an engaging style and illustrates with many examples that math is not a dry subject to be practiced only by mathematicians but helps everyone to solve real-world problems. The book shows how important it is to be precise in describing problems and that applying a little mathematical rigor goes a long way in solving them. Ellenberg describes mathematics as the “extension of common sense by other means.” In a similar way, I view computer science as the extension of problem-solving methods (aka “algorithms”) by other means. 

The Art of Computer Programming: Volume 3: Sorting and Searching

By Donald Knuth,

Book cover of The Art of Computer Programming: Volume 3: Sorting and Searching

Why this book?

Knuth’s unique mix of playfulness and rigor came to define computer science as an intellectual discipline: computer science didn’t really have anything to do with computers, but everything to do with a particular way of seeing the world.  Just browse and wonder at the beauty and precision achieved in these books.   

Volume 3 (Sorting and Searching) is my personal favorite, and I encourage you to start there. During the pandemic, I finally got around to reading Volume 4A (Combinatorial Algorithms), which was published thirty plus years after Volume 3. It was the same feeling I had watching the movie The Phantom Menace years after growing up with the original Star Wars trilogy. I had forgotten just how unique and distinctive Knuth’s Art of Computer Programming is.

Computers Ltd.: What They Really Can't Do

By David Harel,

Book cover of Computers Ltd.: What They Really Can't Do

Why this book?

This book provides a brief introduction to the concept of algorithms before discussing the limitations of computation. Specifically, Harel explains undecidable problems (that is, problems for which no algorithm exists) and infeasible problems (that is, problems for which only algorithms are known that have an exponential runtime). I like this book (and its splendid title) because of its focus on the limitations of computation. Harel does a marvelous job in explaining two difficult topics about computation. The understanding of any scientific discipline requires the understanding of its limits, and the limits of computation are as significant as they are surprising.

Dealers of Lightning: Xerox Parc and the Dawn of the Computer Age

By Michael A. Hiltzik,

Book cover of Dealers of Lightning: Xerox Parc and the Dawn of the Computer Age

Why this book?

The software interface for Apple’s innovative Macintosh was largely (and legally) modeled on system software designed at the Palo Alto < California research center of Xerox, an East Coast photocopy company whose stodgy executives failed to realize the value of the coding breakthroughs they had funded and nurtured in the heart of northern California’s computer cauldron. Before anyone at the top of Xerox realized the enormity of their errors, the company had licensed to Steve Jobs and Apple key software technologies that animated the Macintosh revolution in the 1980s. Hiltzik’s richly detailed and readable history, based on scores of interviews, is the best account of the epic failure of an American corporate icon. Apple and Jobs went on to achieve glory while Xerox ultimately became a zombie company, having missed the greatest industrial wave of the past 75 years. 

Tools and Weapons: The Promise and the Peril of the Digital Age

By Brad Smith, Carol Ann Browne,

Book cover of Tools and Weapons: The Promise and the Peril of the Digital Age

Why this book?

Brad Smith is the president of Microsoft, a lawyer who designed and drove Microsoft’s legal strategy during the anti-trust suit in the 1990s. (I should also mention he was my undergraduate classmate at Princeton University—though I’ve not seen him in decades.) Smith co-authored the book with Carol Ann Browne, Microsoft’s Senior Director of Communications. Most big tech companies see themselves as historically unique, allergic to discussing risk, regulation, responsibility, or self-restraint. I assumed this book would follow suit; but I was wrong. It’s honest, balanced, and full of historical references to earlier technologies, such as railroads, electricity, the telegraph, and nuclear weapons. It’s also loaded with insider stories about cyber threats, social media-facilitated violence, and international law initiatives (e.g., the “Digital Geneva Convention”). This book taught me a lot about how major tech companies are already affecting war and peace.

Introduction to Algorithms

By Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

Book cover of Introduction to Algorithms

Why this book?

With over one million copies sold this may be the most popular computer science book in the world. This bedrock of computer science education is both a definitive textbook and reference book and is a must-have for anyone in the field of computer science. This latest edition is significantly updated and includes color throughout the text.

The Golden Ticket: P, NP, and the Search for the Impossible

By Lance Fortnow,

Book cover of The Golden Ticket: P, NP, and the Search for the Impossible

Why this book?

The most important unanswered question in computer science has a huge public relations problem. Back in the 1970s, this question became known as “P=NP?”—and who could write an exciting book about that? Luckily for us, Lance Fortnow can. As one of the world’s foremost experts on P-vs-NP, he takes us on a wild and truly accessible ride through the most important question about computing. I’ve seen many attempts at making “P=NP?” accessible/understandable/intriguing for non-experts. But Fortnow nails it like nobody else, reformulating P-vs-NP as a search for one of the golden tickets in Charlie and the Chocolate Factory. (Which is another one of my favorite books, even though it’s not going to make it onto this list about algorithms.)

The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World

By Pedro Domingos,

Book cover of The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World

Why this book?

This book provides an excellent description of the various kinds of machine learning approaches and asks the question of whether there will be a Master Algorithm, one single (universal) algorithm that learns all kinds of tasks from data. The author, Pedro Domingos, introduces the different approaches to building intelligence and the research tribes exploring them – Symbolists (with its foundations in Philosophy and Logic), Connectionists (foundations in Neuro/Cognitive Science), Evolutionaries (foundations in Evolutionary Biology), Bayesians (statistical foundations), and Analogizers (Psychology). He also introduces some of his own ideas on what the master machine learning algorithm might look like. It’s a really useful primer for those who are not deeply immersed in machine learning but it’s written for readers with at least a basic engineering and computer science background.

Algorithm Design

By Jon Kleinberg, Éva Tardos,

Book cover of Algorithm Design

Why this book?

I’ve probably spent more time with this book than with any other technical book. It’s one of those books where you can get as much out of it as you like by revisiting the material at increasing levels of depth. I appreciate the conversational but rigorous tone, the solved examples, the false starts, the intuition that the authors build, and the applications of algorithm design to realistic problems. The Maximum Flow chapter is not to be missed.

The Most Human Human: What Talking with Computers Teaches Us About What It Means to Be Alive

By Brian Christian,

Book cover of The Most Human Human: What Talking with Computers Teaches Us About What It Means to Be Alive

Why this book?

This is an entertaining and lighter read than my other recommendations about AI. It is specifically about chatbots trying to pass the Turing Test, and ultimately is a witty story of what it means to be human. For anyone who has ever mistaken an answerphone for a person, or a person for an answerphone!

The New New Thing: A Silicon Valley Story

By Michael Lewis,

Book cover of The New New Thing: A Silicon Valley Story

Why this book?

It is easier to say what the ‘new, new thing’ is not than to say what it is. It is not necessarily a new invention. It is not necessarily a new idea – most everything has been considered by someone, at some point. The author explains that the new, new thing is a notion, poised to be taken seriously in the marketplace. It is an item that is a tiny push away from general acceptance and when it gets that push, will change the world.

In 1921, Thorsted Veblen predicted that engineers would one day rule the U.S. economy. He argued that the economy was premised on technology and that engineers (in today’s terms, ‘computer science majors’) were the only ones who understood how technology worked. So, inevitably they would use their superior knowledge to seize power from the financiers, captains of industry, and other business elites.

New growth theory holds that wealth comes from human imagination. Wealth isn't having more of old things, it is having entirely new things. Concurrently, an almost absurd value is placed on novelty, accompanied by a lack of interest in the past, whether one’s own, the Silicone Valley’s, or the world’s. The presumption among many of today’s technology elites is that if it is old it must be dead. Wow, quite a mindset, but as innovators, we have to consider the ramifications.

Things That Make Us Smart: Defending Human Attributes in the Age of the Machine

By Donald A. Norman, Tamara Dunaeff,

Book cover of Things That Make Us Smart: Defending Human Attributes in the Age of the Machine

Why this book?

This book is about the design of artifacts that are used by humans. It discusses, in particular, how specific features of cognitive artifacts can support or impede their effective use. The physical artifacts discussed in this book provide concrete illustrations for some abstract computer science notions such as types. I have used some of the examples successfully in talks about computer science for the general audience. A focus of this book is on representations, which plays an important role in many areas of computer science. If you enjoy the examples discussed in this book and like to think about representations, then you are thinking like a computer scientist.