Skip to main content

Student programmers ready for Shanghai smackdown

March 28, 2005 By Terry Devitt

Look out Shanghai: Here come the Harmless Fluffy Bunnies.

The Bunnies are not Easter confections, nor are they cuddly rabbits. In the world of collegiate computer programming, the Bunnies, and preceding student teams, are the competitive equivalent of the Green Bay Packers.

In a couple of weeks, the deceptively named Bunnies will be packing their bags, destination Shanghai, China, where they will face off with the best collegiate programming teams in the world. It will be the fourth year in a row that a UW–Madison student programming team has competed in the programmers’ equivalent of the Super Bowl, the World Finals of the Association for Computing Machinery International Collegiate Programming Contest.

“Since we started doing this three years ago, we’ve been able to go each time,” says Dieter van Melkebeek, a computer science professor and the volunteer coach of the Bunnies and previous teams that competed for the coders’ crown in Hawaii, Hollywood and Prague.

This year, the IBM-sponsored contest features 78 teams from around the world.

The rules of engagement are simple: The goal is to outprogram rival teams by quickly devising computer codes designed to solve an array of challenging problems. Each three-person team is given a semester’s worth of programming to complete in one afternoon.

“You have five hours,” explains Scott Diehl, a Fluffy Bunnies co-coach, UW–Madison student and former programming competitor whose team reached the finals last year in Prague. “Each team has its own computer, and you are given ten problems of varying difficulty to solve.”

For example, teams might be asked to devise a solution to how many ways to represent a dollar given a new set of coin denominations (each less than or equal to 100 cents, but greater than zero). Or teams might be challenged to determine how many sequences of four “Lucky Lotto” numbers (between one and 10) can be extracted if each integer is at least twice as large as the one before it.

To crack the problems, teams are asked to devise computer codes that are as comprehensive as possible.

“The judges don’t tell you what data they’re going to run through the program, so the program you develop has to be correct for all sets of data,” Diehl explains. “The program also has to be fast.”

Judges, says van Melkebeek, are looking for run-time errors, incorrect answers, programs that exceed a given run time and presentation errors such as missing punctuation or capitalization.

The competition, according to one member of the Fluffy Bunnies, Matthew Anderson, is brutal, with many teams devoting countless hours to practice before the big event.

“Other teams have more practice time than we can conceive of. Winning would exceed our expectations,” he says.

But taking home the “world’s smartest trophy” is not necessarily beyond the grasp of UW–Madison’s Harmless Fluffy Bunnies, says Diehl. Doing so would give UW–Madison students Anderson and fellow Bunnies Alex Frase and Patrick Davidson some great hardware, as well as scholarships and other prizes conferred by IBM.

What’s more, win or lose, the programmers gain the kind of exposure that can lead to company recruiters banging on the door: “Major software companies actively try to recruit them. Google offered two of the three members of last year’s team jobs,” van Melkebeek says, explaining that the third member of the team, Diehl, is not yet in the market.

For more information about the team and the programming competition, visit ICPC Web page.

Tags: learning