Fans pick 37 books like The Elements of Computing Systems

By Shimon Schocken, Noam Nisan,

Here are 37 books that The Elements of Computing Systems fans have personally recommended if you like The Elements of Computing Systems. Shepherd is a community of 12,000+ authors and super readers sharing their favorite books with the world.

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

Book cover of Twitter and Tear Gas: The Power and Fragility of Networked Protest

Nora Sandler Author Of Writing a C Compiler: Build a Real Programming Language from Scratch

From my list on systems and system failures for programmers.

Why am I passionate about this?

I love computers, and especially computer systems. I’m interested in how different pieces of hardware and software, like processors, operating systems, compilers, and linkers, work together to get things done. Early in my career, as a software security tester, I studied how different components interacted to find vulnerabilities. Now that I work on compilers, I focus on the systems that transform source code into a running program. I’m also interested in how computer systems are shaped by the people who build and use them—I believe that creating safer, more reliable software is a social problem as much as a technical one.

Nora's book list on systems and system failures for programmers

Nora Sandler Why did Nora love this book?

This book gave me a new framework for thinking about how political change happens and how technology shapes our society. It analyzes how social media platforms like Facebook have helped antiauthoritarian movements achieve dazzling success almost overnight—and how those platforms have weakened and endangered those same movements. I loved that this book was clear and readable without oversimplifying the topic. It showed—as Tufecki writes, quoting another scholar—that “technology is neither good nor bad; nor is it neutral.”

This isn’t exactly a book about computer systems, but I decided to include it because it gave me a deeper understanding of how technological and social systems influence each other—which I hope will change how I write software myself.

By Zeynep Tufekci,

Why should I read it?

3 authors picked Twitter and Tear Gas as one of their favorite books, and they share why you should read it.

What is this book about?

From New York Times opinion columnist Zeynep Tufekci, an firsthand account and incisive analysis of the role of social media in modern protest

"[Tufekci's] personal experience in the squares and streets, melded with her scholarly insights on technology and communication platforms, makes [this] such an unusual and illuminating work."-Carlos Lozada, Washington Post

"Twitter and Tear Gas is packed with evidence on how social media has changed social movements, based on rigorous research and placed in historical context."-Hannah Kuchler, Financial Times

To understand a thwarted Turkish coup, an anti-Wall Street encampment, and a packed Tahrir Square, we must first comprehend the…


Book cover of Hacking: The Art of Exploitation

Nora Sandler Author Of Writing a C Compiler: Build a Real Programming Language from Scratch

From my list on systems and system failures for programmers.

Why am I passionate about this?

I love computers, and especially computer systems. I’m interested in how different pieces of hardware and software, like processors, operating systems, compilers, and linkers, work together to get things done. Early in my career, as a software security tester, I studied how different components interacted to find vulnerabilities. Now that I work on compilers, I focus on the systems that transform source code into a running program. I’m also interested in how computer systems are shaped by the people who build and use them—I believe that creating safer, more reliable software is a social problem as much as a technical one.

Nora's book list on systems and system failures for programmers

Nora Sandler Why did Nora love this book?

One of the best ways to understand how software works is to study how it fails. When I was just starting my career in software security, I read this book to learn about binary exploits like buffer overflows. It’s been a long time since I’ve written a binary exploit, but digging into the nitty-gritty, low-level details of how software runs on a real system has helped with everything I’ve done as an engineer since.

A lot has changed since this book was published in 2008 (and running the accompanying Live CD has gotten trickier), but the fundamental concepts are as relevant as ever.

By Jon Erickson,

Why should I read it?

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

What is this book about?

Hacking is the art of creative problem solving, whether that means finding an unconventional solution to a difficult problem or exploiting holes in sloppy programming. Many people call themselves hackers, but few have the strong technical foundation needed to really push the envelope. Rather than merely showing how to run existing exploits, author Jon Erickson explains how arcane hacking techniques actually work. To share the art and science of hacking in a way that is accessible to everyone, Hacking: The Art of Exploitation, 2nd Edition introduces the fundamentals of C programming from a hacker's perspective. The included LiveCD provides a…


Book cover of Meltdown: Why Our Systems Fail and What We Can Do About It

Nora Sandler Author Of Writing a C Compiler: Build a Real Programming Language from Scratch

From my list on systems and system failures for programmers.

Why am I passionate about this?

I love computers, and especially computer systems. I’m interested in how different pieces of hardware and software, like processors, operating systems, compilers, and linkers, work together to get things done. Early in my career, as a software security tester, I studied how different components interacted to find vulnerabilities. Now that I work on compilers, I focus on the systems that transform source code into a running program. I’m also interested in how computer systems are shaped by the people who build and use them—I believe that creating safer, more reliable software is a social problem as much as a technical one.

Nora's book list on systems and system failures for programmers

Nora Sandler Why did Nora love this book?

This isn’t a technical book, but it gets to the heart of why so much software is fragile and insecure. This book examines spectacular failures of all sorts, from nuclear meltdowns to plane crashes to oil spills, but I loved it because its message resonated with my own experience writing and debugging code. It argues that complex, tightly coupled systems involving hidden interactions and close coordination between lots of different parts are more likely to fail catastrophically. It also talks about strategies to make those systems safer, like doing “premortems,” getting advice from outsiders, and building diverse teams.

My big takeaway? Technical solutions alone won’t make software (or other complex systems) safer. We need to change how we build and how our organizations work, too.

By Chris Clearfield, András Tilcsik,

Why should I read it?

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

What is this book about?

A groundbreaking take on how complexity causes failure in all kinds of modern systems—from social media to air travel—this practical and entertaining book reveals how we can prevent meltdowns in business and life.

A crash on the Washington, D.C. metro system. An accidental overdose in a state-of-the-art hospital. An overcooked holiday meal. At first glance, these disasters seem to have little in common. But surprising new research shows that all these events—and the myriad failures that dominate headlines every day—share similar causes. By understanding what lies behind these failures, we can design better systems, make our teams more productive, and…


Book cover of Recoding America: Why Government Is Failing in the Digital Age and How We Can Do Better

Nora Sandler Author Of Writing a C Compiler: Build a Real Programming Language from Scratch

From my list on systems and system failures for programmers.

Why am I passionate about this?

I love computers, and especially computer systems. I’m interested in how different pieces of hardware and software, like processors, operating systems, compilers, and linkers, work together to get things done. Early in my career, as a software security tester, I studied how different components interacted to find vulnerabilities. Now that I work on compilers, I focus on the systems that transform source code into a running program. I’m also interested in how computer systems are shaped by the people who build and use them—I believe that creating safer, more reliable software is a social problem as much as a technical one.

Nora's book list on systems and system failures for programmers

Nora Sandler Why did Nora love this book?

Although I don’t work in government, this is a book I’ll come back to whenever I need a reminder to put user needs ahead of process or wisdom about how to work inside a large bureaucracy to make that happen. Where Meltdown focuses on spectacular blow-ups, this book explores run-of-the-mill failures—like long, complicated online forms and websites that only load in specific, outdated browsers. (Though bigger failures, like the launch of healthcare.gov, get airtime too.)

I appreciated this book’s thoughtful analysis of how government software gets built—it goes beyond the stereotype of the incompetent government employee and digs into the underlying reasons that even competent and dedicated public servants can struggle to deliver critical software. Many of those reasons apply to private companies, too. 

By Jennifer Pahlka,

Why should I read it?

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

What is this book about?

Learn more about Jennifer Pahlka's work at recodingamerica.us.

"The book I wish every policymaker would read."
-Ezra Klein, The New York Times

A bold call to reexamine how our government operates-and sometimes fails to-from President Obama's former deputy chief technology officer and the founder of Code for America

Just when we most need our government to work-to decarbonize our infrastructure and economy, to help the vulnerable through a pandemic, to defend ourselves against global threats-it is faltering. Government at all levels has limped into the digital age, offering online services that can feel even more cumbersome than the paperwork that…


Book cover of Stand on Zanzibar

Robert Zwilling Author Of Asteroid Fever

From my list on science fiction books where the big break doesn't change anything.

Why am I passionate about this?

I have always been fascinated by science and everything mysterious. I love to read science fiction and mystery stories. I use art and literature to explore reality. Writing or painting allows me to link seemingly unrelated topics together to create my own explanations for why things are the way they appear to be. The biggest things in the universe are replicated on Earth right down to sub-atomic size. I call that life imitating stars. Life is an endless resource found everywhere in the universe, and it's not restricted to just light or heat to grow; it only needs energy.

Robert's book list on science fiction books where the big break doesn't change anything

Robert Zwilling Why did Robert love this book?

This book was written in the late 60s, when everything was breaking loose from traditional values, including writing styles. Brunner did a very good job of anticipating how technology and changing social norms would change the world in the not-so-distant future.

It's all there: sexual freedom, legal drugs, religion, computers, crazy mass killers called muckers, corporate empires, a 7 billion population, global events, and the personalized internet.

I like the way the story was written, a new wave pop art style intermixed with traditional passages blaring out a series of seemingly unrelated events that are strung together by a group of unrelated characters who carry the complex story through to a surprising ending.

By John Brunner,

Why should I read it?

3 authors picked Stand on Zanzibar as one of their favorite books, and they share why you should read it.

What is this book about?

Now in a Tor Essentials edition, the Hugo Award-winning, uncannily prophetic Stand on Zanizbar is a science fiction novel unlike any before in that remains an insightful look at America’s downfall that allows us to see what has been, what is, and what is to come.

“There are certain things John Brunner achieved, which no one has done before or since.” ― Bruce Sterling

Genetic engineering is routine, corporations have usurped democracy, technology governs human relationship, and mass-marketed psychosomatic drugs keep billions docile. The systems of the United States are universal in reach and out of control. Every citizen is…


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 A Discipline 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 thin but quite fulfilling book is a compact yet profound exploration of proven program correctness, probably one of the first texts to focus on that topic.

Dijkstra's emphasis on mathematical rigor and disciplined thinking reshapes how programmers approach problem-solving. The author imparts essential principles of program construction, advocating for clarity and precision in code, and leading to cultivating a disciplined mindset, and fostering a deep appreciation for the art and science of programming.

Despite its age, all its knowledge is fully valid, and I’d give the book to every programmer so they can reach a higher level of quality.

By Edsger W. Dijkstra,

Why should I read it?

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

What is this book about?

Clean wraps, corners square, lay flat. No creases to the spine, or hinge. Small frayed spot at the top of the spine. No previous owner's name, no other marks in text. Well kept copy.


Book cover of The Pattern on the Stone: The Simple Ideas That Make Computers Work

Michael L. Littman Author Of Code to Joy: Why Everyone Should Learn a Little Programming

From my list on computing and why it’s important and interesting.

Why am I passionate about this?

Saying just the right words in just the right way can cause a box of electronics to behave however you want it to behave… that’s an idea that has captivated me ever since I first played around with a computer at Radio Shack back in 1979. I’m always on the lookout for compelling ways to convey the topic to people who are open-minded, but maybe turned off by things that are overly technical. I teach computer science and study artificial intelligence as a way of expanding what we can get computers to do on our behalf.

Michael's book list on computing and why it’s important and interesting

Michael L. Littman Why did Michael love this book?

The fields of Psychology, Economics, and Biology are well-known for offering interesting and informative introductory courses that provide a doorway into the area for budding scientists but also essential background knowledge appropriate for any educated person.

In Computer Science, we don't really do things that way. I wanted to offer a new kind of Computer Science introductory course that laid out the coolest ideas we have to offer along with compelling descriptions of why they matter.

I ended up using this book as the required reading in the class I built because it tells a personal, moving story while taking the reader from the nuts and bolts of bits and bytes all the way up to cutting-edge ideas surrounding artificial intelligence. It's a great read! Plus, it's short so I thought I could get my students to actually finish it.

By W. Daniel Hillis,

Why should I read it?

1 author picked The Pattern on the Stone as one of their favorite books, and they share why you should read it.

What is this book about?

Most people are baffled by how computers work and assume that they will never understand them. What they don't realize,and what Daniel Hillis's short book brilliantly demonstrates,is that computers'seemingly complex operations can be broken down into a few simple parts that perform the same simple procedures over and over again. Computer wizard Hillis offers an easy-to-follow explanation of how data is processed that makes the operations of a computer seem as straightforward as those of a bicycle.Avoiding technobabble or discussions of advanced hardware, the lucid explanations and colourful anecdotes in The Pattern on the Stone go straight to the heart…


Book cover of 2001

K. Van Kramer Author Of Modified

From my list on science fiction with A.I. and sweeping new worlds.

Why am I passionate about this?

I’ve always loved science fiction because it offers a hope, a dream, or a future that we just haven't seen yet. When I write my stories, I feel there is no better use of my imagination, than to contemplate a new world, a new civilization, or future technology. At the same time, I hope to entertain readers and spark young imaginations. Inside Modified, I reached into a distant future with off-world colonies that float in the clouds of Venus, while robots toil on the planet’s surface. Of course, in such a future, when advanced modifications and recursive designs are used, leads one to wonder if my robot can love too.

K.'s book list on science fiction with A.I. and sweeping new worlds

K. Van Kramer Why did K. love this book?

This book seems a bit strange at first, when the story begins with Moon-Watcher, the leader of a tribe of early ape-man, who struggles for survival during the brutal Pleistocene ice age. After an alien monolith appears, it seems to advance the way he thinks, leading him to develop crude weapons. When the same monolith is discovered in the future, we seem fated to find the answers behind the eerie structure. Skipping to a team of astronauts who travel aboard a ship to further investigate, things take an unexpected turn when the ship’s A.I. called HAL-9000, gets very confused about keeping secrets. Something about the way it remains so polite while it deceives the crew, is enough to give anyone a nightmare.

By Arthur C. Clarke,

Why should I read it?

7 authors picked 2001 as one of their favorite books, and they share why you should read it.

What is this book about?

Written when landing on the moon was still a dream, and made into one of the most influential films of all time, 2001: A SPACE ODYSSEY remains a classic work of science fiction fifty years after its original publication.

The discovery of a black monolith on the moon leads to a manned expedition deep into the solar system, in the hope of establishing contact with an alien intelligence. Yet long before the crew can reach their destination, the voyage descends into disaster . . .

Brilliant, compulsive and prophetic, Arthur C. Clarke's timeless novel tackles the enduring theme of mankind's…


Book cover of Code: The Hidden Language of Computer Hardware and Software

Shimon Schocken Author Of The Elements of Computing Systems: Building a Modern Computer from First Principles

From my list on how computers work, and how they are built.

Why am I passionate about this?

As a computer science professor and educator, my teaching motto is Rigor and Vigor. I believe that the only way to learn something deeply, whether it's an abstract mathematical argument or a complex computer system – is building the thing from the ground up, from first principles. That's the rigor. The second requirement – vigor – comes from the need to make this learning experience captivating, rewarding, empowering. I spent much of my career developing books, courses, and games that help learn computer science and mathematics with gusto. I am pleased that this work has had an impact, and that it resonates with many students and self-learners around the world.

Shimon's book list on how computers work, and how they are built

Shimon Schocken Why did Shimon love this book?

This popular book takes a broad perspective that surveys the main physical and logical layers from which all digital devices are made.

I like the accessible writing style, aimed at lay readers, and the book’s companion website, where one can experiment interactively with many of the artifacts described in the book. The second edition includes a new section that focuses on a functional subset of Intel 8080, the microprocessor that ushered the personal computing revolution, and the instruction set used by many PCs and servers today.

By Charles Petzold,

Why should I read it?

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

What is this book about?

What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries.

Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who's ever wondered about the secret inner life of computers and other smart machines.

It's a cleverly illustrated…


Book cover of Twitter and Tear Gas: The Power and Fragility of Networked Protest
Book cover of Hacking: The Art of Exploitation
Book cover of Meltdown: Why Our Systems Fail and What We Can Do About It

Share your top 3 reads of 2024!

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

1,588

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in computers, artificial intelligence, and software?

Computers 29 books
Software 61 books