The most recommended computer science books

Who picked these books? Meet our 37 experts.

37 authors created a book list connected to computer science, and here are their favorite computer science books.
Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

What type of computer science book?

Loading...
Loading...

Book cover of 97 Things Every Software Architect Should Know

Mark Richards Author Of Fundamentals of Software Architecture: An Engineering Approach

From my list on better understanding software architecture.

Why am I passionate about this?

I’ve been a software architect for a very long time. I love hard problems, and I’m very passionate about collaborating with others to find the right solution to them. Software architecture is a challenging, multi-faceted discipline with very few resources to help you make the right decisions. That’s why I’m recommending these books on software architecture. These books helped me become a more effective software architect, and I hope they can help you become more effective as well.

Mark's book list on better understanding software architecture

Mark Richards Why did Mark love this book?

Imagine sitting in a room with 50 of the top software architects in the world and have each of them tell you some brief words of advice about being a software architect.

Welcome to “97 Things Every Software Architect Should Know”. Each 2-page spread features a top software architect offering their advice on some aspect of software architecture. From technical skills to soft skills, this book has it all.

This book is a must-read if you are a software architect, or even thinking about becoming one.

By Richard Monson-Haefel,

Why should I read it?

1 author picked 97 Things Every Software Architect Should Know as one of their favorite books, and they share why you should read it.

What is this book about?

Collective Wisdom from the Experts


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 Foundation ActionScript 3.0 Animation: Making Things Move!

Scott Murray Author Of Unstuck: Javascript

From my list on learning how to code interactive graphics.

Why am I passionate about this?

I’ve been making web pages since the World Wide Web began in the mid-1990s. Back then, the web was visually quite sparse. It wasn’t until the late 2000s that new browser capabilities let the web get visually interesting and an exciting place for interactive graphics. Graphics are great: they can be informational (like charts and maps) or purely aesthetic. My personal journey of learning to code interactive graphics has been so rewarding that I’ve shared the love with others through teaching creative coding workshops and undergraduate courses. If you’re new to coding or computer graphics, I hope you’ll give one of these books a try!

Scott's book list on learning how to code interactive graphics

Scott Murray Why did Scott love 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.

By Keith Peters,

Why should I read it?

1 author picked Foundation ActionScript 3.0 Animation as one of their favorite books, and they share why you should read it.

What is this book about?

This is the first definitive and authoritative book available on ActionScript 3 animation techniques. ActionScript animation is a very popular discipline for Flash developers to learn. The essential skill set has been learned by many Flash developers through the first edition of this book. This has now been updated to ActionScript 3, Adobe's new and improved scripting language. All of the code has been updated, and some new techniques have been added to take advantage of ActionScript 3's new features, including the display list and new event architecture. The code can be used with the Flash 9 IDE, Flex Builder…


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 Distributed Algorithms An Intuitive Approach

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?

The building blocks of software are algorithms, so here our journey continues after you have established a deep understanding of programming languages.

Modern software is predominantly distributed, and since this book doesn't assume much it is the perfect introduction to algorithm analysis, concurrency, and distributed systems. And the best part is that you can just jump in and build these algorithms yourself.

By Fokkink,

Why should I read it?

1 author picked Distributed Algorithms An Intuitive Approach as one of their favorite books, and they share why you should read it.

What is this book about?

The new edition of a guide to distributed algorithms that emphasizes examples and exercises rather than the intricacies of mathematical models.

This book offers students and researchers a guide to distributed algorithms that emphasizes examples and exercises rather than the intricacies of mathematical models. It avoids mathematical argumentation, often a stumbling block for students, teaching algorithmic thought rather than proofs and logic. This approach allows the student to learn a large number of algorithms within a relatively short span of time. Algorithms are explained through brief, informal descriptions, illuminating examples, and practical exercises. The examples and exercises allow readers to…


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

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 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. 

By Jordan Ellenberg,

Why should I read it?

3 authors picked How Not to Be Wrong as one of their favorite books, and they share why you should read it.

What is this book about?

"Witty, compelling, and just plain fun to read . . ." -Evelyn Lamb, Scientific American

The Freakonomics of math-a math-world superstar unveils the hidden beauty and logic of the world and puts its power in our hands

The math we learn in school can seem like a dull set of rules, laid down by the ancients and not to be questioned. In How Not to Be Wrong, Jordan Ellenberg shows us how terribly limiting this view is: Math isn't confined to abstract incidents that never occur in real life, but rather touches everything we do-the whole world is shot through…


Book cover of Codex Seraphinianus

Theo Ellsworth Author Of The Understanding Monster - Book One

From my list on to alter your sense of reality.

Why am I passionate about this?

I think of my imagination as a living thing that I have a working, evolving relationship with. I try to access that creative flow state through automatic drawing and something about that process seems to help me in my daily life. I draw every day. I make art zines, comics, fine art, album art, and collaborative works. The books in this list all feel personally important to me and are works I return to and think about often.

Theo's book list on to alter your sense of reality

Theo Ellsworth Why did Theo love 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.

By Luigi Serafini,

Why should I read it?

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

What is this book about?

An extraordinary and surreal art book, this edition has been redesigned by the author and includes new illustrations. Ever since the Codex Seraphinianus was first published in 1981, the book has been recognized as one of the strangest and most beautiful art books ever made. This visual encyclopedia of an unknown world written in an unknown language has fueled much debate over its meaning. Written for the information age and addressing the import of coding and decoding in genetics, literary criticism, and computer science, the Codex confused, fascinated, and enchanted a generation.

While its message may be unclear, its appeal…


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

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 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.

By David Harel,

Why should I read it?

2 authors picked Computers Ltd. as one of their favorite books, and they share why you should read it.

What is this book about?

Computers are incredible. They are one of the most important inventions of the 20th century, dramatically and irrevocably changing the way we live. That is the good news. The bad news is that there are still major limitations to computers, serious problems that not even the most powerful computers can solve. The consequences of such limitations can be serious. Too often these limits get overlooked, in the quest for bigger, better, and more powerful computers. In Computers Ltd., David Harel, best-selling author of Algorithmics, explains and illustrates one of the most fundamental, yet under-exposed facets of computers - their inherent…


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 The Adjunct Professor's Complete Guide to Teaching College: How to Be an Effective and Successful Instructor

Susannah C. Richards Author Of A Work of Heart: Connecting with Kids in a Chaotic World

From my list on that are not required in college - but should be.

Why am I passionate about this?

As a young student, my goal was to be invisible. I was the child who hid between the time-honored cracks in the floorboards of the antiquated school where – decades earlier – my mother also attended. I resided between the cracks (BTC); the not-so-fancy term for those students who faintly prick the adult senses that something is amiss. How ironic as I fast-forward to my initial career decision, I actually chose to become a teacher, a daily life path in the very environment I once despised. Yet, former BTC membership caused me to seek out those silent, self-marginalized students to bring them out of the floorboards and into the daylight.

Susannah's book list on that are not required in college - but should be

Susannah C. Richards Why did Susannah love this book?

After more than thirty years of teaching college students, Dr. “Tony” Fredericks put pen to paper to create a practical and solution-based guide for adjunct professors.

First, the reader is guided to establish best teaching practices for this specialized group of students. The author also provides countless tools as he details how to select a textbook and design a syllabus, define first-day teaching expectations, pose effective questions to propel stimulating discussions, and teach diverse populations of students.

Meticulously constructed, the author composes the text in a well-organized and easy-to-read format. As an aside, Dr. Tony Fredericks currently is the author of over one-hundred-seventy books, comprised as adult non-fiction books, children’s books, pre-service teacher books, and teacher resource books. Not too shabby. 

By Anthony Fredericks,

Why should I read it?

1 author picked The Adjunct Professor's Complete Guide to Teaching College as one of their favorite books, and they share why you should read it.

What is this book about?

The Ancillary Army.  Freeway Flyers.  Roads Scholars.  Turnpike Teachers.  These are some of the nicknames given to part-time college teachers.  They may teach one or two courses at a single institution, or, in some cases, they may teach multiple courses at multiple institutions.  Often their office consists of the front seat of their car, and their desk is a cardboard box.  Their lunch is whatever they can grab at McDonalds while zipping through traffic to their next scheduled class.

For many, the thought of teaching one or two courses in their area of specialty is most appealing.  Not only does…