Jump to ratings and reviews
Rate this book

Once Upon an Algorithm: How Stories Explain Computing

Rate this book
This 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.

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 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.

336 pages, Hardcover

Published August 11, 2017

207 people are currently reading
1148 people want to read

About the author

Martin Erwig

8 books14 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
62 (24%)
4 stars
86 (33%)
3 stars
75 (29%)
2 stars
22 (8%)
1 star
11 (4%)
Displaying 1 - 30 of 45 reviews
Profile Image for Brian Clegg.
Author 164 books3,135 followers
September 30, 2017
I've been itching to start reading this book for some time, as the premise was so intriguing - to inform the reader about computer science and algorithms using stories as analogies to understand the process.

This is exactly what Martin Erwig does, starting (as the cover suggests) with Hansel and Gretel, and then bringing in Sherlock Holmes (and particularly The Hound of the Baskervilles), Indiana Jones, the song 'Over the Rainbow' (more on that in a moment), Groundhog Day, Back to the Future and Harry Potter.

The idea is to show how some aspect of the story - in the case of Hansel and Gretel, laying a trail of stones/breadcrumbs, then attempting to follow them home - can be seen as a kind of algorithm or computation and gradually adding in computing standards, such as searching, queues and lists, loops, recursion and more.

This really would have been a brilliant book if Erwig had got himself a co-author who knew how to write for the public, but sadly the style is mostly heavy academic, so the cleverness is rather wasted. Sometimes this comes across in labouring points and at others in spending a lot of effort on what is little more than defining labels for things, rather than providing useful information and context for the reader. It's not that there's not a lot of good material in there, just that it's hard work to dig it out, where I'm sure the whole idea of using the stories was to make it more approachable.

Part of the problem is that the stories themselves don't always work very well as an analogy for what's happening in the computation. So, for example, in the section dealing with sorting he comes up with the task of sorting the tasks and places that Indiana Jones needs to deal with to find the Lost Ark. The unsorted list includes the likes of: disc, sunbeam, Marion and Nepal. The algorithm used involves finding the 'smallest' element... which somehow we are supposed to instantly see is Nepal. Using numbers would not have been so well-linked to the story, but at least it would have made some sense to the reader.

Perhaps the low point is the section that uses a part of the song 'Over the Rainbow' (giving us a tenuous story connection to The Wizard of Oz) to examine language and meaning. If you aren't familiar with musical notation, I'm not sure it's a very helpful analogy... and if you are, some of the ways it's used (particular the assertion of what bars are for) doesn't entirely make sense.

I was a professional programmer for a number of years, but without a computer science background. So I was very familiar with how to do this stuff, but knew nothing of the theory behind it. As such, I found the content of the book really interesting - and the story idea should have made it doubly brilliant - but the execution meant that it didn't deliver anywhere near as well as it could have. Even so, there's a lot to savour, and it's definitely worth persevering to get a feel for why computer programs involve far more than just 'cutting code.'
Author 2 books21 followers
February 3, 2019
A bit torn over how many stars to give. On the one hand, the concept is great and it is mostly very well executed. The breadth of material covered here and the way it is all brought together in the final chapter is astonishing, and most of the time the explanations are clear and often memorable. Presenting aspects of computation through stories and relatable "everyday life" vignettes makes difficult concepts digestible. Kudos to the author for that. There are a lot of diagrams as well and some are extremely helpful -- others were, for me, terribly confusing. I had a hard time following some of the diagrams illustrating recursion and grammars even though these are concepts I am fairly well versed in. However, I think the book's successes far outweigh it's few rough patches. Will be using this with my teenager in homeschool as well and am excited to see how he does with it.
Profile Image for Rick Sam.
432 reviews155 followers
October 29, 2019
The book is laid out systematically into Algorithms and Languages.

It follows a storytelling way of explaining important concepts in Computer Science.

Part One covers -- Algorithms: Where you'll take a tour of Computation, Data Structures and Problem Solving.

Part Two covers -- Languages: Where you'll start with structure of languages. It ends with Types and Abstraction.

I like how the author defined Computation.

"Computation works by transformation of representations."

Representation is the basis for Computation.

I liked how the author quoted Wittgenstein and Frege in talking about languages.

I've read their works and got excited as I saw their names.

Overall, an excellent book.

Deus Vult,
Gottfried
Profile Image for Adarsh.
108 reviews14 followers
December 28, 2017
The idea behind Once Upon an Algorithm - How Stories Explain Computing -- to explain algorithms, data structures, and computing, in general, using popular stories -- is commendable. However, I feel Martin Erwig might not have met his objectives completely through this book. I worked as a programmer without a formal training in Computer Science, and I am presently getting the formal training to strengthen my theoretical knowledge, so I was naturally drawn to this book, despite it being targetted for the non-technical audience. I can not judge how someone who is just an end-user of computer programs would find this book, but I would venture to suggest that it would not be an easy read.

When some of the analogies Mr. Erwig gives are great, some feel stretched. For example, after trying to explain recursions using the Back To The Future series of movies, Mr. Erwig observes that "Time travel analogy may make recursion more complicated than it actually is". Precisely. Recursion is by itself a non-intuitive concept, and the analogy chosen here makes it seem even more tedious. On the other hand, I loved the use of Groundhog Day to explain control structures and iterations. Most other analogies - Hansel and Gretal, Sherlock Holmes, Harry Potter (which was a big disappointment) and Indiana Jones didn't work for me. I especially struggled with the chapter on language representations which uses the analogy of musical notation. With no background in music and little background in the philosophy of languages, I got lost here.

However, as a Computer Science student, I did learn a few things that I feel will help me somewhere down the line. Martin Erwig's love for popular culture and his strong theoretical base is pretty evident. He does not hesitate to handle topics that might be too advanced for someone hoping to get only a high-level knowledge. I don't regret reading this book, and I feel it gives me a completely new perspective on quite a few things. However, I can not guarantee this for other readers.
Profile Image for Kaley Rhea.
Author 6 books53 followers
December 30, 2018
I like this book as a textbook. I can recommend it as a textbook. It's really not as approachable as the concept (which is fantastic) led me to believe. I'd have had a great time with it if it had been required or supplemental reading for a class back in the college days. But as it was, it really took some gear-changing for me to get my head into what I had thought would be very basic, layman's terms, talk-to-me-like-I'm-five reading about computing.
1 review
February 12, 2021
Jak zauważa sam autor książki, podczas próby przybliżenia czym zajmuje się informatyka jako nauka, napotykamy problem w postaci wyjaśnienia podstawowych pojęć jakimi są algorytmy czy przetwarzanie informacji. Pojęcia te są z natury abstrakcyjne i nie dają się ująć w jedną jasną definicję. Autor książki, Martin Erwig, Profesor Informatyki na Uniwersytecie stanu Oregon, w swojej trzeciej książce podejmuje próbę opisania tych zagadnień używając porównań do życia codziennego jak również bajek czy odniesień do kultury popularnej.

Wszyscy wiemy jak ważną rolę odgrywają w naszym życiu opowieści. Niosą ważne przesłania i naukę, które towarzysząc nam przez całe życie zmieniają nasz sposób postrzegania świata. Mają tę unikalną cechę objaśniania zagadnień zbyt trudnych lub złożonych aby je wyrazić w prosty sposób. W książce, „Dawno temu był sobie algorytm. Czyli jak książki, filmy i życie codzienne wyjaśniają nam dziedzinę algorytmów”, autor skorzystał z tej właśnie cechy opowieści. Prowadząc czytelnika poprzez meandry skomplikowanych zagadnień, za pomocą bajek objaśnia te koncepcje jedna po drugiej. Dzięki temu zabiegowi podejmuje próbę wzbudzenia zainteresowania informatyką wśród szerszej publiczności.

W swojej książce Erwig odnosi się do popkultury w postaci bajki o „Jasiu i Małgosi”, filmu „Dzień Świstaka” czy książek o Harrym Potterze. Ten zabieg wyróżnia tę pozycję czytelniczą wśród innych tekstów wprowadzających czytelnika w świat informatyki. Na rynku dostępnych jest wiele książek z kategorii „nie tylko dla orłów”, jednak żadna z nich nie używa tak zapadających w pamięć przykładów i odniesień.

Większość materiałów tego typu ma za zadanie pokazać praktyczne zastosowania omawianych zagadnień. Dzięki licznym przykładom, czytelnicy zdobywają konkretne umiejętności. Książka „Dawno temu był sobie Algorytm” służy innym celom. Celem autora było przedstawienie pewnych teorii i koncepcji, przez co należy ją traktować raczej jako obszerne kompendium wiedzy teoretycznej niż poradnik czy podręcznik.

Erwig rozpoczyna swoją książkę od znanej bajki o Jasiu i Małgosi, na podstawie której objaśnia koncepcje algorytmu i przetwarzania. Zgodnie z opowieścią Jaś i Małgosia, zagubieni w lesie próbują odnaleźć drogę do domu. Aby osiągnąć swój cel muszą uruchomić proces rozwiązywania problemu. Jaś wpada na pomysł oznaczenia drogi poprzez upuszczanie wcześniej nazbieranych kamyków. Dzięki temu zabiegowi, rodzeństwo szczęśliwie odnajduje drogę do domu rodziców.
Algorytm pozwala rozwiązać ten sam problem. Dzięki metodzie „krok po kroku” pozwala odnaleźć drogę z punktu A do punktu B. Podobnie jak w przypadku bajki algorytm potrzebuje jakiegoś zakończenia aby móc oszacować poprawność działania. W odniesieniu do bajki było to odnalezienie właściwego domu co oznacza proces zakończony sukcesem.

W późniejszym rozdziale, za pomocą przykładu z życia wziętego, autor objaśnia w jaki sposób algorytmy są podobne do naszych codziennych działań. Za przykład posłużyło składanie papieru tak aby zmieścił się do koperty. Takie działanie przypomina algorytm, którego podstawową własnością jest powtarzalność. Aby uniknąć nieskończonego powtarzania czynności potrzebny jest opis tej powtarzalności i struktury sterujące takie jak pętla. Przykład wyjaśniającym działanie pętli jest film „Dzień Świstaka”

W filmie Harolda Ramisa pod tytułem „Dzień Świstaka” z 1993 roku, reporter Phil Connors zostaje uwięziony w pętli powtarzającego się bez końca dnia. Bohater podejmując różne próby przerwania cyklu, ostatecznie odkrywa, że aby zakończyć dzień świstaka musi zmienić swoje podejście do życia i ludzi. Takie właśnie warunki zakończenia muszą zostać określone dla każdej pętli algorytmu.
Oprócz koncepcji przetwarzania, algorytmu i pętli autor, za pomocą sytuacji z życia oraz historii Harrego Pottera wyjaśnia działanie typów. Dzięki typom jesteśmy w stanie kategoryzować obiekty i zależności między nimi. Jeśli podczas kolacji, do zjedzenia zupy użylibyśmy widelca zamiast łyżki wtedy naruszylibyśmy zasady relacji między typami wywołując tym samym błąd typu. Dzięki analogii do Harrego Pottera możemy dowiedzieć się czym są właściwości danych typów. Podobnie jak w historii J.K. Rowling gdzie ludzie dzielą się na czarodziejów i mugoli, co jest nie tylko nazwą kategorii ale wiąże się z charakterystyką postaci tak w przypadku algorytmów typy są powiązane z ich właściwościami co służy nie tylko kategoryzacji ale również określa oczekiwania w procesie przetwarzania.

Ciekawy zabieg wplecenia bajek, codziennych sytuacji oraz odniesień popkulturowych jest zarówno zaletą jak i wadą tej pozycji. Z jednej strony takie rozwiązanie pozwala nam się cieszyć ciekawymi porównaniami i łatwymi do zrozumienia przykładami. Z drugiej jednak tworzy w umyśle czytelnika potrzebę podążania za jakąś narracją, której tu ewidentnie brakuje. Styl autora jest raczej akademicki, więc zwykły czytelnik może się nieco pogubić w treści. Warto nadmienić, że autor dodał mały przewodnik na początku książki ułatwiający poruszanie się po niej.

„Dawno temu był sobie algorytm. Czyli jak książki, filmy i życie codzienne wyjaśniają nam dziedzinę algorytmów” można zdecydowanie polecić osobie, która nie miała wcześniej do czynienia z Informatyką jako nauką a chciałaby się dowiedzieć więcej na temat jej teoretycznych podstaw. Ze względu na złożoną naturę podnoszonych przez autora zagadnień, niektóre fragmenty będą wymagały od czytelnika więcej uwagi. Natomiast, użycie prostych przykładów oraz licznych popkulturowych odniesień powoduje, że jest to interesująca pozycja, która może sprawić wiele radości.

Konrad Piłatowicz
Profile Image for Jay French.
2,155 reviews85 followers
February 10, 2019
A couple of years ago I read a similar book, Christian’s “Algorithms To Live By: The Computer Science of Human Decisions”. It overlapped with this book by about 40% in terms of what was covered – search algorithms being a major common topic. The difference is that Christian’s book was focused on applying algorithms to personal decisions and Erwig’s book was focused on teaching computer science terminology. Both used stories to do this – Christian uses anecdotes, where Erwig uses comparisons to movies and books. I found Christian’s book entertaining and memorable. I didn’t enjoy Erwig’s as much, but on reflection that's in large part due to the goals of the book - personal use of algorithms versus concept learning. The examples he used were mostly not uniquely appropriate, or seemed a bit of a stretch. For instance, he uses Sherlock Holmes to explain some search algorithms, but this seemed not the best example to me. There are so many alternatives that tell the story. Then with recursion he uses the movie “Groundhogs Day”. This seems quite obvious. (I will say that I appreciated his listings of different movies/books that had repeating days and the different “rules of science” those replays had – I have noticed that and have written about that as well.) The book starts with an example from Hansel and Gretel of using shiny stones to find their way back home, and drilled down to how Hansel made each individual decision on how to proceed. I was surprised that the author had so few different examples illustrating the computer science and math concepts. I’d say about half of the book was very basic computer science lecture without comparison to a particular story, and half was using one of a few stories to help illustrate a concept. Personally, as someone who has taken many computer science classes, the concepts were not new to me, and the book didn’t seem that helpful for learning new concepts. The terminology was still difficult covered as completely as the author has done here. I expect this book was aimed at the textbook market for the Computer Science version of the “Physics for Poets” classes at university. I will also add that I listened to the audiobook version of this book, and did not have the graphics available. I found the book confusing at times, and I believe the audiobook format was a hindrance here. This might not have been the best way to learn from this book.
Profile Image for Jessica.
35 reviews2 followers
April 28, 2022
Having some background already understanding programming logic and design prior to reading this book was helpful. If I came in with no knowledge, it would've been unreadable. Some chapters were hilarious and fun, but others felt awful because the metaphors were stretched so far, such as Back to the Future and recursion, that it was a worse way to describe it than just explaining it exactly as it is. Way simpler!

I gave this book 4 stars because I think it is worth the shift in perspective, but not five stars because there was incredible redundancy in the book (aside from the jokes about loops and recursion), and there were some stretches where I felt brought back to middle school, sitting in the back of a dark class room with visible chalk dust hanging in the air with someone droning on in the front of the room, a nightmare from which I yearned to leave. That said, my reading preferences are very particular and someone who enjoys reading for the sake of reading may experience this book very differently from me.
Profile Image for Pat of Rocks.
158 reviews5 followers
May 28, 2022
A fun way to explore basic principles of programming.
One of my favorite exercises was in using Groundhog's Day as an example of loops. Of course the movie is a natural choice, but I like the way the author dove into the logic that was at play.

I wish my college textbooks were more like this book.
Profile Image for Dave.
73 reviews2 followers
April 3, 2018
Intended for those who've never taken a Computer Science class, but I don't think it would serve very well. I was hoping for more involvement with and analysis of the stories and fairy tales themselves, but no, they're just used as poor analogies to illustrate computing terms. Disappointing.
Profile Image for Tibor Konig.
132 reviews2 followers
January 5, 2024
Amikor megláttam a könyvet, arra gondoltam, méltó párja lesz Charles Petzold kitűnő Code: The Hidden Language of Computer Hardware and Software könyvének. Míg az elsősorban a hardverre összpontosít, ez az életben és az informatikában található algoritmusokra. Ráadásul ismert történetekből (Jancsi és Juliska, Indiana Jones, Harry Potter) vett példákkal illusztrálja az algoritmusok lényegét.

Martin Erwig tartalmilag teljesíti, amit vállalt, de az eredmény sajnos kissé izzadságszagú. Egyes példák jól ábrázolják a választott algoritmust, mások kevésbé. A szöveg kicsit száraz, a tárgyalt témák között vannak könnyebben és nehezebben érthetőek - mintha a szerző rosszul lőtte volna be a célközönséget. Az informatika tanulásához való kedvcsinálónak sem igazán alkalmas, pedig ez lehetett (volna) a fő felhasználási területe. Kár érte.
Profile Image for Lindsay.
501 reviews14 followers
December 31, 2019
I was very intrigued with the idea of this book, and I really wanted to love it. Unfortunately, it overpromises and underdelivers.

I would describe this as a computer science textbook that employs examples from pop culture, but some of the examples don't carry the concepts through the entirety of their respective chapters very well. For example, the song from The Wizard of Oz irritated me because any song could work.

There is an introduction to each chapter, which seems like a good place to begin the "story" examples, but, instead, the author uses everyday examples. The examples aren't bad, but it's just a strange choice given the premise of the book. Each chapter also ends with a short section called "Further Exploration," which provides other examples to reflect on. As an instructor, what I would do is investigate those examples to use in the classroom, etc.

Unfortunately, after the first couple of chapters, it took a lot of willpower not to abandon this book. I do think certain sections would be useful as a textbook, but, overall, it's dry. While the writing is quite clear, it really needed a storyteller's touch.

I was disappointed after the first two chapters.
Profile Image for Chris Esposo.
680 reviews56 followers
July 1, 2019
Once Upon an Algorithm is an excellent introduction to the topic of algorithms that also manages to be functionally deep. Martin Erwig’s pedagogy is unique in the marketplace of such introductory books on algorithms. He situates his explanations in examples drawn from pop culture, including movies, books and folk-tales, explicating important concepts in algorithms along the way. Many of the popular references are drawn from pop culture franchises that would be familiar to an American male who grew up in the mid to late eighties or early nineties. For example, a significant portion of his analogies, examples and stories are taken from the Indiana Jones trilogy, Back to the Future, Sherlock Holmes and the film Groundhog Day.

The last chapter on basic type-theory in computing makes heavy use of the Harry Potter novels, but the majority of the aforementioned references would not typically be within the immediate cultural milieu of a younger audience, which I presume would be the target readership for a text such as this. Or, perhaps, this is indeed aimed at late twenty and thirty something-year-old males, who wish to learn more about algorithms. Such people may want to change careers, refresh their knowledge from earlier studies, expand their technical intuition because they are managing a technical team, or pick up some basic theory because they work in a field permeated by computing but never formally studied computer science.

Despite the novelty of the approach, the topics covered are surprisingly standard: data structures, the specification of the problem-space and computation-space, NP-completeness, formal syntax and interpretation, control and logic points, recursion, and types. Each section references a pop-culture theme. For instance, we are taught about control and logic points with Groundhog Day, and we learn about search strategies and problem solving in the setting of Indiana Jones, while Marty McFly from Back to the Future is used to teach us about recursion.

Almost all of these are great and insightful, but the Back to the Future chapter is the weakest because the example is potentially too opaque. Time travel is already a topic prone to confound and so I think it may well make learning recursion a little more difficult by conflating it with this already heady notion.

The most enjoyable chapters were those with Indiana Jones, which to be sure comprise a slightly out-sized portion of the content. Here the author provides the deepest synthesis of the pop-culture and the computer science, as much of what he explains is how to solve a solution space efficiently to resolve a problem from the film. In Indiana Jones and the Last Crusade, did Indiana really have to step on the “J” or “I” first when he was trying to “walk the word of God”, which was supposed to spell the Latinized tetragram of “JHVH”? Was there an alternative way Indy could have minimized the chance of failing based on candidate solutions?

I found myself refining my own understanding of these topics when thinking about some of my favorite stories in this newfound light. But again, I shouldn’t be the target audience for a book like this, and so the book may have better served the market if it had chosen more recent pop-culture references. That being said, I enjoyed this book so much on its own merits, whatever its intent, that I’m glad they did pick the examples chosen.

This book is definitely a great companion to a more formal algorithms text. It also works well as a general book for intelligent readers to get a better understanding of the subject of algorithms that not only explains the ideas but also provides mental exercises to build functional knowledge. Highly recommended for all.
Profile Image for Laura Aydelotte.
66 reviews
July 18, 2023
Loved this book! It was not only very clearly written, but (for a computer science textbook) witty, cute, and even humorous. How often have I (or anyone for that matter) laughed while reading about computer science concepts. Granted, I have spent a lot of time in the academic world, so my sense of humor may skew to the geeky side. In addition to the text being engaging, there's a helpful glossary of terms in the back, and super helpful visual diagrams throughout. Some of the diagrams alone helped me quickly understand concepts that I've struggled to fully grasp when just reading text in other sources.

I think it matters that I came to this book with basic to intermediate experience with both data science and hands on programming experience. This book was just right for someone like me who knows some of the basics about how to write some code or work with data, but wants to go to the next level of understanding the concepts, history, and foundations of computer science. This book really helped me fill in some blanks in my knowledge and taught me some new things about CS that will both be useful to me and give me the basis to learn more in the future.

I think that reading the book straight through would be a challenge to someone with no prior coding or data experience. The author thinks so too, and offers a very helpful set of flow charts in the introduction, recommending what chapters someone might want to read if they aren't interested in getting bogged down in the more technical material, which does, indeed have some challenging moments for the beginner.

That said, for someone like me, who has some practical knowledge they want to take to the next level, this was a very useful book presented in a fun way. I started out as a PhD in English and have slowly transitioned to tech work, so I also found it really interesting to see the way he applied stories from books and movies to CS concepts. It not only helped me learn about CS, but gave me some new perspectives on approaches to thinking about things like narrative or semiotics through the lens of a computer science approach. Definitely keeping this book on my shelf for future reference.

Profile Image for Jonathan Brewer.
3 reviews
July 3, 2023
Summed up in one word: Uneven

This is a book that doesn’t seem to be sure of its target audience. It’s marketed as “an easy-to-follow introduction to computer science,” but it can be anything but. Overall, I think this book missed the mark simply because it wasn’t sure what the mark was.

Using stories to illustrate algorithms is a fine idea, but in this case the stories are sometimes contorted to fit the underlying ideas (which is honestly fine), and other times the portrayal of the class of algorithms is distorted to fit the story (which is not fine). Some of the sections were indeed easy to follow, particularly sorting and searching. Recursion, on the other hand, was a complete mess. The author got really hung up on trying to connect recursion with time travel a la Back to the Future, and mostly just ended up muddying the waters. I already understand recursion to a fair degree, enough to write recursive functions in Python and C at any rate, and I was confused by this section.

The author also had a tendency to miss the forest for the trees, going to absurd lengths at times to make connections between the chosen story and the topic at hand by focusing on mostly irrelevant details instead of the overall picture. It’s very easy for the reader to almost completely lose track of the point being made in the middle of some of these digressions.

The upshot is that, while this book does have some good information and some of it is presently clearly and coherently, in the end it’s just a bit too messy and uneven for me to really recommend it. Someone more familiar with computer science will not learn anything new, and someone completely new to the subject will probably just walk away confused. Three stars for having some well-developed sections buried among the mis-targeted sections.
Profile Image for William Yip.
401 reviews5 followers
December 28, 2020
This book was not what I expected based on the cover and description. I thought the technical details would be integrated into the stories told but the author separated the two with the stories being tangentially related to the details. As a result, a lot of the content had a very dry tone and was a slog to get through. That said, the author gave good information about the fundamentals of computer science and programming such as abstractions, algorithms, signs and representations, loops, recursion, data types, among other topics.
Profile Image for Karrie.
240 reviews19 followers
April 27, 2018
I love books like this! Framing and explaining complex concepts like algorithms by connecting them to literary examples...WHERE DO I SIGN UP!

I have a copy of this in my library, but thinking of picking one up for my own personal reference collection. It has many gems for an instructor like me who is constantly on the lookout for a perfectly worded description or quote to give my lectures some weight.

Thanks Erwig!
Profile Image for Ravi Sinha.
314 reviews11 followers
September 3, 2018
A very promising premise, combined with solid effort, of explaining the jargon of computer science to the layman with the help of fairy tale stories and everyday things. While I enjoyed it because of my background, though, I am not entirely sure how well it's going to go over to the 'other wide', that is to people with no background in computer science (or some kind of science, or gaming, or things of that nature), because the language of the book often does come across as geek-speak.
Profile Image for Luis Lastra.
Author 3 books18 followers
February 17, 2019
143 highlights en este libro... ¡eso resume, sin duda, lo que pienso de él!. Una maravilla de apertura de ojos y mente ante lo que son las bases de la Ciencia de la Computación. Muy bien explicado, con un léxico totalmente comprensible y con ejemplos muy ñoños que te iluminan las ganas de seguir adelante.

Un "must read" para todo neófito o experimentado en estos menesteres.

Gracias, Martin. Excelente trabajo.
30 reviews
July 17, 2021
The author tried to demonstrate the idea of algorithm and related computer sciences topics through story examples. I think for the algorithm part, the book can discuss it quite well. But for the latter part, I just feel kind of losing focus and the story examples seem cannot tell the computer science ideas quite well. But anyway, it is a good book for those who want to know more about algorithm and computer sciences.
Profile Image for Michael L.
55 reviews
November 28, 2023
To explain fundamental concepts in computing such as algorithm, recursion, data structures, and data types, author Erwig uses concrete examples and illustrations. He draws analogies from from popular films such as "Groundhog Day," "Back to the Future," and the "Indiana Jones" and "Harry Potter" series. Readers who have not seen these films might find the analogies mystifying. A valiant effort, but not entirely successful.
Profile Image for Nick.
Author 5 books11 followers
September 12, 2024
This book examines common computer data structures and algorithms, such as stacks and sorts, through the lens of pop culture. As someone who is already familiar with these things, the book felt slow and tedious. It goes through a lot to explain simple concepts. This book might be more approachable to younger people who don't know these things and who could benefit from the metaphors. But for anyone who knows these things already, it's not useful.
16 reviews2 followers
July 14, 2018
This would be a fantastic book to supplement an introductory computer science course - for pleasure reading, however, it was a little dry and hard to stay awake through. I appreciated how it was able to present computing concepts in a form wholly separate from computers and digital space. And of course having popular stories like Harry Potter and Indiana Jones as the examples was fun.
Profile Image for Franklyn Gonzalez.
Author 1 book4 followers
June 14, 2019
A great explanation on how algorithms work, when used in movies, shows, and popular children stories as examples. The idea here is to understand how programs work. How computer science came to be (the beginning of this book).
Profile Image for Shari.
163 reviews1 follower
July 10, 2022
Dry. So, so dry. And as a software developer, I do listen to programming audiobooks somewhat regularly (Code Complete, The Pragmatic Programmer, etc). I get the attempt to relate with fables, movies, etc, but it just wasn't as good as I had hoped.
Profile Image for Alvaro Alcocer Sotil.
159 reviews2 followers
June 13, 2023
Este es un libro que usa cuentos y relatos para explicar cómo funciona la tecnología de las computadoras. A través de historias entretenidas, el autor muestra cómo se utilizan las máquinas en nuestra vida diaria. Es una forma divertida de aprender sobre la tecnología que usamos todos los días.
Profile Image for Alexandra.
26 reviews
July 4, 2025
4.5 stars (goodreads needs half stars pls) really really great introduction for anyone just starting in computer science. really solid basic overview of concepts presented in a creative and effective way, a bit repetitive but only because the book doesn’t have to be read in order.
Displaying 1 - 30 of 45 reviews

Can't find what you're looking for?

Get help and learn more about the design.