These books form the core computer science curriculum and professional reading list. They cover algorithms, systems, languages, theory, and the broader craft of software engineering - essential reading for anyone serious about CS.
Foundational CS Textbooks
Books that establish the theoretical and practical foundations of computer science.
| Book | Author | Year | Level | Description |
|---|---|---|---|---|
| Structure and Interpretation of Computer Programs 2nd Edition, MIT Press | Harold Abelson, Gerald Jay Sussman, Julie Sussman | 1996 | Intermediate-Advanced | The legendary 'SICP' - arguably the most influential CS textbook ever written. Teaches computation as a mental model using Scheme. Freely available online. |
| Introduction to Algorithms 4th Edition, MIT Press | Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein | 2022 | Intermediate-Advanced | The definitive algorithms textbook ('CLRS') used in over 1,000 universities. Rigorous coverage of all standard algorithms with proofs and analysis. |
| Computer Systems: A Programmer's Perspective 3rd Edition, Pearson | Randal E. Bryant, David R. O'Hallaron | 2015 | Intermediate-Advanced | CMU's 'CSAPP' - the best introduction to computer systems from a programmer's viewpoint. Covers machine code, memory, linking, processes, and networking. |
Theory of Computation
Automata, computability, complexity theory, and logic.
| Book | Author | Year | Level | Description |
|---|---|---|---|---|
| Introduction to the Theory of Computation 3rd Edition, Cengage | Michael Sipser | 2012 | Intermediate-Advanced | The standard undergraduate theory textbook. Clear, rigorous treatment of automata, computability, and complexity with elegant proofs. |
| Computational Complexity: A Modern Approach Cambridge University Press | Sanjeev Arora, Boaz Barak | 2009 | Advanced | Modern graduate complexity theory covering P vs NP, randomization, derandomization, quantum complexity, and interactive proofs. Freely available online. |
| Introduction to Automata Theory, Languages, and Computation 3rd Edition, Pearson | John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman | 2006 | Advanced | Classic rigorous treatment of formal languages and automata theory. |
Operating Systems and Systems Programming
How operating systems work and how to program them.
| Book | Author | Year | Level | Description |
|---|---|---|---|---|
| Operating Systems: Three Easy Pieces Arpaci-Dusseau Books | Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau | 2018 | Intermediate | Modern, free, and exceptionally well-written OS textbook organized around virtualization, concurrency, and persistence. The best free CS textbook. |
| Operating System Concepts 10th Edition, Wiley | Abraham Silberschatz, Peter B. Galvin, Greg Gagne | 2018 | Intermediate | The 'dinosaur book' - long-standing standard OS textbook with comprehensive coverage. |
| The Linux Programming Interface No Starch Press | Michael Kerrisk | 2010 | Advanced | The definitive reference for Linux system programming. Exhaustive coverage of system calls and POSIX APIs. |
Programming Languages and Compilers
Language design, implementation, and programming paradigms.
| Book | Author | Year | Level | Description |
|---|---|---|---|---|
| Compilers: Principles, Techniques, and Tools 2nd Edition, Pearson | Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman | 2006 | Advanced | The 'Dragon Book' - standard compilers textbook covering lexing, parsing, type checking, optimization, and code generation. |
| Programming Language Pragmatics 4th Edition, Morgan Kaufmann | Michael L. Scott | 2015 | Intermediate-Advanced | Comprehensive treatment of programming languages and their implementation. |
| Types and Programming Languages MIT Press | Benjamin C. Pierce | 2002 | Advanced | The canonical type theory textbook. Essential for anyone interested in programming language theory or formal methods. |
Software Craft and Classics
Books every professional programmer should read on the craft of programming.
| Book | Author | Year | Level | Description |
|---|---|---|---|---|
| The Art of Computer Programming Addison-Wesley | Donald E. Knuth | 1968-ongoing | Advanced | Knuth's monumental multi-volume work ('TAOCP'). Not light reading but the ultimate reference on fundamental algorithms. |
| The Pragmatic Programmer 20th Anniversary Edition, Addison-Wesley | David Thomas, Andrew Hunt | 2019 | Beginner-Intermediate | Distilled wisdom from two experienced developers on the craft of programming. Required reading for new software engineers. |
| Code Complete 2nd Edition, Microsoft Press | Steve McConnell | 2004 | Intermediate | The most comprehensive guide to the practice of software construction ever written. |