The University of Chicago Laboratory Schools
 
Site Tools Maps and Directions Index Site Map Comments Comments WebMail Home

Communications from the Director

On the Same Page

January 2008
David W. Magill, Director

For many of my generation, the vocabulary of computer science is right out of Star Wars. Personal typing on electric typewriters was the advanced course in technology when I was in high school. How quickly and how far we have come!

We were excited to find and employ Baker Franke who is now in his third year of teaching at University High School. He earned a B.A. in both Computer Science and English at Amherst College. After three years teaching computer science at Berkshire School in Sheffield, Massachusetts, Baker returned to his hometown of Chicago and became Lab’s high school computer science teacher. In addition to working with a number of students enrolled in independent studies, Baker teaches AP Computer Science. He is also the Chair of Faculty IV and he coaches girls’ basketball.

In true Lab fashion, Baker challenges Daniel Pink’s assertion that computer scientists are left brain thinkers. From my observation of the way Baker thinks and works, he has a very strong argument. It should be fun to hear them participate in a dialogue on February 25.

Yes, Daniel Pink, author of A Whole New Mind, is coming to the Laboratory Schools on Monday, February 25, 2008, and will be speaking at 7:30 p.m. Details to follow.

I hope you enjoy reading Baker’s challenge to Daniel Pink and solving the problem he presents to his AP Computer Science students.

 

Computer Science—Right-Brained or Left-Brained?
Baker Franke
U-High Computer Science Teacher

In A Whole New Mind: Why Right-Brainers Will Rule the Future, Daniel Pink touches a nerve (perhaps intentionally) among us computer scientists when he continually dismisses computer programming as a left-brain-directed activity, one that is merely logical and sequential. Such statements trigger feelings related to, what I call, the “Computer Science Persecution Complex.” This mental affliction is one in which a computer scientist cannot shake the suspicion that those around him misunderstand the nature of his subject. In educational circles the notion that computer science is some type of rote skills training is particularly prevalent, but nothing could be further from the truth.

Computer science is one of the most right-brained activities in which one can engage. Pink defines right-brain-directed activities as ones that employ the newly important “senses” of, among others, design, play, and meaning. In fact, I got my start in computer science as an artist—a graphic designer for a web development company. While graphic design isn’t really computer science, it’s the right-brained aspects of computer science that drew me to it and continue to fascinate me today. To dismiss programming as “Left-Brain-Directed” because of its sequential nature, is to confuse process with outcome. Would you make the claim that James Joyce was being left-brained when he wrote Ulysses? After all, Ulysses is merely a sequence of words, on a sequence of pages, to be read line by line, page by page. Obviously, this is ridiculous because the sequential nature of the outcome had nothing to do with the process of its creation. Thus, much like writing a piece of literature, the logic and sequence of programming are merely the residue of an intensely creative act.

When we program a computer to do something, we are ultimately designing a solution to a problem in a very abstract way. First, the programmer must conceive of a way to translate the problem into data that a computer can understand. Then she must think of a way to process those data to come up with answers. The resultant process is called an algorithm, and developing one is not obvious or sequential. In my view, a programmer must commit at least a small act of creative genius in order to develop an algorithm that does something even remotely non-trivial. Here is a problem that I give to the AP Computer Science students at Lab called “Catching Plagiarists”:

You are the lead teaching assistant at a large university for some introductory course in which, say, 1,000 students are enrolled. All students have just submitted their term papers (digitally), and each is likely in the ballpark of 1,500–2,000 words. The professors of the course have become wary of the potential for plagiarism among the students. Academic dishonesty these days all too often takes the form of one student “helping” another by e-mailing the friend a copy of his paper only to have the friend turn it in, or portions of it, as his own. So, given a set of text documents, find whether or not, or the degree to which, any students are plagiarizing their work.

Think about this problem even a little and you’ll understand how creative you need to be to solve it; how much you must synthesize from your own world experience in order to even begin to think about some strategy for coming up with an answer. For starters: what constitutes plagiarism? Where do we draw the line? Are we talking about the copying of whole paragraphs verbatim, sentences, or even phrases? What is the likelihood that many of these papers will be similar by mere coincidence? How can you filter out real cases of cheating from false positives? These are just the first few questions in a long series that need answers before a student even types her first computer instruction.

What I like about this problem is that it is uniquely modern. The problem exists largely because of computers and, somewhat poetically, it cannot reasonably be solved without the aid of a computer. There is so much data involved with this problem that a human brain cannot possibly contain or process it. Yet only a human, and a creative one at that, can devise a strategy to catch the plagiarists. The real kicker with this problem is that there is so much data, it is very difficult to design an algorithm that processes it all in a reasonable amount of time.*

Even once you’ve developed an algorithm, programming it in a way that is manageable is an entirely different matter. I do not have the space to go into the (capital A) Art of software engineering, but suffice it to say that dreaming up an algorithm is just the tip of the right-brain iceberg. The idea that solving this problem is only a matter of sequential thinking is foolish. Last year the twelve students in the class played around and came up with twelve entirely different strategies that ranged from probabilistic observations to computing across a network of machines in parallel. Creativity abounds!

I hope this brief snippet into the lives of Lab’s burgeoning computer scientists does something to excite you about the future, and about computer science as a new type of discipline that is not only fun and creative by accident, but by necessity. The field of Computer Science urgently needs the most creative people, those who are best able to design things abstractly and to synthesize their lives and experience in ways that will allow them to solve the innumerable problems that currently exist as well as the ones we can’t even imagine yet.

Here’s to a happy 2008.


*For those playing along at home, here is a straightforward approach to catching plagiarists: Take each six-word phrase in each paper and compare it to each six-word phrase in every other paper. If a high number of six-word phrases are the same between any pair of papers, you have a strong case for plagiarism. This approach is great, but as described it would take your average 1Ghz home computer about 5 hours to process, assuming your computer had enough memory, which it probably wouldn’t. Last year a clever student developed a novel approach that was able to process the set in about 90 seconds on a single processor.

 

All content © 2007-08 The University of Chicago | Laboratory Schools 1362 E. 59th St. Chicago, Il. 60637 (773) 702-9450 Fax: (773) 702-7455