|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Logic and Language Models for Computer Science
Henry HamburgerGeorge Mason University
Dana RichardsGeorge Mason University

ISBN-10: 0130654876
ISBN-13:  9780130654878

Publisher:  Prentice Hall
Copyright:  2002
Format:  Paper; 341 pp
Published:  01/07/2002
Status: Available on Demand   What's this?



For sophomore/junior-level courses in, Logic, Automata Theory, Theory of Computation/CS Theory, Discrete Mathematics, and Complexity Theory.

This text provides students with in-depth explorations of a broad range of theoretical topics in computer science. It plunges into the applications of the abstract concepts in order to confront and address the skepticism of many students, and instill in them an appreciation for the usefulness of theory.

  • Two-part presentation—Integrates logic and formal language.
    • Enables students to focus on propositional and predicate logic and formal models of language—both with applications.

  • Computer science applications of theory—Includes compilers; databases; verification; and artificial intelligence.
    • Engages students in abstract conceptual material that will actually help them as computer scientists.

  • Entire chapters devoted to the use of logic in proofs and in program correctness.
    • Helps students understand the usefulness of theory.

  • Detailed treatment of Lex and Prolog.
    • Introduces students to important programming languages based on the two major topics of this book—thereby emphasizing their value.

  • Over 150 worked-out examples—Many are application oriented.
    • Helps students understand the usefulness and applicability of theory and mathematical reasoning to their chosen field of study.

  • More than 200 manageable exercises—Answer book available to instructors (upon request).
  • Diagrammatic approach to automata.
    • Aids student comprehension of abstract theories.

  • Proofs: Why and How.
    • Instills appreciation of rigorous argumentation and helps students achieve it.

  • Chapter introductions.
    • Alerts students to key concepts and motivates them to achieve their learning goals.



1. Mathematical Preliminaries.

Operators and Their Algebraic Properties. Sets. Strings. Relations and Functions. Growth Rates of Functions. Graphs and Trees. Computing with Mathematical Objects.

I. LOGIC FOR COMPUTER SCIENCE.

2. Propositional Logic.

Propositions. States, Operators, and Truth Tables. Proofs of Equivalence with Truth Tables. Laws of Propositional Logic. Two Important Operators.

3. Proving Things: Why and How.

Reasons for Wanting to Prove Things. Rules of Inference. Proof by Rules. Assumptions. Proof Examples. Types of Theorems and Proof Strategies.

4. Predicate Logic.

Predicates and Functions. Predicates, English, and Sets. Quantifiers. Multiple Quantifiers. Logic for Data Structures.

5. Proving with Predicates.

Inference Rules with Predicates. Proof Strategies with Predicates. Applying logic to Mathematics. Mathematical Induction. Limits of Logic.

6. Program Verification.

The Idea of Verification. Definitions. Inference Rules. Loop Invariants. The Debate About formal Verification.

7. Logic Programming.

The Essence of Prolog and Its Relation to Logic. Getting Started Using Prolog. Database Operations in Prolog. The General Form and a Limitation of Prolog. How Prolog Works. Structures. Lists and Recursion. Built-in Predicates and Operators.

II. LANGUAGE MODELS FOR COMPUTER SCIENCE.

8. Language Models.

Programming Languages and Computer Science. Ambiguity and language Design. Formal Languages. Operations on Languages. Two levels and Two Language Classes. The Questions of Formal Language Theory.

9. Finite Automata and Their Languages.

Automata: The General Idea. Diagrams and Recognition. Formal Notation for Finite Automata. Finite Automata in Prolog. Nondeterminism: The General Idea. Nondeterministic Finite Automata. Removing Nondeterminism. A-Transistions. Pattern Matching. Regular Languages.

10. Regular Expressions.

Regular Sets. Regular Expressions and What They Represent. All Regular sets Are FA Languages. All FA languages Are Represented by Res.

11. Lex: A Tool for Building Lexical Scanners.

Overview. Lex Operators and What They Do. The Structure and processing of Lex Programs. Lex Examples with C. States. Using Lex in Unix. Flex and C++.

12. Context-Free Grammars.

Limitations of Regular Languages. Introduction to Context-Free Grammars. RE Operators in CFGs. Structure, Meaning, and Ambiguity. Backus Normal form and Syntax Diagrams. Theory Matters.

13. Pushdown Automata and Parsing.

Visualizing PDAs. Standard Notation for PDAs. NPDAs for CFG Parsing Strategies. Deterministic Pushdown Automata and Parsing. Bottom-Up Parsing. Pushdown Automata in Prolog. Notes on Memory.

14. Turing Machines.

Beyond Context-Free Languages. A Limitation on Deterministic Pushdown Automata. Unrestricted Grammars. The Turing Machine Model. Infinite Sets. Universal Turing Machines. Limits on Turing Machines. Undecidability. Church-Turing Thesis. Computational Complexity.

Index.

Henry Hamburger is a Professor and Chairman of the Department of Computer Science at George Mason University.

Dana Richards is an Associate Professor with the Department of Computer Science at George Mason University.

This book invites the reader to explore abstractions that are crucial to computer science. The authors bring a sense of excitement to logics, formal languages and automata—motivating topics by linking them to computing and to computational applications, sometime with whole chapters. They achieve exceptional clarity through a plethora of examples and figures, yet without-losing sight of, and indeed celebrating, the precision that is the hallmark of this subject matter.

Features of the book include:
  • application of logic to program verification
  • programming in the logic language, Prolog
  • discussion of "why" and "how" to prove things
  • relationships between English and programming languages
  • diagrams-first approach to automata
  • lex as a tool and an extension of formal language
  • pushdown automata as parsing strategies
  • Turing machines as models of computation

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.