[Page F1, Monday, Nov 24, 1997]
Breaking Into a Code Sweat
If You Thought the SAT Was Nightmarish, Stop Reading Now
By KAREN KAPLAN
The teams had traveled from colleges as far away as San Diego, San Luis
Obispo, Las Vegas and even Hawaii. By 9:30 on a recent Saturday morning,
they were gathering on the campus of Cal State Northridge for a full day of
head-to-head competition, their gym bags brimming with vital equipment.
These collegians would not battle on an athletic field but inside a
computer lab outfitted with Hewlett-Packard workstations. They came
outfitted with gear like textbooks, ear plugs and cans of Mountain Dew.
Before the day was out, at least one team would be headed to the world
finals of the ACM International Collegiate Programming Contest in Atlanta.
Surely this is an unconventional way to spend a Saturday, even a rainy
one that put a damper on traditional activities like football. But this
group of 115 mostly male contestants has the kind of enthusiasm normally
reserved for end-of-season bowl games. Nerd pride T-shirts are in abundance,
sporting catchy slogans like "Will program for food" and "All I ever needed
to know I learned from my computer."
Perhaps none of the contestants are more zealous than Kevin Watkins,
Brian Johnson and John Larkin, representatives of Harvey Mudd College, the
small but prestigious science and engineering school in Claremont. Watkins
and Johnson were on the team that won last year's world championship in San
Jose, beating out contestants from Europe, Asia and North and South America.
"Typically, computer programming has sort of a geeky image, so it's
nice to have a contest like this where you can get out and prove you know
how to do something cool," says Watkins, a long-haired senior from Wichita,
Kan., who is majoring in math and computer science.
Other heavyweight schools competing in the Southern California region
included Caltech, UCLA and UC Irvine. But as they stride into the contest
room for five hours of nonstop problem-solving, the pressure is barely
"Sure, I'm a little nervous, but I've been in plenty of high-pressure
situations before," says Johnson, a senior majoring in math. "This won't be
as hard as the finals."
The Assn. for Computing Machinery, an international organization
dedicated to information technology, founded the contest 22 years ago to
give college students a chance to sharpen their programming and
problem-solving skills. This year, more than 10,000 students will compete
for the chance to represent their schools at more than 20 regional contests
and shoot for one of the 50 team slots at the finals in February.
In the regional contest, three-member teams have five hours to write up
to six computer programs in C, C++ or Pascal. Problems range from
alphabetizing entries for a phone book to creating an interstellar travel
planner that will find the fastest path between two stars. More than half
the schools participating will be unable to write even a single working
"This is the Olympics," explained Bill Poucher, a professor of computer
science at Baylor University in Waco, Texas, and the longtime director of
the global contest. "They do about half of a computer science course's work
assignments in five hours."
ACM doesn't track the career paths of contest winners, but Poucher is
convinced that the experience gives them an advantage in the working world.
"Part of the reason that the programming contest is a predictor for
success is that it shows the individual is motivated, can work with others
and can solve very difficult problems under pressure," Poucher said.
Career planning is not on the students' minds at 2:23 p.m., when Marc
Furon, organizer of the regional competition, counts down to the start of
what will be a grueling five hours. Teams are huddled, ready for the signal
to tear open the envelopes that contain the problems.
"Three . . . two . . . you have five hours from now!" Furon shouts.
Within two minutes, Watkins is typing away. A mere 16 minutes and 30
seconds later, he has submitted the competition's first correct solution--a
program for calculating the direction and speed of wind on Mars based on raw
data recorded by an array of microphones.
Three floors above the contest floor, the judges are awe-struck.
"That's amazing," says Adam Ravid, a program analyst at Citibank who
volunteered to help judge the contest. "I wouldn't be surprised to see them
[Harvey Mudd] win again."
Much of the judging work is automated. When a team submits a program,
the computers feed it input data and then compare the output to an answer
key. If the program fails, the team receives one of five messages--such as
"syntax error" or "run-time error"--that may provide a hint about what is
The volunteer judges check the submissions and make judgment calls when
necessary. They also spend a good amount of time answering questions from
students who need help interpreting the problems. In their view, judging is
more fun than competing, but it's also more work.
"The students come in and sweat for five hours and then they go home,"
says Furon, a consultant for Collective Technologies who has been
volunteering at the contest since he was a CSUN student himself 20 years
ago. "We started writing these problems in August."
Actually, students at some schools also spend several months preparing
for the contest. At UC Irvine, for example, students must compete in a
five-hour, six-problem qualifying contest just to win a spot on one of the
school's three teams. They also practice identifying the easiest problems to
solve first, picking the computer algorithms that will make the program run
and dividing up the work so the team isn't spreading itself thin.
But coaching efforts can do only so much. "We just tell them to get a
good night's sleep and to have breakfast," said Harvey Mudd coach Ran
Libeskind-Hadas, an assistant professor of computer science.
Students can check the standings at any time during the competition.
The team that writes the most correctly functioning programs wins. In the
event of a tie, the team that uses the least amount of time will prevail.
Each time a team submits a program that doesn't work, a 20-minute penalty is
added to its score.
With one hour to go, Harvey Mudd's marquee team is in the lead with
four problems solved. Teams from UCLA and Caltech have each solved three.
Although anything can still happen, Furon says, "Harvey Mudd is probably
going to win."
The defending champions seem to know that. While teams in the rest of
the computer lab are starting to display signs of exasperation and panic,
Larkin is sitting upright and typing calmly. Watkins is working out a
problem with pencil and paper. Only Johnson shows any evidence of strain; he
pulls his hair away from his face and paces a bit.
He and Watkins are trying to solve the calendar problem. The Swamp
County Revolutionary Council has adopted a complicated new calendar with 14
months, plus a leap month, and the assignment is to write a program to
reconcile dates on the new calendar with dates on the Gregorian calendar.
When they think they've got the solution, Watkins takes Larkin's place at
Now Harvey Mudd has solved five problems, while UCLA and Caltech have
each solved four. Some of the coaches are ready to declare Harvey Mudd
uncatchable, but Libeskind-Hadas isn't one of them.
"UCLA could still win," he says.
UCI coach Jason Robbins, a graduate student, triumphantly announces
that one of his teams has just solved its third problem and will probably
finish in the top six.
"We told them if they didn't solve at least three problems, we wouldn't
take them home with us,' says co-coach Raymond Klefstad, a lecturer in UCI's
information and computer science department.
At 7:23 p.m., Furon announces that time has run out and that students
should report to the "party room" for pizza. Some of the students are
frustrated; others are clearly relieved. They pick up their empty soda cans
and half-eaten cookies and pack up their belongings. A few teams make their
way over to the Harvey Mudd team to offer congratulations.
In the end, Watkins, Johnson and Larkin were the only ones to write
five working programs. Two teams from Caltech and one from UCLA wrote four
programs each, and the UC Irvine team that solved three problems rounded out
the top five.
The victory celebration, alas, isn't what the programming champions had
hoped: They stop at Fry's Electronics to pick up some computer parts, but
unfortunately the store is closed.
* * *
Karen Kaplan covers technology, telecommunications and aerospace. She
can be reached at firstname.lastname@example.org