My Account Log in

1 option

Introduction to Computation : Haskell, Logic and Automata / by Donald Sannella, Michael Fourman, Haoran Peng, Philip Wadler.

SpringerLink Books Computer Science (2011-2024) Available online

View online
Format:
Book
Author/Creator:
Sannella, Donald., Author.
Fourman, Michael., Author.
Peng, Haoran, Author.
Wadler, Philip., Author.
Contributor:
SpringerLink (Online service)
Series:
Computer Science (SpringerNature-11645)
Undergraduate topics in computer science 2197-1781
Undergraduate Topics in Computer Science, 2197-1781
Language:
English
Subjects (All):
Computer science.
Computer science-Mathematics.
Algorithms.
Theory of Computation.
Mathematics of Computing.
Computer Science Logic and Foundations of Programming.
Design and Analysis of Algorithms.
Local Subjects:
Theory of Computation.
Mathematics of Computing.
Computer Science Logic and Foundations of Programming.
Design and Analysis of Algorithms.
Physical Description:
1 online resource (XVI, 366 pages) : 283 illustrations, 13 illustrations in color.
Edition:
1st ed. 2021.
Contained In:
Springer Nature eBook
Place of Publication:
Cham : Springer International Publishing : Imprint: Springer, 2021.
System Details:
text file PDF
Summary:
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 computation Develops 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 topics Introduces powerful functional programming ideas that will be useful regardless which programming languages are used later Provides numerous exercises to support a clear and open, accessible approach Offers a dedicated website with resources for instructors and students, including code and links to online information Includes a wide array of marginal notes, empowering readers to "go beyond" the content presented Approaches logic and automata through Haskell code, to bring key concepts alive and foster understanding through experimentation Assuming no formal background in programming, this highly practical and accessible textbook provides the grounding fundamentals of computation for undergraduate students. Its flexible, yet clear expository 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.
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.
Other Format:
Printed edition:
ISBN:
978-3-030-76908-6
9783030769086
Access Restriction:
Restricted for use by site license.

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account