(Hardcover - REV)
The third edition of Languages and Machines: An Introduction to the Theory of Computer Science provides readers with a mathematically sound presentation of the theory of computer science. The theoretical concepts and associated mathematics are made accessible by a "learn as you go" approach that develops an intuitive understanding of the concepts through numerous examples and illustrations.
This revied edition of a mathematically sound presentaion of the theoretical aspects of computing includes step-by-step, unhurried proofs, worked-out examples that demonstrate theoretical concepts, and numerous diagrams and line drawings which highlight the underlying concepts.
More Reviews and Recommendations
Thomas A. Sudkamp holds a Ph.D. in mathematics from the University of Notre Dame and worked extensively in industry and for the Air Force before joining the faculty at Wright State University where he has taught for over 10 years.
Reader Rating:
See Detailed Ratings
September 29, 2005: [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.