Books

Below is a list of textbooks which I personally think deserve the name of standard in several subareas related to computer science as of January 2, 2020. Please pardon me if some links are unavailable.

# Subarea Title Author Year Link
1 Theory of Computation Introduction to the Theory of Computation, 3rd Edition Michael Sipser 2012 link
2 Theory of Computation Computational Complexity: A Modern Approach Sanjeev Arora and Boaz Barak 2009 link
3 Data Structures and Algorithms Introduction to Algorithms, 3rd Edition Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein 2009 link
4 Data Structures and Algorithms Algorithm Design Jon Kleinberg and Éva Tardos 2005 link
5 Automata and Languagues Introduction to Automata Theory, Languages, and Computation, 3rd Edition John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman 2006 link
6 Programming Languages Types and Programming Languages Benjamin C. Pierce 2002 link
7 Hardware Computer Organization and Design, 5th Edition David A. Patterson and John L. Hennessy 2013 link
8 Computer Systems Principles of Computer System Design: An Introduction Jerome H. Saltzer and M. Frans Kaashoek 2009 link
9 Computer Systems Computer Architecture: A Quantitative Approach, 6th Edition John L. Hennessy and David A. Patterson 2017 link
10 Operating Systems Operating System Concepts, 10th Edition Avi Silberschatz, Peter Baer Galvin, and Greg Gagne 2018 link
11 Network Computer Networking: A Top-Down Approach, 7th Edition James F. Kurose and Keith W. Ross 2017 link
12 Compilers Compilers: Principles, Techniques, and Tools, 2nd Edition Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman 2006 link
13 Databases Database Systems: The Complete Book, 2nd Edition Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Wildom 2008 link
14 Distributed Systems Distributed Systems: Concepts and Design, 5th Edition George Coulouris, Jean Dollimore, Tim Kindberg, and Gordon Blair 2011 link
15 Artificial Intelligence Artificial Intelligence: A Modern Approach, 3rd Edition Stuart Russell and Peter Norvig 2009 link
16 Logic Language, Proof and Logic Jon Barwise and John Etchemendy 2002 link
17 Knowledge Representation and Reasoning Knowledge Representation and Reasoning Ronald J. Brachman and Hector J. Levesque 2004 link
18 Linear Algebra Introduction to Linear Algebra, 5th Edition Gilbert Strang 2016 link
19 Optimization Numerical Optimization, 2nd Edition Jorge Nocedal and Stephen Wright 2006 link
20 Optimization Convex Optimization Stephen Boyd and Lieven Vandenberghe 2004 link
21 Machine Learning Pattern Recognition and Machine Learning Christopher M. Bishop 2007 link
22 Machine Learning Probabilistic Graphical Models: Principles and Techniques Daphne Koller and Nir Friedman 2009 link
23 Machine Learning Deep Learning Ian Goodfellow, Yoshua Bengio, and Aaron Courville 2016 link
24 Natural Language Processing Speech and Language Processing, 2nd Edition Daniel Jurafsky and James H. Martin 2008 link
25 Natural Language Processing Introduction to Natural Language Processing Jacob Eisenstein 2019 link
26 Information Retrieval Introduction to Information Retrieval Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze 2008 link
27 Data Mining Introduction to Data Mining, 2nd Edition Pang-Ning Tan, Michael Steinbach, Anuj Karpatne, and Vipin Kumar 2018 link
28 Software Engineering Software Engineering: A Practitioner's Approach, 8th Edition Roger Pressman and Bruce Maxim 2014 link