I don't think there is a definitive answer for your question because computer science is a relative new area of knowledge and “fundamental books” are still being published. If I had to say one text that is the fundamental one, I would go with a paper: “On Computable Numbers, with an Application to the Entscheidungsproblem” [1], by Alan Turing. --- But if you just started your course in Computer Science, then I will give you some “bookshelf advice" based on my experience. I had the pleasure to study all the books I am going to recommend you, and most of them I was able to read cover-to-cover during the university years. And they are also in my bookshelf for reference. The book order does not represent rank of importance. * “Introduction to the Theory of Computation”, by Michael Sipser. * I also recommend the “Elements of the Theory of Computation”, by Christos Papadimitriou. * Another good complement is “Introduction to Automata Theory, Languages and Computation”, by Hopcroft and Ullman. (Thanks, @reacweb, for the reminder.) * “Graph Theory”, by Reinhard Diestel.…
Also recommended in this reply
- The Algorithm Design Manual
- Modern Operating Systems
- Artificial Intelligence: A Modern Approach
- Introduction to Automata Theory, Languages, and Computation
- Modern Compiler Implementation in ML
- Concrete Mathematics: A Foundation for Computer Science
- Elements of the Theory of Computation
- Modern Graph Theory
- Algorithms
- Graph Theory