Sunday, May 20, 2012

Through the Computer Screen, Part II

My previous post was a Lewis Carroll pastiche about the organization of concepts in computer science. This isn't an unusual effort; several can be found online, and there's an entire book, Lauren Ispum, that combines themes from Alice, The Phantom Tollbooth, and probably other sources (I've only read a few chapters) to introduce computer science to kids.

 Tweedledum's expression (or is that Tweedledee's expression?) will probably match your reaction to the computer in-jokes in my piece.


I should start by crediting Peter Denning, who developed the Great Principles of Computing, though I'm relying a slightly older and simpler version of his work. To quote from Denning's paper [PDF]: 
  • Computation: What can be computed and how; limits of computing. [I've called this Theory.]
  • Communication: Sending messages from one point to another.
  • Coordination: Multiple entities cooperating toward a single result.
  • Automation: Performing cognitive tasks by computer.  [I've narrowed this to Artificial Intelligence.]
  • Recollection: Storing and retrieving information. [Narrowed to Information Management.]
Here's how I put this together in a metaphorical story, with annotations in green. I explain the red asterisks at the end.

Alice is wandering through the downtown area of her city. As she walks down a side street, she passes a man and a woman leaving the entrance of a small white building. The woman says, "That was an interesting museum." [Why a museum as the setting? See the AI section below.]
Alice decides to go inside. She stops in front of a sign titled “Read me” [Software is often delivered with a README file giving basic information] and discovers that she’s in a museum of Victorian artifacts. Alice passes a display of postcards, then an arrangement of fashionable women’s clothing (cuirass bodices, skirts with bustles), and then a penny-farthing bicycle. Eventually she sees a man in uniform sitting behind a writing desk. His badge reads, Docent: Charles Corvus.  ["Charles" is of course a nod to Lewis Carroll. The Corvus genus includes ravens, one of which appears in Alice in Wonderland as the subject of a riddle.]
Communication: "Hello," says Alice politely. "Can you tell me about your museum?" Charles doesn't look up.
"This isn’t a mausoleum," he says. *
“Your museeeum," Alice says, enunciating carefully. [One approach to dealing with errors in communication is simply to repeat.]
Charles glances up at her. "I beg your pardon," he says. “It’s a bit noisy.”  [Noise introduces errors in communication.] He rises and shakes Alice’s hand[Handshaking is part of how some systems initiate communication.] “Would you like to have a tour?"
Artificial Intelligence: He gives her a small plastic device with buttons and a display. "This is a mobile guide. If you press this button, it will tell you where to go next in the museum."
"Thank you. [Carroll's Alice is very polite.] How does it know what I’ll be interested in?"
"It doesn't," Charles says. * "It takes you on a walk in a random direction." [A random walk and the British Museum algorithm are famous though not very good search techniques in AI.]
Information management: "But how does that help me?” asks Alice. “I mean, the museum seems very confusing as it is. It’s as if there’s no organization to the exhibits."
"Ah, but there is. You're meant to explore the museum, and it's organized so that whatever exhibit you're standing in front of, related exhibits are as far away as possible." *
"Does that help?"
"Yes—the key is to take your time.  Join me. We’ll explore together."  [These are database terms.]
Coordination: Alice and Charles pass two stout museum workers holding opposite ends of a large flag. The men are arguing and pulling violently in opposite directions. The threads part and snap, leaving the fabric in tatters. * [These are operating systems terms.]
"Those contentious fellows are in charge of separate exhibits," says Charles. "They're always having a bit of a fight." [Contention over resources is also an operating systems issue; I'm quoting Carroll with "a bit of a fight".]
Theory: Alice and Charles walk through the rooms for a while longer, talking about the exhibits. At the exit she says, "Thank you, it's a very interesting museum."
"All of our visitors say that."
"Do you have many visitors?" asks Alice cautiously. She hasn't seen another inside the museum.
"Uncountably many," says Charles.  [Some sets of things, such as the real numbers, can't be counted in their entirety--if you try, you'll inevitably end up missing some.]
"Oh. Have you tried counting?" *
“Well…” Charles halts and looks thoughtful. "Good-bye." [Alan Turing, the father of computer science, proved that the halting problem--determining whether an arbitrary computer program will stop or run forever--cannot be solved by any algorithm.]


One of the conceits in this piece (if that's the word I want) is that the starred breakdowns should be memorable, and each breakdown marks a different area of computing. But is this effective? Hmm... 
I feel a little bit like a magician explaining a trick that didn't come off, or a comedian trying to convince you that some routine should be funny. Elmore Leonard follows this rule in his work: If it sounds like writing, I rewrite it. What I've written definitely sounds like writing. That's part of the charm of the Alice books, but I'm no Lewis Carroll.

No comments:

Post a Comment