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 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 Principles of Compiler Design

David B. Black Author Of Wartime Software

From my list on teaching and inspiring the best programmers.

Why am I passionate about this?

I started programming in high school and wrote software in many domains for 30 years, from the early ARPA-net to massive credit card software. I wrote a FORTRAN compiler with one assistant in a year. I got hassled to do proper project management. Nightmare. It was all about inflated expectations instead of moving fast and winning. Then in 25 years of venture capital investing, I learned from many young companies how the little startups built quickly and well things that giants like Google literally could not get done. This book and my others spell out what I learned from the little guys who beat the giants.

David's book list on teaching and inspiring the best programmers

David B. Black Why did David love this book?

Attending Harvard College gave me the opportunity to collaborate with great programmers in creating the early ARPA-net. But the best course I took was on compiler theory and construction, using an early draft of the material in this book.

Of course I learned how to build a compiler, which I did as my first job after graduating. But more important, I learned that a well-built compiler is a small amount of language-independent code with two major parts.

First the input part that realizes the content of the lexical and grammatical metadata, like today’s LEX and YACC, to turn the program being compiled into a semantic model.

Second the code generator that reads the semantic model and, based on generative model metadata, turns the semantics of the program being compiled to whatever form you want, whether executable code, assembler language, byte code or whatever.

This approach, while indispensable for compilers and…

By Alfred V. Aho, Jeffrey D. Ullman,

Why should I read it?

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

What is this book about?

Computer science


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 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 The New New Thing: A Silicon Valley Story

Jeff Davidson Author Of The 60 Second Innovator

From my list on becoming more innovative.

Why am I passionate about this?

I am the recognized expert on work-life balance, harmony, and integrative issues, and since 2009, hold the registered trademark from the USPTO as the “Work-Life Balance Expert®." My books have been featured in 68 of the top 75 American newspapers and, in two instances, advertised in Time Magazine and The Wall Street Journal. In all, 16 of my books are published in Chinese, among them Simpler Living, appearing as a 3-volume set, Everyday Project Management, The 60 Second Innovator, The 60 Second Organizer, The 60 Second Self-Starter, Ten Minute Guide to Time Management, and Ten Minute Guide to Project Management. I also have 13 books published in Arabic.

Jeff's book list on becoming more innovative

Jeff Davidson Why did Jeff love 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…

By Michael Lewis,

Why should I read it?

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

What is this book about?

In the weird glow of the dying millennium, Michael Lewis set out on a safari through Silicon Valley to find the world's most important technology entrepreneur. He found this in Jim Clark, a man whose achievements include the founding of three separate billion-dollar companies. Lewis also found much more, and the result-the best-selling book The New New Thing-is an ingeniously conceived history of the Internet revolution.


Book cover of Artificial Intelligence: The Very Idea

Chauncey Maher Author Of Plant Minds: A Philosophical Defense

From my list on get you thinking about nonhuman minds.

Why am I passionate about this?

I used to think that most nonhuman animals do not have minds in any rich sense of that word. After publishing a book about some influential philosophers who articulate and defend that view, I was pushed by a very good friend to get curious about what nonhuman creatures do. That led to years of reading, reflecting, teaching college courses, and eventually admitting that I had been profoundly wrong. My change of mind culminated in the publication of a book that explores the idea that plants have minds. The books on this list helped me tremendously along the way, and my students have also learned much from them. 

Chauncey's book list on get you thinking about nonhuman minds

Chauncey Maher Why did Chauncey love this book?

I think computers don’t think, and this book taught me how to think about that. I admire it in part because it showed me, a professor of philosophy, how to do scientifically informed philosophy. Unlike so many books on the history of thinking about thinking, just the first chapter of this book is clear, accurate, insightful, and exciting. Equally so is Haugeland’s explanation of what a computer is, making an intellectual adventure of theoretical computer science.

Haugeland uses this to make a compelling case for thinking that computers could genuinely reason. And then he does something that we philosophers tend to love; he launches a provocative critique of that claim, contending that computers can’t think because they don’t “give a damn.” Although it’s now three decades old, this is the book to read if you’re curious about artificial intelligence. 

By John Haugeland,

Why should I read it?

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

What is this book about?

First Edition. Some markings on first end page. Some shelf and edge wear, small tears, to dust jacket. Pages are clean and binding is tight. Solid Book.


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

Kartik Hosanagar Author Of A Human's Guide to Machine Intelligence: How Algorithms Are Shaping Our Lives and How We Can Stay in Control

From my list on managing technological innovation for mere mortals.

Why am I passionate about this?

I build and use emerging technological innovations in business, and I also teach others how they might too! I’m a serial entrepreneur and a Professor at the Wharton School of the University of Pennsylvania. As an entrepreneur, I co-founded and developed the core IP for Yodle Inc, a venture-backed firm that was acquired by Web.com. I’m now the founder of Jumpcut Media – a startup using data and Web3 technologies to democratize opportunities in Film and TV. In all this work, I'm often trying to assess how emerging technologies may affect business and society in the long run and how I can apply them to create new products and services.

Kartik's book list on managing technological innovation for mere mortals

Kartik Hosanagar Why did Kartik love 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.

By Pedro Domingos,

Why should I read it?

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

What is this book about?

Algorithms increasingly run our lives. They find books, movies, jobs, and dates for us, manage our investments, and discover new drugs. More and more, these algorithms work by learning from the trails of data we leave in our newly digital world. Like curious children, they observe us, imitate, and experiment. And in the world's top research labs and universities, the race is on to invent the ultimate learning algorithm: one capable of discovering any knowledge from data, and doing anything we want, before we even ask.Machine learning is the automation of discovery,the scientific method on steroids,that enables intelligent robots and…


Book cover of The Last Lecture

Carlos A. Zuluaga Author Of The Wisdom Factor: Reducing the Control of Bias, Threat, and Fear while Building a Better World

From my list on inspiring personal growth.

Why am I passionate about this?

I have been passionate about continuous learning and understanding why people act the way they do. The books I recommend cover the topic of continuous growth across different states and areas of life. 

Carlos' book list on inspiring personal growth

Carlos A. Zuluaga Why did Carlos love this book?

I decided to read this book after watching Dr. Pausch’s presentation about his last lecture before his death and the advice he would give on achieving your childhood dreams. The video had gone viral, and it strongly resonated with me.

What I love about this book is it shows how one can live a fulfilling life while facing difficult circumstances. It showed me how one can accomplish one’s dreams in sometimes unexpected ways.

By Randy Pausch, Jeffrey Zaslow,

Why should I read it?

3 authors picked The Last Lecture as one of their favorite books, and they share why you should read it.

What is this book about?

A lot of professors give talks titled The Last Lecture. Professors are asked to consider their demise and to ruminate on what matters most to them: What wisdom would we impart to the world if we knew it was our last chance? If we had to vanish tomorrow, what would we want as our legacy?

When Randy Pausch, a computer science professor at Carnegie Mellon, was asked to give such a lecture, he didnt have to imagine it as his last, since he had recently been diagnosed with terminal cancer. But the lecture he gave, Really Achieving Your Childhood Dreams,…


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 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 The Economics of Blockchain Consensus: Exploring the Key Tradeoffs in Blockchain Design
Book cover of Principles of Compiler Design
Book cover of Understanding Cryptography: A Textbook for Students and Practitioners

Share your top 3 reads of 2024!

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

1,187

readers submitted
so far, will you?