Battle of the Coders

Last-minute programming prowess wins the International Collegiate Programming Contest for a Chinese university

13 May 2005—The competitors unfurl their nation's flag and toss their coach in the air. No, this isn't the Olympics. It's the Association for Computing Machinery (ACM) International Collegiate Programming Contest, held in Shanghai, China, this year on 6 April.

Shanghai Jiao Tong University, in a surprise finish, took first place, having written programs to solve several of the problems in the homestretch of the competition. Up to the last few minutes of the contest, Moscow State University and the St. Petersburg Institute of Fine Mechanics and Optics had been in neck-and-neck competition for first place.

International Bright Young Things

College students from all over the world worked under a 5-hour deadline to solve 10 real-world problems during the IBM-sponsored Association for Computing Machinery's International Collegiate Programming Competition.

The setting was a mix of diplomatic formality and pure geek. Trios of students were hunched over their computers in a gigantic hotel ballroom with crystal chandeliers. Iranian, Brazilian, Chinese, and Russian teams battled, bearing quirky names like Intensive Care Unit and Will Code for Money.

And as this contest showed, the rapid spread of information technology means computer-programming students from developing countries are quickly emerging as some of the world's best and brightest.

Out of the 4109 teams from 71 countries who competed in regional contests worldwide, 78 made it to the world finals. The finals presented 10 programming problems and gave the teams 5 hours to solve them. Using the operating system Eclipse and programming languages such as Java, C++, and Pascal, the team that solved the most problems in the least number of tries and in the shortest time won the contest. The competition presented problems like devising a program that, say, figures out the cheapest way of renting cars in order to get a group of judges to a contest.

"It's the biggest event in our academic careers—the pinnacle," says Sunney Chan, a coach for the team from University of Calgary, in Canada, adding that the competition gives students a big boost on their résumés. As for last-minute day-of-the-contest strategies for motivating the competitors, coaches cited "glaring" at the students and "making the team members eat lots of bacon."

This year, Shanghai Jiao Tong University, the host team, won by solving eight of the problems, one more than any of the other teams. This university also won the contest in 2002. "Of course, we worked very hard to win this competition, but we also know it's a combination of skill and luck," says the humble Shanghai Jiao Tong University coach and computer science professor Yu Yong. "The students spent many of their extracurricular hours to prepare for this."

For Chinese contestants—both on the mainland and those studying overseas—it's a big source of pride that the world finals are being held in China's economic center. "Shanghai looks just like the West," marvels Zhihao Liu, a junior at the California Institute of Technology who left China for the United States when he was in high school. "From my hotel room, I can see [one of] the biggest LED screens in the world," he adds, referring to a screen that lights up every night on one of the skyscrapers in the financial area called Pudong.

"As for last-minute day-of-the-contest strategies for motivating the competitors, coaches cited "glaring" at the students and "making the team members eat lots of bacon."

The team that wins the ACM International Collegiate Programming Contest receives US $10 000 from the contest's sponsor, IBM Corp. The competition is also a chance for Big Blue to recruit students for internships and jobs. It's no surprise that IBM is sponsoring overseas contests like this one, because most of the company's growth is occurring internationally. In 2004, China accounted for 25 percent of the company's revenue growth, while the Russian and Indian markets grew last year by a whopping 75 and 45 percent respectively.

In the early years of the 29-year-old competition its contestants came only from North America and Europe, says William Poucher, the contest's executive director. "Back then, there were only a few hundred computer science professors in the world—and we all knew each other," says Poucher, a jolly, Santa Claus-like figure with salt-and-pepper hair who likens the mood of the world finals day to Christmas.

Home Team Advantage

The Shanghai Jiao Tong University team took first place in the competition, which was held in their home city.

Since 1997, when IBM began backing the contest, the number of teams participating has grown fivefold. Regional contests held by the ACM have now expanded to include more than 23 000 students around the world. In this year's finals, nine of the top 12 finishing teams are from current and former communist nations, while the three remaining teams are from Canada, Norway, and Sweden. Does this mean that Western students are losing their edge in computer programming? Poucher doesn't think so. At the finals level, it's difficult to extract any conclusions, because they're competing at such a high level, he says. "What it says is that there are bright and capable people all over the world."

Of more concern to Poucher and IBM officials is gender imbalance in the contests, with women making up only 8 percent of the contestants at the world finals. "There are women out there, but they're not choosing to compete," says Margaret E. Ashida, the director of IBM's worldwide university talent programs. "We need to figure out why and how to attract them."

Michael Van Biesbrouck, a coach for the University of California, San Diego's team has his own ideas as to why there weren't more women present. Women probably have more sense to than "to spend many weekends and nights in a room without sunlight," he says.

Related Stories