May 29,
2002
By
Joanna Gluckman
Life
imitates art, but does art imitate computer science? This spring,
students in David Evans' new Computer Science 200 course
used their computer skills to turn Mr. Jefferson’s Rotunda into a
digital work of art.
The
result is intriguing. From afar, the images appear to be photographs
of the Rotunda. But a closer look reveals a complex arrangement of
tiny photos patterned to create a new vision of the historic
landmark.
Evans'
students used divide-and-conquer, problem-solving techniques to
produce the artwork, developing computer programs to transform
digital images into a complex mosaic by matching the colors of small
photographs with the layout of a larger image.
To do
this, they used Scheme, an "elegant, simple language," according to
Evans, that descended from LISP, a computer language originally
developed for artificial intelligence. The assignment gave
students a chance to incorporate many concepts of computer science
in one project.
"We
started with the photomosaic project," said Jacques Fournier, a
second-year major in economics and mathematics from Phoenix. "Then,
we improved the program. We came up with a 'greedy algorithm' that
would choose the pictures without using the same ones over and over,
which improved the look of the photomosaic."
Offered
for the first time this spring, CS 200 was developed with a
University Teaching Fellowship. The course is geared for students
with no prior background in computing, but, unlike CS 110, is not a
computer literacy course. Evans' course introduces students to the
underlying principles of computer science and programming, and
exposes them to concepts useful in a range of
disciplines.
"Dave
has keyed into a conceptual method of instruction that not only
teaches programming skills, but also creates greater knowledge of
the fundamental concepts that drive computer science," said Shawn
O'Hargen, a fourth-year major in cognitive science from The
Woodlands, Texas.
Evans
believes that an understanding of computer science offers a broad
array of intellectual benefits.
"Computer science is a precise way of thinking about how to
solve problems," Evans said. "Courses like CS 200 should be a staple
of any liberal arts
education." |