- You'll save an extra 5% on Books purchased from Amazon.ca, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)
Introduction to Automata Theory, Languages, and Computation (3rd Edition) Hardcover – Jun 29 2006
Special Offers and Product Promotions
Customers Who Viewed This Item Also Viewed
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover
This classic book on formal languages, automata theory, and computational complexity has been updated to present theoretical concepts in a concise and straightforward manner with the increase of hands-on, practical applications. This new edition comes with Gradiance, an online assessment tool developed for computer science.
Gradiance is the most advanced online assessment tool developed for the computer science discipline. With its innovative underlying technology, Gradiance turns basic homework assignments and programming labs into an interactive learning experience for students. By using a series of “root questions” and hints, it not only tests a student’s capability, but actually simulates a one-on-one teacher-student tutorial that allows for the student to more easily learn the material. Through the programming labs, instructors are capable of testing, tracking, and honing their students’ skills, both in terms of syntax and semantics, with an unprecedented level of assessment never before offered.--This text refers to an alternate Hardcover edition.
About the Author
Ullman is the Stanford W. Ascherman Professor of Computer Science at Stanford.
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
As near as I can tell, the big improvement in the 3rd edition over the 2nd is the inclusion of some online practice problems. If your class isn't going to be using these, can you save money by going with the older copy.
Things like Context Free languages and grammar are used readily in things like XML and its accompanying standards such as the DTD. So, it makes sense to update a classic text to include such topics and further illustrate to the reader that what once was a theory is now center stage of Computer Science and the IT industry as a whole.
The text starts with the classics such as an introduction to automata theory followed by languages. The authors have taken a more relaxed approach to the topics as the proofs are less formal and easier to follow. Plain text is usually used to informally proof the topic at hand, and the authors go into a more formal approach on selected proofs. This is definitely a better approach than the other texts in the same topic that proofs are center stage of the discussion and the reader gets lost early on in the process. The text is easy to read for students, and easy to explain for the instructors. I remember when I took theory of Computation for my graduate work proofs were so convoluted and difficult to read that I had to spend many of nights trying to understand what the instructor was talking about in the class.
As one would expect, the book then goes into Turning Theory and Machine with the concept to computability and complexity. Well, the good news is that the authors' approach to the topic does not change; lots of explaining of the basics followed by a more detailed formal approach to the topic. All I need to say is that I wish my text was this reader friendly! Chapter 8, Introduction to Turing Machines, sets the ground work for the rest of the text. It explains reducibility and more importantly how to reduce a problem, something I have never seen in any other text in such detail! Automata and its relation to Turing Machine is depicted in detail, so there is no gap between the topics. What is interesting is that the authors close the loop with actually talking about, for example the Halting problem, in the real world with a program.
As one would expect, different classes of problems are explored in detail with many examples (theory and real-world examples) that accompany the topic at hand. Each chapter ends with a summary of topics discussed followed by a set of exercises. There are also a number of exercises at the end of each section in a given chapter in order to reel-in the topic for the reader.
All and all, this is one great text on automata and computation theory. It is easy to read and follow for the students without the loss of content. The authors relate abstract concepts to real-world examples to further illustrate the importance of the topic at hand.
All in all, it's a good introduction to these concepts. I give it 4 stars because some proofs could have been easier, but this is not a big problem. The P and NP classes of problems are wonderfully explained. We are speaking about a book every computer scientist out there should have on his/her shelf. Those who consider this book extremely hard and difficult is because of their lack of fundamental knowledge in computer science. Of course, this is not the first book you should read on the subject. But be assured, this book will give you what it promises: a good knowledge about languages theory, indecidibility and intractability of problems.
Here is my evaluation of the books on this subject:
1. (A+) Theory of Computation: Formal Languages, Automata, and Complexity by J. Glenn Brookshear
2. (A) Formal Language: A Practical Introduction by Adam Brooks Webber
3. (A-) Computation: Finite and Infinite Machines (Automatic Computation) (Automatic Computation) by Marvin Minsky
4. (B+) Computability, Complexity, and Languages, Second Edition: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing), Second Edition: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing) 2nd Edition ( Hardcover ) by Davis, Martin; Sigal, Ron; Weyuker, Elaine J. pulished by Morgan Kaufmann (Computer Science and Scientific Computing) by Davis, Sigal, and Weyuker
5. (B+) Automata Theory with Modern Applications by James A. Anderson
6. (C-) Introduction to Automata Theory, Languages, and Computation (3rd Edition) (Addison-Wesley series in computer science) (Addison-Wesley series in computer science) by Hopcroft and Ullman
I haven't used their online resources, and I didn't do many problems from this book, because the professor teaching the course came up with problems of his own. However, from what I've seen, they have a very reasonable collection of problems suited for self-study. Every well established field has a list of standard problem, and Language Theory is no exception. The problems in this book certainly cover most of the standard ones. Please, also be aware that although this book is a good read, it is not necessary an easy read - be prepared to invest considerable amount of time into this book.
I cannot give this book 5 stars simply because I do not think it is much better than previous editions. As a matter of fact, I think it is worse. I did not have a very close look at previous editions, but I know for a fact that they were more rigorous and formal and covered more topics. As a result of that, they were less suited for teaching an introductory course, but some of the topics they studied there are really nice. From what I've heard about previous editions though, it seems that they described several open problems, that are no longer open. So I'd suggest getting this new edition, simply because it has more contemporary information.
Some people write in their review that this book requires solid background in the area it covers. I respectfully disagree - I had little to none background in Language Theory and Complexity Theory prior to taking this course and (consequently) starting to read this book; however, I did very well in the course and enjoyed it very much. Of course, I was lucky to have an excellent professor teaching that course. If good books came with good professors that would be a killer package, but unfortunately they don't.
I have not read any other books in this field, so I have nothing to compare with, but all in all, for me it worked great and if you have a good professor and are passionate about the subject, I'm sure this book won't be a miss.
Look for similar items by category
- Books > Computers & Technology > Computer Science > Artificial Intelligence > Computer Mathematics
- Books > Computers & Technology > Computer Science > Artificial Intelligence > Theory of Computing
- Books > Computers & Technology > Computer Science > Software Engineering > Information Systems
- Books > Professional & Technical > Professional Science > Mathematics > Pure Mathematics
- Books > Science & Math > Mathematics > Pure Mathematics > Logic
- Books > Textbooks > Computer Science & Information Systems > Computer Science
- Books > Textbooks > Sciences > Mathematics