CDN$ 85.94
  • List Price: CDN$ 186.60
  • You Save: CDN$ 100.66 (54%)
Usually ships within 1 to 2 months.
Ships from and sold by Gift-wrap available.
Introduction to Automata ... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Introduction to Automata Theory, Languages, and Computation (3rd Edition) Hardcover – Jun 29 2006

3.0 out of 5 stars 2 customer reviews

See all 9 formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 85.94
CDN$ 43.51 CDN$ 46.72

Harry Potter and the Cursed Child
click to open popover

Special Offers and Product Promotions

  • You'll save an extra 5% on Books purchased from, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)

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.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Hardcover: 750 pages
  • Publisher: Pearson; 3 edition (June 29 2006)
  • Language: English
  • ISBN-10: 0321455363
  • ISBN-13: 978-0321455369
  • Product Dimensions: 16.8 x 3.3 x 23.9 cm
  • Shipping Weight: 898 g
  • Average Customer Review: 3.0 out of 5 stars 2 customer reviews
  • Amazon Bestsellers Rank: #257,589 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

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?

Customer Reviews

3.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Top Customer Reviews

Format: Hardcover Verified Purchase
Awesome book but I would have like to have computational exercices.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Hardcover Verified Purchase
Book content is a little different from US Edition
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most Helpful Customer Reviews on (beta) HASH(0x9feaf804) out of 5 stars 22 reviews
30 of 33 people found the following review helpful
HASH(0x9feba018) out of 5 stars Disappointing - Not a great first book Dec 26 2006
By Stephen Rowe - Published on
Format: Hardcover Verified Purchase
I had to use this for a Formal Models of Computation class last semester. It's okay but can be hard to follow. It is often hard to learn from the examples. The formalism and proof gets in the way of intuition. It would make a better 2nd book or reference than a first book on the subject. I supplemented the book with Sipser and found that a much better book for learning from. Hopcroft (this book) is more mathematical in nature but the explanation is harder to follow. If you have a choice, go with Sipser.

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.
9 of 9 people found the following review helpful
HASH(0x9fb478a0) out of 5 stars Updated Classic Text Aug. 29 2007
By Amazon Customer - Published on
Format: Hardcover
The previous edition of this text was published in the late 70's (1979), and it was still in use today in many schools and Universities across the world. For good reason too, the authors of this text really nail down the concept of computability as we understand it today. It is very difficult to find an undergraduate curriculum that does not include a course in Computability or theory of computation, and that is certainly a change from a couple of decades ago where this type of study was left to the Graduate level curricula. What this means to the reader is that one can not be a Computer Scientist without understanding the concepts and theory behind what computability really means.

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.
12 of 13 people found the following review helpful
HASH(0x9fb47ae0) out of 5 stars The best theoretical computer science book out there. June 25 2008
By Renato Perini - Published on
Format: Hardcover
This book is a one stop solution to your theoretical computer science needs (at least, as an introduction). If you're interested in language theory, deterministic / non deterministic finite state automata design, grammars and regular languages, computational complexity (temporal and spatial complexity), this the book for you. The formal notation used in the book is not the heaviest ever seen for this kind of subject, so it remains comprehensible (assumed it's not your first exposition to this discipline). I found it particularly interesting starting from chapter 8, when it covers turing machines, indecidibility in chapter 9 and intractability in chapter 10.
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.
23 of 28 people found the following review helpful
HASH(0x9fb47d5c) out of 5 stars There are (much) better books on the subject July 8 2013
By Roger Costello - Published on
Format: Hardcover
There are much better books on the subject. Don't waste your time with this book, particularly if you want a quick, easy-to-understand introduction to the subject.

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
9 of 10 people found the following review helpful
HASH(0x9fb5606c) out of 5 stars Very nice book May 14 2008
By Denis Pankratov - Published on
Format: Hardcover
I read this book from cover to cover, not because it was required by the Formal Languages course that I took, but because it is a very good read. This book gives all the necessary details in every theorem that it proves, which can be considered both a good and a bad thing, depending on your level of knowledge of the subject. I personally believe it is a good thing, because after reading any proof in this book you do not feel skeptical if it works or not, like it can be after reading a proof that skips lots of steps.

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.