The first example is a book called Lauren Ipsum, "a story about computer science and other improbable things." I just bought the e-book version and haven't read it yet, but even the opening note has me hooked:
No computers will be found in this book. If the idea of a computer science book without computers upsets you, please close your eyes until you’ve finished reading the rest of this page. The truth is that computer science is not really about the computer. It is just a tool to help you see ideas more clearly. You can see the moon and stars without a telescope, smell the flowers without a fluoroscope, have fun without a funoscope, and be silly sans oscilloscope. You can also play with computer science without... you-know-what. Ideas are the real stuff of computer science. This book is about those ideas, and how to find them.
The second example is a collection of short stories housed in a blog called Computational Fairy Tales. After enjoying the newest story, I started way back at the beginning and am working my way forward. I particularly liked the story on hunting dragons with binary search. You can probably see where things are going:
"Have you studied dragon attacks at all?" the king asked. "There is an order to these attacks. Dragons are smart. They eat the biggest cow in the area, then the second biggest, then the third, and so forth. They keep eating smaller and smaller cows, until the only remaining cows are too small to be worth the bother. Then the dragon goes on to the next kingdom."I definitely think these would have helped my arts and social science students as I taught them a selection of computer science topics.
We're thinking of incorporating story into our book for CS beginners. It will have more technical content than these, but they are still great sources of inspiration.
Do you know of any other projects or books that use story in this way to teach computer science?