The most recommended computer science books

Who picked these books? Meet our 41 experts.

41 authors created a book list connected to computer science, and here are their favorite computer science books.
When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

What type of computer science book?

Loading...
Loading...

Book cover of Introduction to Algorithms

Chris Zimmerman Author Of The Rules of Programming: How to Write Better Code

From my list on programming for people who want to be good at it.

Why am I passionate about this?

I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.

Chris' book list on programming for people who want to be good at it

Chris Zimmerman Why did Chris love this book?

Yes, it’s a textbook, albeit a particularly well-written one. You may already have it on your shelf, if you’ve taken a programming class or two.

I’m way too old to have used CLRS as a textbook, though! For me, it’s an effectively bottomless collection of neat little ideas—an easy-to-describe problem, then a series of increasingly clever ways to solve that problem. How often do I end up using one of those algorithms? Not very often! But every time I read the description of an algorithm, I get a nugget of pure joy from the “aha” moment when I first understand how it works.

Book cover of Game Theory

Felix Munoz-Garcia Author Of Game Theory: An Introduction with Step-by-Step Examples

From my list on learning Game Theory.

Why am I passionate about this?

I am a Professor of Economics at Washington State University. My research focuses on applying Game Theory and Industrial Organization models to polluting industries and other regulated markets. I analyze how firms strategically respond to environmental regulation, including their output and pricing decisions, their investments in clean technologies, and merger decisions, both under complete and incomplete information contexts.

Felix's book list on learning Game Theory

Felix Munoz-Garcia Why did Felix love this book?

This book is an extremely rigorous and formal presentation of Game Theory concepts to Ph.D. students.

The chapters about complete information games and repeated games are particularly superb relative to other advanced books in this field. It also offers chapters on cooperative games, which is quite uncommon in other books (both at the undergraduate and graduate levels.)

The coverage of signaling games, Perfect Bayesian Equilibrium, and equilibrium refinements is relatively brief compared to most other topics in the book, but the book is still great.

By Michael Maschler, Eilon Solan, Shmuel Zamir

Why should I read it?

1 author picked Game Theory as one of their favorite books, and they share why you should read it.

What is this book about?

Now in its second edition, this popular textbook on game theory is unrivalled in the breadth of its coverage, the thoroughness of technical explanations and the number of worked examples included. Covering non-cooperative and cooperative games, this introduction to game theory includes advanced chapters on auctions, games with incomplete information, games with vector payoffs, stable matchings and the bargaining set. This edition contains new material on stochastic games, rationalizability, and the continuity of the set of equilibrium points with respect to the data of the game. The material is presented clearly and every concept is illustrated with concrete examples from…


Book cover of Beautiful Code

Christian Clausen Author Of Five Lines of Code

From my list on reads with your hands on the keyboard.

Why am I passionate about this?

My life has been about programming for as long as I can remember. Learning to code was a way to connect with my dad and express my creativity at a young age. Since I grew up with code, it became the way I understood the world; often I could look at a process or program and immediately see its source code in my mind. I developed a very strong sense of aesthetics searching for “perfect code,” which for me was code that was not only error-free but resistant to errors. My studies, research, and career is about moving myself and all programmers closer to that goal: Software that never fails.

Christian's book list on reads with your hands on the keyboard

Christian Clausen Why did Christian love this book?

Continuing down the engineering part of this mini-curriculum, we have a collection of interesting ideas, each written by a different author, all of them inspiring.

Some of the chapters in this book I have reread more times than I can count, because the ideas are so original and intriguing that my fingers start to tingle.

By Andy Oram, Greg Wilson,

Why should I read it?

1 author picked Beautiful Code as one of their favorite books, and they share why you should read it.

What is this book about?

How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding and design experts to see problems through their eyes. This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to…


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

Martin Erwig Author Of Once Upon an Algorithm: How Stories Explain Computing

From my list on computer science without coding.

Why am I passionate about this?

I’m a professor of computer science at Oregon State University. My research focus is on programming languages, but I also work on computer science education and outreach. I grew up in Germany and moved to the United States in 2000. Since computer science is a fairly new and not widely understood discipline, I am interested in explaining its core ideas to the general public. I believe that in order to attract a more diverse set of people to the field we should emphasize that coding is only a small part of computer science.

Martin's book list on computer science without coding

Martin Erwig Why did Martin love 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. 

By Donald A. Norman, Tamara Dunaeff,

Why should I read it?

1 author picked Things That Make Us Smart as one of their favorite books, and they share why you should read it.

What is this book about?

In Things That Make Us Smart, Donald A. Norman explores the complex interaction between human thought and the technology it creates, arguing for the development of machines that fit our minds, rather than minds that must conform to the machine.Humans have always worked with objects to extend our cognitive powers, from counting on our fingers to designing massive supercomputers. But advanced technology does more than merely assist with thought and memory,the machines we create begin to shape how we think and, at times, even what we value. Norman, in exploring this complex relationship between humans and machines, gives us the…


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

John Z. Sonmez Author Of Soft Skills: The Software Developer's Life Manual

From my list on fun for software developers.

Why am I passionate about this?

I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.

John's book list on fun for software developers

John Z. Sonmez Why did John love 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.

By Rob Conery,

Why should I read it?

1 author picked The Imposter's Handbook as one of their favorite books, and they share why you should read it.


Book cover of Algorithm Design

Daniel Zingaro Author Of Algorithmic Thinking: A Problem-Based Introduction

From my list on for actually learning how to design algorithms.

Why am I passionate about this?

I love pulling back the curtain on how computers work. I want to go from thinking "that's magic" to "that's unbelievably clever but now I understand how it works." Each time I am able to do this feels like a hard-won but therefore meaningful step toward understanding. I want others to experience this empowering shift. I have a PhD in computer science education, and  I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.

Daniel's book list on for actually learning how to design algorithms

Daniel Zingaro Why did Daniel love 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.

By Jon Kleinberg, Éva Tardos,

Why should I read it?

1 author picked Algorithm Design as one of their favorite books, and they share why you should read it.

What is this book about?

Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science.
August 6, 2009 Author, Jon Kleinberg, was recently cited in the New York Times for his statistical analysis research in the Internet age.


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

Toby Walsh Author Of Machines Behaving Badly: The Morality of AI

From my list on artificial intelligence and human intelligence.

Why am I passionate about this?

I have been dreaming about Artificial Intelligence (AI) since a young age. I am currently Professor of AI at UNSW, Sydney. I was named by the Australian newspaper as one of the ”rock stars” of Australia’s digital revolution. Although this is highly improbable, I have spoken at the UN, and to heads of state, parliamentary bodies, company boards, and many others about AI and how it is impacting our lives. I've written three books about AI for a general audience that have been translated into a dozen different languages.

Toby's book list on artificial intelligence and human intelligence

Toby Walsh Why did Toby love 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!

By Brian Christian,

Why should I read it?

1 author picked The Most Human Human as one of their favorite books, and they share why you should read it.

What is this book about?

A playful, profound book that is not only a testament to one man's efforts to be deemed more human than a computer, but also a rollicking exploration of what it means to be human in the first place.

“Terrific. ... Art and science meet an engaged mind and the friction produces real fire.” —The New Yorker

Each year, the AI community convenes to administer the famous (and famously controversial) Turing test, pitting sophisticated software programs against humans to determine if a computer can “think.” The machine that most often fools the judges wins the Most Human Computer Award. But there…


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

Steven S. Skiena Author Of The Algorithm Design Manual

From my list on mathematical and algorithmic thinking.

Why am I passionate about this?

I am Professor of Computer Science at Stony Brook University, and have spent the past thirty years thinking/teaching/writing about algorithms. Algorithms are the really cool thing about computer science, for they form the ideas behind any interesting computer program. And algorithms turn out to be the ideas behind many interesting aspects of life that have nothing to do with computers. I have written six books on algorithms, programming, gambling, and history –including the ranking of the historical significance of all the people in Wikipedia.

Steven's book list on mathematical and algorithmic thinking

Steven S. Skiena Why did Steven love 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.

By Donald Knuth,

Why should I read it?

1 author picked The Art of Computer Programming as one of their favorite books, and they share why you should read it.

What is this book about?

The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming.



-Byte, September 1995



I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.



-Charles Long



If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole…


Book cover of Understanding Cryptography: A Textbook for Students and Practitioners

Dominik Merli Author Of Engineering Secure Devices: A Practical Guide for Embedded System Architects and Developers

From my list on embedded system security enthusiasts.

Why am I passionate about this?

I’ve been playing with computers and electronics since childhood. I even supported the people in my village with their computer issues back then. During my studies in electrical engineering, I learned how to solve technical challenges with structured approaches. At this time, I became fascinated by topics like cryptography and embedded system security. The books on this list helped me understand important concepts and practical real-world obstacles. I hope they are also of value to you!

Dominik's book list on embedded system security enthusiasts

Dominik Merli Why did Dominik love this book?

When I first heard about cryptography at university, it sounded like mathematical magic. After looking into some randomly chosen crypto books, I was discouraged from digging deeper because they were full of math details.

Understanding Cryptography was different. It was aimed at engineering students like me, and it provided me with the most relevant facts necessary for designing secure devices. Since then, it has always been a great reference book for me.

By Christof Paar, Jan Pelzl,

Why should I read it?

1 author picked Understanding Cryptography as one of their favorite books, and they share why you should read it.

What is this book about?

Cryptography is now ubiquitous - moving beyond the traditional environments, such as government communications and banking systems, we see cryptographic techniques realized in Web browsers, e-mail programs, cell phones, manufacturing systems, embedded software, smart buildings, cars, and even medical implants. Today's designers need a comprehensive understanding of applied cryptography.

After an introduction to cryptography and data security, the authors explain the main techniques in modern cryptography, with chapters addressing stream ciphers, the Data Encryption Standard (DES) and 3DES, the Advanced Encryption Standard (AES), block ciphers, the RSA cryptosystem, public-key cryptosystems based on the discrete logarithm problem, elliptic-curve cryptography (ECC), digital…


Book cover of The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine

Ron Kneusel Author Of How AI Works: From Sorcery to Science

From my list on the background and foundation of AI.

Why am I passionate about this?

As a child of the microcomputer revolution in the late 1970s, I’ve always been fascinated by the concept of a general-purpose machine that I could control. The deep learning revolution of 2010 or so, followed most recently by the advent of large language models like ChatGPT, has completely altered the landscape. It is now difficult to interpret the behavior of these systems in a way that doesn’t argue for intelligence of some kind. I’m passionate about AI because, decades after the initial heady claims made in the 1950s, AI has reached a point where the lofty promise is genuinely beginning to be kept. And we’re just getting started.

Ron's book list on the background and foundation of AI

Ron Kneusel Why did Ron love this book?

Alan Turing’s 1936 paper “On Computable Numbers, with an Application to the Entscheidungsproblem” was foundational to the development of computer science. To this day, Turing machines, the theoretical computational devices imagined in Turing’s paper, are a research cornerstone as they embody the concept of “computable.” If a programming language can implement a Turing machine, then the language is deemed Turing complete and is, therefore, general-purpose enough to implement any algorithm.

Turing’s paper is readable, but Petzold’s book breaks it down in minute detail to explain the nomenclature and meaning behind Turing’s words. I believe all computer science students should study this paper, and you’ll be hard-pressed to find a more thorough review than the one presented in this book.

By Charles Petzold,

Why should I read it?

1 author picked The Annotated Turing as one of their favorite books, and they share why you should read it.

What is this book about?

Programming Legend Charles Petzold unlocks the secrets of the extraordinary and prescient 1936 paper by Alan M. Turing

Mathematician Alan Turing invented an imaginary computer known as the Turing Machine; in an age before computers, he explored the concept of what it meant to be computable, creating the field of computability theory in the process, a foundation of present-day computer programming.

The book expands Turing's original 36-page paper with additional background chapters and extensive annotations; the author elaborates on and clarifies many of Turing's statements, making the original difficult-to-read document accessible to present day programmers, computer science majors, math geeks,…


Book cover of Introduction to Algorithms
Book cover of Game Theory
Book cover of Beautiful Code

Share your top 3 reads of 2024!

And get a beautiful page showing off your 3 favorite reads.

1,388

readers submitted
so far, will you?