Read more
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.
List of contents
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.
About the author
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.
Report
"This book is intended as a textbook for an introductory course in computation for students beginning in informatics. No prerequisites are needed, all concepts, even elementary ones ... . it is also very suited for self-study, even if a reader is interested in Haskell or symbolic logic alone. ... Comprehension is supported by exercises for each chapter ... ." (Dieter Riebesehl, zbMATH 1497.68005, 2022)