Introduction to Computation : Haskell, Logic and Automata

Title: Introduction to Computation : Haskell, Logic and Automata
Author: Donald Sannella, Haoran Peng, Michael Fourman, Philip Wadler
ISBN: 3030769070 / 9783030769079
Format: Soft Cover
Pages: 366
Publisher: SPRINGER
Year: 2022
Availability: 15-30 days

Tab Article

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. 




 

Tab Article

Chapter 1 : Sets
Chapter 2 : Types
Chapter 3 : Simple Computations
Chapter 4 : Venn Diagrams and Logical Connectives
Chapter 5 : Lists and Comprehensions
Chapter 6 : Features and Predicates
Chapter 7 : Testing Your Programs
Chapter 8 : Patterns of Reasoning
Chapter 9 : More Patterns of Reasoning
Chapter 10 : Lists and Recursion
Chapter 11 : More Fun with Recursion
Chapter 12 : Higher-Order Functions
Chapter 13 : Higher and Higher
Chapter 14 : Sequent Calculus
Chapter 15 : Algebraic Data Types
Chapter 16 : Expression Trees
Chapter 17 : Karnaugh Maps
Chapter 18 : Relations and Quantifiers
Chapter 19 : Checking Satisfiability
Chapter 20 : Data Representation
Chapter 21 : Data Abstraction
Chapter 22 : Efficient CNF Conversion
Chapter 23 : Counting Satisfying Valuations
Chapter 24 : Type Classes
Chapter 25 : Search in Trees
Chapter 26 : Combinatorial Algorithms
Chapter 27 : Finite Automata
Chapter 28 : Deterministic Finite Automata
Chapter 29 : Non-deterministic Finite Automata
Chapter 30 : Input/Output and Monads
Chapter 31 : Regular Expressions
Chapter 32 : Non-Regular Languages