Submission + - Book Review: Lauren Ipsum
MassDosage writes: Lauren Ipsum (A Story About Computer Science and Other Improbable Things) Book Review by Mass Dosage
As the full title to Lauren Ipsum (A story about Computer Science and Other Improbable Things) indicates, this is a book about Computer Science but what’s surprising about it is that it manages to be about Computer Science without actually ever directly referring to the subject or even to computers at all. It is in fact a fictional story about a young girl called Lauren who gets lost after wandering into a forest near her house after an argument with her mother. She stumbles into a world populated with all kinds of strange creatures and colourful characters some of whom she befriends in order to figure out how to get back to her home. The “figuring out” part of the plot is where things get interesting as she has many attempts at solving this problem with different characters giving her often contradictory advice and Lauren then has to decide what exactly she’s trying to do and which of the various possible solutions is the best. This involves a fair amount of trial and error, learning from certain mistakes and trying different approaches. If this is starting to sound familiar to those who have written software then that’s the whole point. Lauren Ipsum is cunningly littered with references to Computer Science and in particular to things like algorithms, logic puzzles and many other of the theoretical underpinnings of the subject.
In the course of her adventures Lauren encounters characters like Xor the chameleon, Hugh Rustic the shop owner, a flock of round Robins and a Wandering Salesman. Anyone who knows a bit about computer science will be aware of the topics that are being alluded to here. This is also evident in some of the places she visits — a forest made up of red and black trees, the Island of Byzantium and a Garden of Forking Paths. All these insider references are obviously more enjoyable if you know the subject but it doesn’t really matter if you don’t get them as the story itself is separate from all the in-jokes. It’s also almost certainly the intention of the authors to stimulate people to look up some of the things they refer to and thus learn more about computer science. Lauren Ipsum can thus be read on two levels — one as a straightforward adventure story and the other as a “find and research the hidden references” book. The title of the book is itself a play on words of “Lorem Ipsum” which I’ll leave you to read up on on your own.
The chapter I enjoyed the most was one that covered building up a solution to a problem by breaking it down into smaller pieces and then combining these to come up with the final answer. In the book Lauren first learns how to draw a line and then that she can then draw and connect four of these to make a square. Even better is the discussion of the seemingly simple task of how to draw a circle which demonstrates that there are different ways of doing this, each having their own pros and cons. The solutions can be easily described as a set of steps and the question of how to control the size of the circle can be specified separately from the steps themselves. This is done without referring to any of the technical terms directly (one of the first chapters in the book is all about avoiding jargon) however what is actually being described will be instantly recognisable to anyone who has written some code — namely algorithms,algorithmic complexity, variables and parameter passing. This is quite a different way of illustrating programming concepts instead of the usual manner which involves lots of theory and code examples. Lauren Ipsum’s approach offers a much lower learning curve with simple story driven metaphors that can then be applied practically later.
The target audience of the book is probably children from around the age of 8 and up with the intention being to spark an interest in computers without the intimidation and possible connotations of boredom that a textbook might evoke. The story is entertaining but relatively simple and most of the more serious subject matter is just touched on in passing. There is an Appendix at the end which covers a few of the topics in more technical and mathematical detail but there is plenty that isn’t covered and it is up to the reader whether they want to find out more in their own way.
I found Lauren Ipsum an entertaining read, even though some of the computer science references are a bit forced. I ended up looking up a few things I wasn’t entirely sure about and learnt something new in the process and I can imagine this being even more the case for someone new to the subject. Even if the reader isn’t an aspiring geek-to-be there should be enough in the story here for them to enjoy and maybe help convince them that Computer Science can actually be fun or at the very least give them a taste for why problem solving is interesting and useful.
Full disclosure: I was given a copy of this book free of charge by the publisher for review purposes. They placed no restrictions on what I could say and left me to be as critical as I wanted so the above review is my own honest opinion.
As the full title to Lauren Ipsum (A story about Computer Science and Other Improbable Things) indicates, this is a book about Computer Science but what’s surprising about it is that it manages to be about Computer Science without actually ever directly referring to the subject or even to computers at all. It is in fact a fictional story about a young girl called Lauren who gets lost after wandering into a forest near her house after an argument with her mother. She stumbles into a world populated with all kinds of strange creatures and colourful characters some of whom she befriends in order to figure out how to get back to her home. The “figuring out” part of the plot is where things get interesting as she has many attempts at solving this problem with different characters giving her often contradictory advice and Lauren then has to decide what exactly she’s trying to do and which of the various possible solutions is the best. This involves a fair amount of trial and error, learning from certain mistakes and trying different approaches. If this is starting to sound familiar to those who have written software then that’s the whole point. Lauren Ipsum is cunningly littered with references to Computer Science and in particular to things like algorithms, logic puzzles and many other of the theoretical underpinnings of the subject.
In the course of her adventures Lauren encounters characters like Xor the chameleon, Hugh Rustic the shop owner, a flock of round Robins and a Wandering Salesman. Anyone who knows a bit about computer science will be aware of the topics that are being alluded to here. This is also evident in some of the places she visits — a forest made up of red and black trees, the Island of Byzantium and a Garden of Forking Paths. All these insider references are obviously more enjoyable if you know the subject but it doesn’t really matter if you don’t get them as the story itself is separate from all the in-jokes. It’s also almost certainly the intention of the authors to stimulate people to look up some of the things they refer to and thus learn more about computer science. Lauren Ipsum can thus be read on two levels — one as a straightforward adventure story and the other as a “find and research the hidden references” book. The title of the book is itself a play on words of “Lorem Ipsum” which I’ll leave you to read up on on your own.
The chapter I enjoyed the most was one that covered building up a solution to a problem by breaking it down into smaller pieces and then combining these to come up with the final answer. In the book Lauren first learns how to draw a line and then that she can then draw and connect four of these to make a square. Even better is the discussion of the seemingly simple task of how to draw a circle which demonstrates that there are different ways of doing this, each having their own pros and cons. The solutions can be easily described as a set of steps and the question of how to control the size of the circle can be specified separately from the steps themselves. This is done without referring to any of the technical terms directly (one of the first chapters in the book is all about avoiding jargon) however what is actually being described will be instantly recognisable to anyone who has written some code — namely algorithms,algorithmic complexity, variables and parameter passing. This is quite a different way of illustrating programming concepts instead of the usual manner which involves lots of theory and code examples. Lauren Ipsum’s approach offers a much lower learning curve with simple story driven metaphors that can then be applied practically later.
The target audience of the book is probably children from around the age of 8 and up with the intention being to spark an interest in computers without the intimidation and possible connotations of boredom that a textbook might evoke. The story is entertaining but relatively simple and most of the more serious subject matter is just touched on in passing. There is an Appendix at the end which covers a few of the topics in more technical and mathematical detail but there is plenty that isn’t covered and it is up to the reader whether they want to find out more in their own way.
I found Lauren Ipsum an entertaining read, even though some of the computer science references are a bit forced. I ended up looking up a few things I wasn’t entirely sure about and learnt something new in the process and I can imagine this being even more the case for someone new to the subject. Even if the reader isn’t an aspiring geek-to-be there should be enough in the story here for them to enjoy and maybe help convince them that Computer Science can actually be fun or at the very least give them a taste for why problem solving is interesting and useful.
Full disclosure: I was given a copy of this book free of charge by the publisher for review purposes. They placed no restrictions on what I could say and left me to be as critical as I wanted so the above review is my own honest opinion.