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 The Science of Programming

Federico Kereki Author Of Mastering JavaScript Functional Programming: Write clean, robust, and maintainable web and server code using functional JavaScript and TypeScript

From my list on the theory and practice of computer programming.

Why am I passionate about this?

I have been working with computers for decades now – having started with programmable handheld calculators and working my way up and down through mainframes, mini- and micro-computers. I always thought there is an art to writing software, and that good software can be read and admired. Maintainability, readability, and testability are some core needs for software, and after going through many programming paradigms, I feel that functional programming (FP) is the way to go – and several modern web frameworks agree. JavaScript (and now, TypeScript) are essential to web development, and I wanted to show how FP could be successfully used with those languages, and thus my book.

Federico's book list on the theory and practice of computer programming

Federico Kereki Why did Federico love this book?

This book is essential in that it follows a systematic and scientific approach to software development, advocating for clarity in expressing algorithms, providing a rigorous framework for designing and reasoning about programs, and, fundamentally, always focusing on formal methods and mathematical techniques to ensure correctness and efficiency in programming code.

Most importantly, the book doesn’t just show you how to prove programs correct, but also teaches how to arrive from a definition to an efficient and correct solution, so I would recommend this to every developer.


By David Gries,

Why should I read it?

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

What is this book about?

Describes basic programming principles and their step-by-
step applications.Numerous examples are included.


Book cover of Administrative Behavior

Ananish Chaudhuri Author Of Experiments in Economics: Playing Fair with Money

From my list on emotions and economic decisions.

Why am I passionate about this?

I am Professor of Experimental Economics at the University of Auckland where my work lies at the interface of economics and psychology. In a discipline (and a world) that tends to emphasize human self-interest, I have always been interested in our willingness to engage in unselfish behavior. Incentivized decision-making experiments with human participants where payments depend on the nature of their decisions are a powerful way of analyzing behavior. Are people willing to put their money where their mouth is? My background running experiments made me well-positioned to study some of these questions; a lot of them in collaboration with other social scientists including psychologists and political scientists. 

Ananish's book list on emotions and economic decisions

Ananish Chaudhuri Why did Ananish love this book?

To a large extent, the research agenda that is subsumed under the rubric of “behavioral economics” started with the idea of bounded rationality and the departures from the utility maximizing model of economics.

Many of the ideas pursued in this line of work owe their origin to the work of Herbert Simon, whose doctorate was in political science from Chicago in 1943 but who was awarded the Nobel Prize in Economics in 1978 for combining ideas from mathematics, psychology, economics, and computer science to understand decision making in large organizations. This is not to suggest that none of this was known before.

In fact, some people consider Adam Smith to be the first behavioral economist for his work The Theory of Moral Sentiments, which incorporates ideas from David Hume that it is passion (or emotions) that drive human behavior rather than deliberative reasoning. But, by and large, Simon’s work provided…

By Herbert A. Simon,

Why should I read it?

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

What is this book about?

In this fourth edition of his ground-breaking work, Herbert A. Simon applies his pioneering theory of human choice and administrative decision-making to concrete organizational problems. To commemorate the fiftieth anniversary of the book's original publication, Professor Simon enhances his timeless observations on the human decision-making process with commentaries examining new facets of organizational behavior. Investigating the impact of changing social values and modem technology on the operation of organizations, the new ideas featured in this revised edition update a book that has become a worldwide classic.
Named by Public Administration Review as "Book of the Half Century," Administrative Behavior is…


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

G. Pascal Zachary Author Of Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft

From my list on the human dimension of writing computer code.

Why am I passionate about this?

The author was the chief Silicon Valley writer for The Wall Street Journal during the first of the 1990s. He went on to become an acclaimed scholar in the history of science, engineering, and innovation. At the peak of his journalism career, the Boston Globe described Zachary as the most talented reporter on the Journal's staff. Zachary went on to write technology and innovation columns for The New York Times, Technology Review, and Spectrum magazineZachary has also taught courses on science and technology studies at Stanford University, UC Berkeley, and Arizona State University, where he was a professor from 2010-2020. He lives in northern California. 

G.'s book list on the human dimension of writing computer code

G. Pascal Zachary Why did G. love 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. 

By Michael A. Hiltzik,

Why should I read it?

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

What is this book about?

During the 1970s and 1980s, a number of brilliant computer eccentrics were thrown together by Xerox at the Xerox PARC centre in Palo Alto, California. These people created inventions such as the first personal computer, the graphic user interface, the mouse and one of the precursors of the Internet. However, the bosses at Xerox never really appreciated these men or their innovations, and accused them of just fooling around. Then along came the outsiders, such as Steve Jobs of Apple Computing, who left the PARC with ideas that they would later exploit and make vast fortunes on, propelling them to…


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 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 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 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 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 The Economics of Blockchain Consensus: Exploring the Key Tradeoffs in Blockchain Design

Richard Holden Author Of Money in the Twenty-First Century: Cheap, Mobile, and Digital

From my list on books about the digital economy.

Why am I passionate about this?

I’m an economics professor, but I also have a column in Australia’s leading financial newspaper so I really appreciate authors who can tackle complex topics in an accessible manner. I’m also both extremely interested in and do academic research on topics to do with technologies like two-sided platforms, cryptocurrencies, blockchain, and artificial intelligence. All these books made me think harder about the big issues in these areas, and how to combine rigorous research with what is actually happening—often at breakneck speed—in the real-world digital economy.

Richard's book list on books about the digital economy

Richard Holden Why did Richard love this book?

Many people have heard of Bitcoin’s “proof of work” (POW) consensus protocol which involves using huge amounts of energy to solve cryptographic problems. Some of us have also heard of “proof of stake”, an alternative to POW now used by the second largest cryptocurrency, Ether. What Joshua’s book taught me was the similarities and linkages between these two different ways of running a blockchain.

By focusing on the economics, not just the technology, of different consensus protocols, we learn about fundamental issues like the “cost of computational trust”, the future of consensus protocols, and indeed the future of cryptocurrencies.

By Joshua Gans,

Why should I read it?

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

What is this book about?

Blockchain technologies have been rapidly adopted for the creation of cryptocurrencies and have been explored for a myriad of applications. While this is of important economic interest, the computer science behind how blockchains operate to provide security and provenance has been largely inaccessible to economists. This book is a bridge between the computer science and the economics of blockchains.

The focus is on the value and the achievement of blockchain consensus; that is, how distributed and independent nodes are able to reach an agreement on what the current state of digital ledgers, that are the product of blockchains, are. The…


Book cover of The Art of Computer Programming

Federico Kereki Author Of Mastering JavaScript Functional Programming: Write clean, robust, and maintainable web and server code using functional JavaScript and TypeScript

From my list on the theory and practice of computer programming.

Why am I passionate about this?

I have been working with computers for decades now – having started with programmable handheld calculators and working my way up and down through mainframes, mini- and micro-computers. I always thought there is an art to writing software, and that good software can be read and admired. Maintainability, readability, and testability are some core needs for software, and after going through many programming paradigms, I feel that functional programming (FP) is the way to go – and several modern web frameworks agree. JavaScript (and now, TypeScript) are essential to web development, and I wanted to show how FP could be successfully used with those languages, and thus my book.

Federico's book list on the theory and practice of computer programming

Federico Kereki Why did Federico love this book?

This multi-volume book is, for me, a masterpiece that goes far beyond just coding or algorithms or data structures, and serves as a profound exploration of algorithmic thinking and computer science's theoretical foundations, going deeply into the performance of algorithms and the behavior of data structures.

Knuth's meticulous approach, coupled with his clear and engaging prose (with occasional touches of humor) clearly explains complex concepts, and shows a deep understanding of the artistry inherent in solving computational problems.

Bill Gates said that anybody who went through all its volumes would get a job at his company, and I surely agree! I would recommend this book both for novice or seasoned programmers, because you will always find invaluable insights in it.

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?

Check out the boxed set that brings together Volumes 1 - 4B in one elegant case.

The Art of Computer Programming, Volumes 1-4B Boxed Set

ISBN: 9780137935109

Art of Computer Programming, Volume 1, Fascicle 1, The: MMIX -- A RISC Computer for the New Millennium

This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The three complete volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth's writings. Scientists have marveled at…