Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Introduction to Automata Theory, Languages, and Computation

John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman

4 readers recommend it across 3 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.

guiraldelli
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.…
dragonquest
Over the years I've found the following CS books helpful, but only a minority in my day-to-day work. Your mileage may vary, as would the utility of these to you. Algorithms -> Algorithms + Data Structures = Programs by Wirth (worth its weight in gold if you can get past the Pascal syntax) OS -> Operating System Concepts by Silberschatz et al (The dinosaur book) CS Theory -> Introduction to Automata Theory, Languages, and Computation by Hopcroft, Ullman Programming Languages Theory -> Programming languages: design and implementation by Pratt et al Database Theory -> Database Design by Wiederhold Architecture -> Structured Computer Organization by Andrew S Tanenbaum
jdj
One book that I would suggest to anyone is Introduction to Automata Theory, Languages, and Computation - HMU. It is very approachable and presents some very interesting topics (so you won't write a regex for matching HTML and will learn what P vs NP means). On a more practical side, I think that a must read for machine learning is Tom Mitchell - Machine Learning . Another book that from what I've heard is easier to digest is Data Mining: Practical Machine Learning Tools and Techniques.

Also recommended in this reply

dedalus
The fundamental book to read would be "Introduction to Automata Theory, Languages, and Computation" ( http://www.amazon.com/Introduction-Automata-Theory-Languages... (http://www.amazon.com/Introduction-Automata-Theory-Languages-Computation/dp/0321462254/)) Then proceed to Dragonbook. After finishing Dragonbook, you might like this Linkers and loaders (http://www.amazon.com/Linkers-Kaufmann-Software-Engineering-... (http://www.amazon.com/Linkers-Kaufmann-Software-Engineering-Programming/dp/1558604960)) In general follow this guy Jeff Ullman and you would be good(http://infolab.stanford.edu/~ullman/)