Once upon an algorithm : how stories explain computing / Martin Erwig
- Erwig, Martin
- Cambridge, Massachusetts : The MIT Press, 
- Physical Description:
- xii, 319 pages : illustrations ; 24 cm
- Part I. Algorithms : Computations and algorithms: Hansel and Gretel : 1. A path to understanding computation -- 2. Walk the walk: when computation really happens -- Representational and data structures: Sherlock Holmes : 3. The mystery of signs -- 4. Detective's notebook: accessory after the fact -- Problem solving and its limitations: Indiana Jones : 5. The search for the perfect data structure -- 6. Sorting out sorting -- 7. Mission intractable -- Part II. Languages : Language and meaning: Over the rainbow : 8. The prism of language -- 9. Finding the right tone: sound meaning -- Control structures and loops: Groundhog day : 10. Weather, rinse, repeat -- 11. Happy ending not guaranteed -- Recursion: Back to the future : 12. A stitch in time computes fine -- 13. A matter of interpretation -- Types and abstraction: Harry Potter : 14. The magical type -- 15. A bird's eye view: abstracting from details -- Glossary.
- "Picture a computer scientist, staring at a screen and clicking away frantically on a keyboard, hacking into a system, or perhaps developing an app. Now delete that picture. In Once Upon an Algorithm, Martin Erwig explains computation as something that takes place beyond electronic computers, and computer science as the study of systematic problem solving. Erwig points out that many daily activities involve problem solving. Getting up in the morning, for example: You get up, take a shower, get dressed, eat breakfast. This simple daily routine solves a recurring problem through a series of well-defined steps. In computer science, such a routine is called an algorithm. Erwig illustrates a series of concepts in computing with examples from daily life and familiar stories. Hansel and Gretel, for example, execute an algorithm to get home from the forest. The movie Groundhog Day illustrates the problem of unsolvability; Sherlock Holmes manipulates data structures when solving a crime; the magic in Harry Potter's world is understood through types and abstraction; and Indiana Jones demonstrates the complexity of searching. Along the way, Erwig also discusses representations and different ways to organize data; "intractable" problems; language, syntax, and ambiguity; control structures, loops, and the halting problem; different forms of recursion; and rules for finding errors in algorithms. This engaging book explains computation accessibly and shows its relevance to daily life. Something to think about next time we execute the algorithm of getting up in the morning"--The publisher.
- 9780262036634 (hardcover ; alkaline paper)
0262036630 (hardcover ; alkaline paper)
- Bibliography Note:
- Includes bibliographical references (pages 303-311) and index.
- Winner of 2018 PROSE Award Honorable Mention, Computing and Information Science 2018.
View MARC record | catkey: 21275975