Computation, itself a form of calculation, incorporates steps that include arithmetical and non-arithmetical (logical) steps following a specific set of rules (an algorithm). This uniquely accessible textbook introduces students using a very distinctive approach, quite rapidly leading them into essential topics with sufficient depth, yet in a highly intuitive manner. From core elements like sets, types, Venn diagrams and logic, to patterns of reasoning, calculus, recursion and expression trees, the book spans the breadth of key concepts and methods that will enable students to readily progress with their studies in Computer Science.
Prof. Donald Sannella, Prof. Michael Fourman, and Prof. Philip Wadler are each at the University of Edinburgh's School of Informatics, Edinburgh, UK. Mr. Haoran Peng is also at the same university department.
1 Sets 132 Types 193 Simple Computations 274 Venn Diagrams and Logical Connectives 355 Lists and Comprehensions 456 Features and Predicates 557 Testing Your Programs 638 Patterns of Reasoning 739 More Patterns of Reasoning 8110 Lists and Recursion 9111 More Fun with Recursion 10112 Higher-Order Functions 11113 Higher and Higher 12314 Sequent Calculus 13115 Algebraic Data Types 14316 Expression Trees 15717 Karnaugh Maps 17518 Relations and Quantifiers 18319 Checking Satisfiability 19120 Data Representation 20321 Data Abstraction 22122 Efficient CNF Conversion 23723 Counting Satisfying Valuations 24924 Type Classes 26325 Search in Trees 27526 Combinatorial Algorithms 28527 Finite Automata 29928 Deterministic Finite Automata 31129 Non-Deterministic Finite Automata 32130 Input/Output and Monads 34131 Regular Expressions 35932 Non-Regular Languages 369Index 377