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.
Les mer
Computation, itself a form of calculation, incorporates steps that include arithmetical and non-arithmetical (logical) steps following a specific set of rules (an algorithm).
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.
Les mer
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. From core elements like types, Venn diagrams and logic, to patterns of reasoning, sequent calculus, recursion and algebraic data types, the book spans the breadth of key concepts and methods that will enable students to readily progress with their studies in Computer Science.Topics and features:Spans the key concepts and methods that underpin computationDevelops symbolic logic, with a view toward honing clarity of thought; and automata, as a foundation for future study of both their applications and related theoretical topicsIntroduces powerful functional programming ideas that will be useful regardless which programming languages are used laterProvides numerous exercises to support a clear and open, accessible approachOffers a dedicated website with resources for instructors and students, including code and links to online informationIncludes a wide array of marginal notes, empowering readers to "go beyond" the content presentedApproaches logic and automata through Haskell code, to bring key concepts alive and foster understanding through experimentationAssuming no formal background in programming, this highly practical and accessible textbook provides the grounding fundamentals of computation for undergraduate students. Its flexible, yet clearexpository style also makes the book eminently suitable as a self-study instructional guide for professionals or nonspecialists interested in these topics.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 will soon pursue research interests in machine learning and machine intelligence at Cambridge University, Cambridge, UK.
Les mer
“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)
Les mer
Introduces computation, spanning the key concepts and methods Highly intuitive and accessible explanatory style Firm grounding in logic and automata, with an approach using Haskell Request lecturer material: http://www.sn.pub/lecturer-material
Les mer
Produktdetaljer
ISBN
9783030769079
Publisert
2022-01-20
Utgiver
Vendor
Springer Nature Switzerland AG
Høyde
279 mm
Bredde
210 mm
Aldersnivå
Upper undergraduate, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet