Sannella, Donald

Introduction to computation : Haskell, logic and automata / Donald Sannella [and three others]. - Switzerland : Springer, c2021. - xvi, 366 pages : illustrations ; 28 cm. - Undergraduate Topics in Computer Science .

Includes index.

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

Computation is a process of calculation involving arithmetic and logical steps, following a given set of rules (an algorithm). This uniquely accessible textbook introduces students to computation using a very distinctive approach, quite rapidly leading them into essential topics with sufficient depth, yet in a highly intuitive manner. The work is anchored in coverage of functional programming (in Haskell), symbolic logic, and finite automata-- each a critical component of the foundations of Informatics, and together offering students a clear glimpse into an intellectual journey beyond mere mastery of technical skills.

9783030769079


COMPUTER SCIENCE

QA 267 .I56 2021