{"product_id":"once-upon-an-algorithm-isbn-9780262545297","title":"Once Upon an Algorithm","description":"\u003cb\u003eThis easy-to-follow introduction to computer science reveals how familiar stories like Hansel and Gretel, Sherlock Holmes, and Harry Potter illustrate the concepts and everyday relevance of computing.\u003c\/b\u003e\u003cbr\u003e \u003cb\u003e \u003c\/b\u003e\u003cbr\u003e 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 \u003ci\u003eOnce Upon an Algorithm\u003c\/i\u003e, 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.\u003cbr\u003e  \u003cbr\u003e 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 \u003ci\u003eGroundhog Day \u003c\/i\u003eillustrates 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.\u003cbr\u003e  \u003cbr\u003e 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.Preface vii\u003cbr\u003eAcknowledgments xi\u003cbr\u003eIntroduction 1\u003cbr\u003ePart I Algorithms\u003cbr\u003eComputation and Algorithms -- \u003ci\u003eHansel and Gretel\u003c\/i\u003e\u003cbr\u003e1 A Path to Understanding Computation 19\u003cbr\u003e2 Walk the Walk: When Computation Really Happens 33\u003cbr\u003eRepresentation and Data Structures -- \u003ci\u003eSherlock Holmes\u003c\/i\u003e\u003cbr\u003e3 The Mystery of Signs 49\u003cbr\u003e4 Detective's Notebook: Accessory after the Fact 63\u003cbr\u003eProblem Solving and Its Limitations -- \u003ci\u003eIndiana Jones \u003c\/i\u003e\u003cbr\u003e5 The Search for the Perfect Data Structure 83\u003cbr\u003e6 Sorting out Sorting 103\u003cbr\u003e7 Mission Intractable 121\u003cbr\u003ePart II Languages\u003cbr\u003eLanguage and Meaning -- \u003ci\u003eOver the Rainbow\u003c\/i\u003e\u003cbr\u003e8 The Prism of Language 141\u003cbr\u003e9 Finding the Right Tone: Sound Meaning 159\u003cbr\u003eControl Structures and Loops -- \u003ci\u003eGroundhog Day \u003c\/i\u003e\u003cbr\u003e10 Weather, Rinse, Repeat 175\u003cbr\u003e11 Happy Ending Not Guaranteed 189\u003cbr\u003eRecursion -- \u003ci\u003eBack to the Future \u003c\/i\u003e\u003cbr\u003e12 A Stitch in Time Computes Fine 205\u003cbr\u003e13 A Matter of Interpretation 225\u003cbr\u003eTypes and Abstraction \u003ci\u003e-- Harry Potter\u003c\/i\u003e\u003cbr\u003e14 The Magical Type 245\u003cbr\u003e15 A Bird's Eye View: Abstracting from Details 263\u003cbr\u003eGlossary 287\u003cbr\u003eNotes 303\u003cbr\u003eIndex 313“[A] thoughtful and approachable guide to the fundamentals of how computer science exists as an intellectual discipline.” \u003cbr\u003e\u003cb\u003e—\u003ci\u003eTimes Higher Education\u003c\/i\u003e\u003c\/b\u003e  \u003cbr\u003e\u003cbr\u003e“[A] fun and accessible read. . . . \u003ci\u003eOnce Upon an Algorithm\u003c\/i\u003e is recommended to anyone new to the field of computer science with an  interest in learning about the theoretical basics of the field as well  as its application to our lives.” \u003cbr\u003e\u003cb\u003e—\u003ci\u003eLSE Review of Books\u003c\/i\u003e\u003c\/b\u003e  \u003cbr\u003e\u003cbr\u003e“This brilliant book not only makes computing and informational  thinking more accessible, but it also shows the undeniable relevance of  those domains to daily life.” \u003cbr\u003e\u003cb\u003e—\u003ci\u003eDigicult\u003c\/i\u003e\u003c\/b\u003eMartin Erwig is Professor of Computer Science in the School of Electrical Engineering and Computer Science at Oregon State University.","brand":"The MIT Press","offers":[{"title":"Default Title","offer_id":46303792464101,"sku":"NP9780262545297","price":24.95,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9780262545297.jpg?v=1767734151","url":"https:\/\/k12savings.com\/products\/once-upon-an-algorithm-isbn-9780262545297","provider":"K12savings","version":"1.0","type":"link"}