92 books like The Art of Computer Programming

By Donald Knuth,

Here are 92 books that The Art of Computer Programming fans have personally recommended if you like The Art of Computer Programming. Shepherd is a community of 10,000+ authors and super readers sharing their favorite books with the world.

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

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 How to Solve It: A New Aspect of Mathematical Method

Steven S. Skiena Author Of The Algorithm Design Manual

From my list on mathematical and algorithmic thinking.

Why am I passionate about this?

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

Steven's book list on mathematical and algorithmic thinking

Steven S. Skiena Why did Steven love this book?

Polya was a great mathematician who knew what counted (after all, he made major contributions to combinatorics, the mathematics of counting). He thought hard about what he was doing when working on problems in mathematics, developing a mental process that lead to creative breakthroughs and solutions. Polya’s problem-solving method is broadly applicable to domains other than mathematics, and this book features many nice puzzles to improve your thinking.

Algorithm design is challenging because it often requires flashes of sudden insight which seem to come out of the blue. But there is a way of thinking about problems that make such flashes more likely to happen. I try to teach this thought process in my books, but Polya got there first.


By George Polya,

Why should I read it?

2 authors picked How to Solve It as one of their favorite books, and they share why you should read it.

What is this book about?

A perennial bestseller by eminent mathematician G. Polya, How to Solve It will show anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be "reasoned" out--from building a bridge to winning a game of anagrams. Generations of readers have relished Polya's deft--indeed, brilliant--instructions on stripping away irrelevancies and going straight to the heart of the problem.


Book cover of Algorithms to Live By: The Computer Science of Human Decisions

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?

I always find myself applying algorithmic thinking in my everyday life—it affects the way I put away dishes, navigate to the store, and organize my to-do lists. And I think others could benefit from that mindset.

So, when I read this book, my reaction was "Yes! That's what I want people to know. I just wish I could have said it that well!" The authors (who I know, but didn't know they wrote a book together), did a fantastic job of selecting algorithms with deep human connections. Really! And they explain them just right, without getting too mathematical but while still hitting the key ideas with clarity and accuracy. Fantastic!

By Brian Christian, Tom Griffiths,

Why should I read it?

5 authors picked Algorithms to Live By as one of their favorite books, and they share why you should read it.

What is this book about?

A fascinating exploration of how computer algorithms can be applied to our everyday lives.

In this dazzlingly interdisciplinary work, acclaimed author Brian Christian and cognitive scientist Tom Griffiths show us how the simple, precise algorithms used by computers can also untangle very human questions. Modern life is constrained by limited space and time, limits that give rise to a particular set of problems. What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? The authors explain how to have better hunches and when to leave things to chance, how to deal…


Book cover of Adventures of a Mathematician

Thomas A. Garrity Author Of All the Math You Missed: (But Need to Know for Graduate School)

From my list on for mathematical inspiration.

Why am I passionate about this?

I love mathematics and truly believe that “Functions Describe the World.” I'm deeply satisfied that I've spent my professional life discovering new mathematics and explaining known mathematics to others. I was an undergraduate at the University of Texas, Austin, got my PhD from Brown University, then spent three years as a G.C. Evans Instructor at Rice University, before moving to Williams, where I've been ever since. Besides writing All the Math You Missed (But Need to Know for Graduate School), I've also written Algebraic Geometry: A Problem Solving Approach (with a number of co-authors) and Electricity and Magnetism for Mathematicians: A Guided Path from Maxwell’s Equations to Yang-Mills, and a number of research articles.  

Thomas' book list on for mathematical inspiration

Thomas A. Garrity Why did Thomas love this book?

Ulam was a Polish mathematical prodigy, publishing significant mathematics by the time he was 20. He was part of the rich Polish math community centered around Stefan Banach. Unlike most, he was heading to the United States in 1939 (with his younger brother) when Germany invaded Poland. All the rest of his family were murdered by the Nazis. He on the other hand ended up in Los Alamos, providing critical help on the Manhattan Project. Later in life, he wrote this book, his autobiography. Based on his history, one could well think that it would be a book full of tragic grief. Instead, it is a pean to the joys of doing mathematics and of living a life full of mathematics, without downplaying the horrors of the mid-twentieth century. 

By S. M. Ulam,

Why should I read it?

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

What is this book about?

This autobiography of mathematician Stanislaw Ulam, one of the great scientific minds of the twentieth century, tells a story rich with amazingly prophetic speculations and peppered with lively anecdotes. As a member of the Los Alamos National Laboratory from 1944 on, Ulam helped to precipitate some of the most dramatic changes of the postwar world. He was among the first to use and advocate computers for scientific research, originated ideas for the nuclear propulsion of space vehicles, and made fundamental contributions to many of today's most challenging mathematical projects. With his wide-ranging interests, Ulam never emphasized the importance of his…


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…


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 Art of Computer Programming, Volume 4, Fascicle 1, The: Bitwise Tricks & Techniques; Binary Decision Diagrams

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?

This is the definitive book series on algorithms and the core of computer programming.

Unlike most such books, Knuth is a real programmer, deep into the details of the craft, to the point of creating his own assembler language and typesetting generation system. It’s partly the substance of the algorithms and their analysis, but even more is the way he models a way of thinking about and solving complexity that makes this a must-read series.

By Donald Knuth,

Why should I read it?

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

What is this book about?

Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually.



The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e

ISBN: 0321751043









Art of Computer Programming, Volume 4, Fascicle 1, The: Bitwise Tricks & Techniques; Binary Decision Diagrams: Bitwise Tricks & Techniques; Binary Decision Diagrams



This multivolume work on the analysis of algorithms has long been recognized…


Book cover of Smalltalk Best Practice Patterns

Philipp Fehre Author Of JavaScript Domain-Driven Design

From my list on learning from programming classics.

Why am I passionate about this?

Computers have fascinated me since my childhood, having fond memories of my dad's ZX81, but even so I played around I was never truly captured by the programming until I recognized it as a way of writing rather than raw engineering. Through my studies of media sciences I found my fascination with how language can shape perception, and through my work in developer advocacy, I found how communities are shaped as well. Now I am fascinated with how different programming languages can shape thinking, having had the opportunity to solve problems at large companies in nonmainstream languages.

Philipp's book list on learning from programming classics

Philipp Fehre Why did Philipp love this book?

Smalltalk is not as common or popular as it once was, but the influence its design had on programming is hard to overstate.

Reading this book has changed how I think about object orientation, and how I design systems, learning the patterns of Smalltalk makes it clear what object oriented design is really intended to achieve.

By Kent Beck,

Why should I read it?

2 authors picked Smalltalk Best Practice Patterns as one of their favorite books, and they share why you should read it.

What is this book about?

This classic book is the definitive real-world style guide for better Smalltalk programming. This author presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. When programmers understand these patterns, they can write much more effective code. The concept of Smalltalk patterns is introduced, and the book explains why they work. Next, the book introduces proven patterns for working with methods, messages, state, collections, classes and formatting. Finally, the book walks through a development example utilizing patterns. For programmers, project managers, teachers and students -- both new and experienced. This book…


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 Programming C# 10: Build Cloud, Web, and Desktop Applications

Jesse Liberty Author Of .NET MAUI for C# Developers: Build cross-platform mobile and desktop applications

From my list on C# programming from a C# expert.

Why am I passionate about this?

I've been a C# programmer for 23 years, and am passionate about the language. It is the perfect balance of power and ease of use, and each year it is extended by its amazing development team. I've used C# to build stand-alone applications, mobile applications, APIs, and database applications and I've never felt constrained. Finally, C# lends itself to best practices and design patterns, and continues to rise in popularity, especially with professional software developers.

Jesse's book list on C# programming from a C# expert

Jesse Liberty Why did Jesse love this book?

While it is true that I wrote the first few editions of this book, Ian has taken it over, revamped it, and made it an iconic work on the language.

It covers every aspect of C# programming, and explains not only how to do something, but why you would do it. It is chock full of best practices and patterns and anti-patterns, and is well written and engaging.

By Ian Griffiths,

Why should I read it?

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

What is this book about?

C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 10.0 and .NET 6 fundamentals and techniques for building cloud, web, and desktop applications.

Designed for experienced programmers, this book provides many code examples to help you work with the nuts and bolts of C#, such as generics, LINQ, and asynchronous programming features. You'll get up to speed on .NET 6 and the latest C# 9.0 and 10.0 additions, including records, enhanced…


5 book lists we think you will like!

Interested in computer programming, algorithms, and computer science?

10,000+ authors have recommended their favorite books and what they love about them. Browse their picks for the best books about computer programming, algorithms, and computer science.

Computer Programming Explore 39 books about computer programming
Algorithms Explore 36 books about algorithms
Computer Science Explore 31 books about computer science