Advertisement

Breaking Into a Code Sweat

Share
TIMES STAFF WRITER; Karen Kaplan covers technology, telecommunications and aerospace

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.”

Advertisement

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 evident.

“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 program.

Advertisement

“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.”

Advertisement

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 wrong.

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.

Advertisement

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 the keyboard.

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.

Advertisement

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 karen.kaplan@latimes.com

Advertisement