University of Rochester

Rochester Review
January-February 2010
Vol. 72, No. 3

pdf image
Story as a PDF

Departments

Review home

In Review

Student Achievement Programming Powerhouse A team of Rochester students tops MIT to earn a spot in the international finals of the world’s most prestigious computer programming competition. By Kathleen McGarvey
students BRAIN POWER: Xiaoqing (Sean) Tang ’12, Ian Christopher ’10, and Dennis Huo ’10 will represent Rochester at the finals of an international programming competition dubbed the “Battle of the Brains.” (Photo: Brandon Vick)

Ian Christopher ’10 says most of the time computer programming is like driving a car down a city street. You mind the traffic lights and make sure to stay within the lane markers.

But when programmers face off in competition, he says, the experience is more like being on a racetrack: It’s about speed, and “it’s no-holds barred.”

In that case, you could say that Christopher and teammates Dennis Huo ’10 and Xiaoqing (Sean) Tang ’12 must have the computing reflexes of Indy 500 drivers. This fall they became the first team in six years to beat MIT in the regional finals of the oldest, largest, and most prestigious computer programming competition in the world, popularly dubbed the “Battle of the Brains.”

On its way to victory, Rochester outscored all of its closest competitors—MIT, Harvard, Brown, and McGill—in the five-hour battle to win the Northeastern North America region in the Association of Computing Machinery’s International Collegiate Programming Contest.

The team will head to Harbin, China, for the world finals from February 1 to February 6.

Christopher, a Rochester native, and Huo, from Tacoma, Wash., both joined the team as sophomores and are computer science majors. Tang, a double major in computer science and mathematics, is from Shanghai, China, and as a sophomore now is the youngest member of the team.

Christopher says part of the appeal of competition is the level of collaboration that it requires. Three-member teams share a single computer and a blackboard. In the early stages of the competition, when the problems are fairly straightforward, team members work on different problems. As the difficulty increases, says Tang, the team coalesces around individual problems.

“This is more collaborative at the level of coding than usual,” says Huo.

At the same time, individual perspectives strengthen that collaboration. “We look at problems differently,” says Christopher, which he calls an advantage in finding solutions efficiently.

“We also practice a lot,” adds Tang. Last year, Rochester finished third in the regional competition, one place away from going to the finals.

The regional contest involved eight tasks in which the teams were asked to write computer code that would solve particular problems. For example: Take two words of the same length from the dictionary and transform one into the other by choosing the shortest possible set of intermediary words in which each word differs from the other by only one letter. The team that succeeded in accomplishing the greatest number of tasks in the smallest amount of time won.

“Eighty percent of the work is thinking of a solution it would be feasible for a computer to do,” Huo says.

“It’s rare that someone other than MIT comes out on top of our region, so it’s really a feather in U of R’s cap that they beat them,” says Paul Tymann, the regional contest director. “It was remarkable how quickly they could solve the problems, and really, in the end, that’s what allowed them to win.”

“It’s a big rush,” says Huo of working against the clock and opposing teams.

Rochester and MIT were the only two schools that solved all eight problems correctly (third-place Harvard and fourth-place McGill each answered seven correctly, and fifth-place Brown answered five). Rochester beat MIT on speed, finishing with a combined time of 16 hours and 10 minutes—almost three hours faster than MIT’s 18 hours and 51 minutes.

The competition “challenges our brains, and challenges our hands” because of the frenzy to enter code quickly, accurately, and thoroughly enough, says Christopher.

Team advisor Daniel Stefankovic, an assistant professor of computer science, attributes the group’s success to “practice and teamwork.” The competition calls on a wide variety of skills, he says—not just quick thinking to solve problems fast, but also “crisp thinking, or seeing clear structures in the problems; intuition for heuristics, to speed up programs; reading comprehension, for quickly translating the statement of the problem into a model; and estimating the difficulty of a problem by almost a glance, since one should do the easiest problems first.”

In the world finals, Rochester will face the best teams from around the globe, including traditional powerhouses like Russia’s St. Petersburg University of Information Technology, which has won each of the last two years, and China’s Tsinghua University. In the last three years, MIT was the only U.S. university to finish among the top four.

While they’re “a new face” at the world competition, Huo says he and his teammates are nevertheless already enmeshed in the rhythm of the competition.

“We’ve internalized computer programming language as part of our own thinking processes,” he says. “It’s about thinking like a computer.”