HelpFeedback
Martin
Information Center
Preface
Salient Features
Table of Contents
About the Author
Queries and Feedback
Buy the Book


Student Edition
Instructor Edition
Introduction to Languages and the Theory of Computation,3E [Special Indian Edition]

John Martin, North Dakota State University

ISBN: 0070660484
Copyright year: 2007

Preface



This book is an introduction to the theory of computation. It emphasizes formal languages, models of computation, and computability, and it includes an introduction to computational complexity and NP-completeness.

Most students studying these topics have already had experience in the practice of computation. They have used a number of technologies related to computers; now they can begin to acquire an appreciation of computer science as a coherent discipline. The ideas are profound—and fun to think about—and the principles will not quickly become obsolete. Finally, students can gain proficiency with mathematical tools and formal methods, at the same time that they see how these techniques are applied to computing.

I believe that the best way to present theoretical topics such as the ones in this book is to take advantage of the clarity and precision of mathematical language— provided the presentation is accessible to readers who are still learning to use this language. The book attempts to introduce the necessary mathematical tools gently and gradually, in the context in which they are used, and to provide discussion and examples that make the language intelligible. The first two chapters present the topics from discrete mathematics that come up later, including a detailed discussion of mathematical induction. As a result, the text can be read by students without a strong background in discrete math, and it should also be appropriate for students whose skills in that area need to be consolidated and sharpened.

The organizational changes in the third edition are not as dramatic as those in the second. One chapter was broken up and distributed among the remaining fourteen, and sections of several chapters were reworked and rearranged. In addition to changes in organization, there were plenty of opportunities throughout to rewrite, to correct proofs and examples and make them easier to understand, to add examples, and to replace examples by others that illustrate principles better. Some exercises have been added, some others have been modified, and the exercises in each chapter have been grouped into ordinary ones and more challenging ones. In the Turing machine chapter, I have followed the advice of two reviewers in adopting a more standard and more intuitive definition of halting.

Whether or not Part I is covered in detail, I recommend covering Section 1.5, which introduces notation and terminology involving languages. It may also be desirable to review mathematical induction, particularly the sections on recursive definitions and structural induction and the examples having to do with formal languages. At North Dakota State, the text is used in a two-semester sequence required of undergraduate computer science majors, and there is more than enough material for both semesters. Aone-semester course omitting most of Part I could cover regular and context-free languages, and the corresponding automata, and at least some of the theory of Turing machines and solvability. In addition, since most of Parts IV, V, and VI are substantially independent of the first three parts, the text can also be used in a course on Turing machines, computability, and complexity.

I am grateful to the many people who have helped me with all three editions of this text. Particular thanks are due to Ting-Lu Huang, who pointed out an error in the proof of Theorem 4.2 in the second edition, and to Jonathan Goldstine, who provided several corrections to Chapters 7 and 8. I appreciate the thoughtful and detailed comments of BruceWieand, North Carolina State University; Edward Ashcroft, Arizona State University; Ding-Zhu Du, University of Minnesota;William D. Shoaff, Florida Institute of Technology; and Sharon Tuttle, Humboldt State University, who reviewed the second edition, and Ding-Zhu Du, University of Minnesota; Leonard M. Faltz, Arizona State University; and Nilfur Onder, Michigan Tech, who reviewed a preliminary version of this edition. Their help has resulted in a number of improvements, including the modification in Chapter 9 mentioned earlier. Melinda Dougharty at McGraw-Hill has been delightful to work with, and I also appreciate the support and professionalism of Betsy Jones and Peggy Selle. Finally, thanks once again to my wife Pippa for her help, both tangible and intangible.

John C. Martin

To obtain a lecturer login to the Online Learning Centres, ask your local sales representative. If you're a lecturer thinking about adopting this textbook, request a complimentary copy for review.