"Solutions are available" | 2008-12-09 |
| - Reviewed By User: A2IZT9KD0K3UF6 |
A number of reviewers have mentioned that there are no solutions available at the back of the book. This is true. But there are solutions for about 1/3 of the exercises available from the publisher. If you are a prof, it might be an idea to obtain these and pass them on to your students; that's what I'm doing. If you are a student, talk to your prof about it, and if you are studying for comps, ask your supervisor. Here is the author's website for the book, which contains information on how to obtain the solutions: [...]
Now that said, I just finished choosing between about 6 books in the area. None of them are perfect. I ended up selecting this one, as it has good examples and clear definitions, and the coverage we need.
One reviewer mentioned the emphasis on Turing Machines as a strong point. My point of view is that Turing machines are not a model that means much to students. If I teach students computability with TMs and then ask them if they can solve the halting problem for C (suitably idealized), they don't see the connection. (Even though I've told them.) When it comes to complexity, the connection is even more tenuous. One of the weaknesses of this book is that it does not treat the RAM model or similar models that are more like the language and machines that students use (and hopefully program) every day. Personally, I'd like to see a book that has no TMs at all, or relegate them to an optional chapter. Anyway, this is a fault of the genre. There are only a few texts that don't focus on TMs, even for complexity. |
| |
"No Examples , No Answers, No Hints" | 2006-11-20 |
| - Reviewed By User: A139RBM5PVE4L7 |
| Besides the fact that the book is "dry", in which most Math theory based books are, the examples are just the basis step towards solving a problem. I equate it to teaching a child how to add, and just giving them the example "1 + 0", then assume they can figure out the rest. There are no answers, either in the back of the book for particular exercies, nor was a study guide made available. What is really shocking is that it's the most expensive book out there! Not to mention that there isn't any programming steps made available. Great text for a Math major ... horrible textbook for Computer Science Majors, mainly because computer science majors would want to see programming examples and may not be as strongly math oriented as a Math major would be. |
| |
"A Good Book for a Tough Subject" | 2006-02-15 |
| - Reviewed By rmarmels |
Abstract language theory is hard, but Languages and Machines does a very good job of explaining the subject step by step. The topics are covered extremely thoroughly and with just the right amount of rigor. As for those who claim it's not exciting enough, you can't get blood out of a stone. Only the most dedicated computer scientist and mathematicians will find this topic interesting. Even so, this book does a superb job of tying theory to application (e.g., the machines one can use language theory to build) for even the most obscure concepts (like the Greibach Normal Form).
That being said, there are a few problems. First, the author's claim that this is a book for undergrads is not credible (except perhaps at MIT or CalTech). Even my graduate students have to read sections multiple times to "get it". Second, the author needs to provide solutions to selected problems at the back of the textbook. Most theory books do this, but not this one. This is a major weakness, especially given the difficulty of the material. Lastly, Sudkamp's proofs are extremely dry and very difficult to follow. He should take a cue from Sipser's excellent book (Intro to Theory of Computation) and introduce "proof ideas" to give the big picture for important proofs. |
| |
"emphasises the Turing machine" | 2005-09-29 |
| - Reviewed By southlandplace |
[A review of the 3RD EDITION, 2005.]
Sudkamp gives a formal and rigorous explanation of what constitutes a language. Where this is deliberately taken to include both natural (spoken) languages and programming languages. To do this, you should note that the treatment is necessarily non-trivial. It is not a lightweight book, conceptually.
The book summarises decades of work in this field, that have attempted to reduce human languages to a form that could be "understood" by a machine. So he explains the various techniques that have arisen. Like finite state machines (finite automata).
Notably, he discusses what is a Turing machine. A universal computing engine, that all other computers can map to. Such a Turing machine might be deterministic or non-deterministic. You can learn very powerful unifying ideas.
From the construct of a Turing machine, the book uses this to delve into problems that are NP complete or P complete. The implementation of a solution as steps to be done by a Turing machine are elegant, and show how such a machine, while an idealisation, can be used to give provable results. |
| |
"Taught by the author!" | 2004-09-20 |
| - Reviewed By prithviraj2k |
Hey,
I was fortunate enough to learn this course from the author of the book. The book by itself might seem tough. The fault lies in the fact that subject matter is not altogether too simple to understand without someone teaching it to you!
With the help of the instructor, we did learn a lot about formal languages, finite automaton, regular grammer, etc.
The key to understanding this material (and using this book effectively) is solving as many problems as possible, preferably in a group setting so that solutions can be discussed.
Note: For most problems, there exists multiple solutions, and the approach is what needs to be learned and discussed.
Recommended, with some reservations...Good luck! |
| |
"Excellent Book, A Must have." | 1999-12-22 |
| - Reviewed By pecos_bill |
| This is one of the better books that I read on languages and machines. This book is great for someone who is interested in parsing, compilers or pattern matching. The book covers a lot of theory on computation and is not for a beginner. I would recommend that one be well grounded in set theory, recursion and mathematical induction before attempting to read this book. I did not read all the chapters; I only read those that were relevant to my project and I had not seen before in other texts. The 1st chapter get you upto speed with a good review of set theory followed by a quick review of induction and recursion. The 2nd chapter gives an excellent introduction to strings, languages and regular expressions along with relations on regular expressions. Chapter 3 is where the rubber hits the road. It covers context-free and regular grammars. I feel this chapter covers the subjects very well. Chapter 4 gives a good description of parsing and methods of parsing. Chapter 6 covers Finite Automata. This chapter describes deterministic finite state machines, nondeterministic finite state matchines and nondeterministic finite state matchines with lambda transitions. The presentation of the subject in this chapter was excellent. Chapter 7 presents Regular Languages and Sets. This chapter gives a good presentation of how to put together different types of machines from different languages and build languages from machines. I found it best not to read the chapters in orders, instead I read them in the following order which helped to understand the material better; 1,2,6,7,3,4,11,12 My only complaint: It would have helped if the author could have gave answers to some of the problems at the end of the chapters. |
| |