Most Helpful Customer Reviews
13 of 13 people found the following review helpful:
5.0 out of 5 stars
Appeals to novice and expert, February 27, 2006
This review is from: Introduction to the Theory of Computation (Hardcover)
I have a long experience with software development, but not much background in computation theory, just fascinating tidbits I have picked up here and there. So, this book for the first time deepens and organizes for me this hightly abstract and difficult topic.
Being a novice, I at first was afraid that the text of the book would be beyond my understanding. It was not. For sure, the proofs are difficult and may appeal to the person with a degree in computer science. But the copious diagrams, figures and tables are wonderful supplements to the understandable text. For the first time I really could grasp the subtleties of the finit automata, non-determinism, regular expressions, pushdown automata and other topics.
Certainly I can recommend this book to the beginner at computation theory, and even to the more advanced student who may want to review the topic.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
19 of 21 people found the following review helpful:
5.0 out of 5 stars
Most appropriate for CS students, May 31, 2006
This review is from: Introduction to the Theory of Computation (Hardcover)
As a teacher of the subject, I have had the chance to evaluate numerous books on the theory of computation. Of all the available texts, I think this one is the most appropriate for CS students. In the past I taught out of Dexter Kozen's book, which is incredibly elegant, but had some resistance from the students. Thinking it over I decided that Kozen's text, although beautiful, may be better suited to students pursuing a degree in pure math. Sipser's book, on the other hand, is more gentle. I find that Sipser demands far less mathematical maturity from his readers, and thus allows the difficulty to be shifted from excessive formalism to the inherent challenges present in the material. In addition, following Sipser's treatment, I was able to cover finite state machines and pushdown automata in far less time, thus allowing me to concentrate on computability and beyond. The book really shines in its treatment of computability theory, eloquently directing attention to some of the most beautiful aspects.
Another benefit of Sipser's book is the exercises, of which there are many more in this edition. Someone studying on their own should find the initial group of exercises in each section quite approachable. Even the more challenging problems are not incredibly hard, and typically draw their difficulty from the deeper themes of the chapter instead of obscure details.
If you are looking for an enjoyable, well-paced book with an introduction to computability and complexity that is truly inspiring, this is the one for you. A mathematician looking for a bit more rigor may do better with Kozen.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
11 of 11 people found the following review helpful:
5.0 out of 5 stars
Very readable, diverse, and a little sparse, November 24, 2006
This review is from: Introduction to the Theory of Computation (Hardcover)
This is a wonderful little gem of a book that presents the theory of computation in a fascinating way. It is targeted at advanced undergraduates in computer science, but assumes remarkably little prior knowledge, making it accessible to nearly anyone. The book covers a lot of ground, including the standard fare of automata, computability, and complexity results, plus some bonus material such as probablistic and parallel complexity, information theory, decidable logical theories, and other topics that are normally left out of introductory books. On top of this, the book is remarkably thin!
The best attribute of Sipser's book, though, is the engaging style. This is an easy book to read. You will not feel like you're running into a brick wall, as is sometimes the case with books on abstract topics. It's not so much that the book is slow or gentle (it's really not) as that it is interesting, engaging, and has a knack for stopping short of getting too caught up in details. A number of small things -- the occasional amusing exercise, the "proof idea" sections, or helpful pictures -- add up to an enjoyable reading experience.
Two cautions are appropriate to students considering this book. First, there are variations between authors in the definitions of various automata (especially PDAs). The differences are trivial, and more a matter of taste than of any real importance; but it could come up if you use Sipser as a supplement to a course that follows a different textbook. Second, the coverage of many topics in Sipser's book is brief and concise, sometimes more than you might like. Some important concepts (for example, pairwise distinguishability of strings) are only mentioned in exercises, not in the main chapter, so at least skim all the exercises even if you don't do them. The sketchy coverage is especially pronounced in advanced topics, so (as always) expect to do some filling in of concepts if you go on into further study of this area.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|