Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Introduction to Algorithms

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

28 readers recommend it across 20 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

Parker_Powell
No matter how long you've been a programmer, you're always looking for new ways to hone your craft and learn new techniques. One of the best ways to do that is by reading books on programming—as in, books that are actually about programming. Here's our list of 10 of the best. 1. Code: The Hidden Language of Computer Hardware and Software 2. Clean Code: A Handbook of Agile Software Craftsmanship 3. Refactoring: Improving the Design of Existing Code 4. The Pragmatic Programmer: From Journeyman to Master 5. Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability 6. The Mythical Man-Month: Essays on Software Engineering 7. Structure and Interpretation of Computer Programs 8. Introduction to Algorithms (The MIT Press) 9. Programming Pearls (2nd Edition) 10. The Art of Computer Programming
jeffreyrogers
The Dasgupta algorithms book is great. I read through it on my own a few years ago. Much easier to follow than CLRS (and much more manageable in size, though it obviously leaves out a lot of the stuff they cover). It strikes a good balance between rigor and clarity. Also has one of the better explanations of dynamic programming that I've seen if I remember correctly.

Also recommended in this reply

telltruth
This might sound either obvious or naive but if you are not a CS major, I would really emphasize reading CS textbooks such as CLRS, Programming Pearls, Dragonbook and most importantly textbooks on statistics m probability, linear algebra. There is a pyramid of skills for developers. People who haven’t studied throughly above stuff usually ends up at bottom (aka “enterprise” or “web” or “database” developers). They spend their lives in trivialities of patterns and plumbing and only very rarely doing something interesting such as distributed computing, game programming, systems programming, ML/AI.
pjmlp
A few ones: "Algorithms and Data Structures" from Niklaus Wirth. "Introduction to Algorithms, 3rd Edition" from Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. "The Garbage Collection Handbook: The Art of Automatic Memory Management" from Richard Jones and Antony Hosking "Code Complete" from Steve McConnell "From Mathematics to Generic Programming" from Alexander Stepanov and Daniel Rose
mathnode
- The Pragmatic Programmer - The Practice of Programming - The Mythical Man Month - The Cathedral and the Bazaar - The Art of Motorcycle Maintenance - Introduction to Algorithms - Hackers and Painters Some of these do contain mixed language code examples, but they are expressed in a way to be agnostic. A problem is a problem; in any language.
metaphorm
- The Left Hand of Darkness by Ursula K. LeGuin - Blindsight and Echopraxia by Peter Watts - The Tao Te Ching - The Gateless Gate (Koun Yamada translation/editing) - The Baroque Cycle (Quicksilver, The Confusion, The System of the World) by Neal Stephenson - The Invisibles by Grant Morrison - Incerto (Fooled by Randomness, The Black Swan, Antifragile, The Bed of Procrustes) by Nassim Nicholas Taleb - Iron John by Robert Bly - Catch 22 by Joseph Heller - The Character of Physical Law by Richard P. Feynman - Collected Fictions by Jorge Luis Borges - 100 Years of Solitude by Gabriel Garcia Marquez - Pharmakon by Dale Pendell - The Butter Battle Book by Dr. Seuss - Greek Mythology by Edith Hamilton - The Player's Handbook, Dungeon Master's Guide, and Monster Manual by Gary Gygax et al - Introduction to Algorithms by Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen
EnderMB
1) Outliers by Malcolm Gladwell: I bought this book after it was referenced in one of Alex Ferguson's books. It's a fascinating tale of how people became to be successful by being the right person in the right environment at the right time, from how Bill Gates dominated the world of software, to how The Beatles became one of the best bands in the world. It's a great reminder that a mixture of hard work, the right environment, and dumb luck will help you do well. 2) C# in Depth by Jon Skeet: Buying and reading this book is what led me to continue down the deep rabbit hole of .NET development, and following the C# language from version 1 onwards via the book is a great way to appreciate the language, as well as use it. As someone that writes C# daily this is the main book I recommend to existing devs.…

Also recommended in this reply

Ping_2_Ur_Pong
Below list are some of my favorite books overall that I didn't see mentioned. ---Non-software related How to win friends and influence people -Dale Carnegie (The definitive guide to helping you work better with people, truly great book, should be required reading) Blink- Malcolm Gladwell Godel Escher, Bach - (Recursion, but not from a software perspective. Its a glorious book that will change the way you think about recursion.) Hitch Hiker's guide to the galaxy, - Douglas Adams (Glorious book that is a fun read, when you need a break pick this up and laugh hard) Foundation Series - Assimov (Great stories from one of the best sci-fi writers ever) -------------------Software related Code Complete Concrete Mathematics The Art of Computer Programming The Design of the Unix Operating System Introduction to Algorithms -Cormen Design Patterns Elements of Resusable OO Design -Gang of Four
chwahoo
I find it shocking that "technical/instructive/informative" books are disallowed. I can't begin to fathom a reasonable explanation for that. To be more helpful, a mathy algorithms text, like CLR (http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme... (http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844/)) might slip through the censors and be a good option--depending on whether your friend is comfortably enough with thinking about code abstractly.
rshepherd
This response is late that I doubt will even be read by the poster, but I will throw this out there anyway. I was (am?) a self-taught programmer, I guess I am transitioning away of that label. I am a bit less than halfway through the MSCS program at the moment. I really cannot recommend it enough. I think I was a pretty good software engineer prior to getting some formal education, but I cannot tell you how often in class the light from heaven just shines right down.. "oh so that's why x is y". If you enjoy the work, its a real pleasure (albeit a painful amount of work at times). So finally I get to the point. I can see that you have already received a lot of good recommendations. I think most of them are quite good. However, I have a couple of observations about specific books. Intro to Algorithms - Cormen etc.…

Also recommended in this reply

T-R
It really depends on what you feel you're missing and what you're hoping to do (definitions of "daily work" vary widely). If you're looking to get up on theory by doing your own program of sorts, you could do worse than start with these (in roughly this order): Structure and Interpretation of Computer Programs - Abelson, Sussman, and Sussman Introduction to Algorithms - Cormen, Leiserson, Rivest, and Stein The Art of Assembly Language - Hyde a digital logic book (not sure which is most recommended), and an architecture book (see reply by tftfmacedo) Modern Operating Systems - Tanenbaum Introduction to the Theory of Computation - Sipser Compilers: Principles, Techniques, and Tools - Aho, Lam, Sethi, and Ullman (a.k.a. "Dragon Book") Programming Language Pragmatics - Scott…