This is the personal website of Garthee, who believes it is the perspiration not the perception that brings the success
Must have computer books
For longtime I wanted to maintain a list of MUST HAVE / MUST READ books and as I came across a blog and found interesting and useful I am here starting my list with them.
Must-Read/Classic
- C Programming Language
by Brian W. Kernighan and Dennis M. Ritchie
- Structure and Interpretation of Computer Programs
by Harold Abelson and Gerald Jay Sussman
- Compilers: Principles, Techniques, and Tools
by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
- Art of Computer Programming
by Donald E. Knuth
Discrete Math
- Discrete Mathematics with Applications
by Susanna S. Epp
- Concrete Mathematics
by Ronald L. Graham, Donald E. Knuth, and Oren Patashnik
- Basic Category Theory for Computer Scientists
by Benjamin C. Pierce
Computer Theory
- Computer Science: An Overview
by J. Glenn Brookshear
- Introduction to the Theory of Computation
by Michael Sipser
- Introduction to Computer Theory
by Daniel I. A. Cohen
- Introduction to Automata Theory, Languages, and Computation
by John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman
Algorithms
- Introduction to Algorithms
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
- The Algorithm Design Manual
by Steve S. Skiena
- Art of Computer Programming
by Donald E. Knuth
- Algorithms in C
by Robert Sedgewick
- Purely Functional Data Structures
by Chris Okasaki
Compilers
- The Art of Compiler Design
by Thomas Pittman and James Peters
- Compilers: Principles, Techniques, and Tools
by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
- Advanced Compiler Design and Implementation
by Steven Muchnick
- Linkers and Loaders
by John R. Levine
Programming Language Theory and Design
- Programming Language Pragmatics
by Michael L. Scott
- Types and Programming Languages
by Benjamin C. Pierce
- Essentials of Programming Languages
by Daniel P. Friedman and Mitchell Wand
Hardware/CPU
- Inside the Machine
by Jon Stokes
- Code: The Hidden Language of Computer Hardware and Software
by Charles Petzold
Operating Systems
- Operating Systems Design and Implementation
by Andrew S Tanenbaum and Albert S Woodhull
- Modern Operating Systems
by Andrew S. Tanenbaum
- Operating System Concepts
by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne
- Linux Kernel Development
by Robert Love
- Linux Device Drivers
by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
Assembly
- Programming From The Ground Up
by Jonathan Bartlett and Dominick, Jr. Bruno
- Assembly Language Step-by-Step
by Jeff Duntemann
Network Programming
- Unix Network Programming, Volume 1
by W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff
Better Programming
- Code Complete
by Steve McConnell
- The Pragmatic Programmer
by Andrew Hunt and David Thomas
- Design Patterns
by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides
- The Mythical Man-Month
by Frederick P. Brooks
- Beautiful Code
by Andy Oram and Greg Wilson
Get books





