McCormick Magazine

Wildcat computer programming team heads to world finals - again


ICPC TeamThe distractions in the room might have seemed overwhelming, with the chatter of students from around the world amid the clatter of computer keyboards. But the Northwestern Wildcats remained focused on their task — to earn a spot among the best programmers in the world.

The scene was the ACM International Collegiate Programming Contest World Finals last March in Tokyo, where McCormick computer science majors Nikolay Valtchanov ('09), Anda Bereczky ('10), and Nikola Borisov ('10) competed. The team is headed back to the finals this year after its second consecutive win at the North American mid-central regional championships, which involved 114 teams from universities in five states. The Wildcats will be among the top 100 computer programming teams (from a field of more than 6,700 teams) competing in the world finals, held this April in Banff Springs, Alberta, Canada.

"It's a very exciting experience," says Hai Zhou, associate professor of electrical engineering and computer science and one of the team's coaches.

The contest works like this: Teams of three students each get eight to ten puzzles derived from real-world problems for which they must find good algorithmic solutions and then implement them efficiently in a modern programming language within five hours. Each team is given only one computer, which means only one team member can write code at a time, and the team that solves the most problems in the least amount of time wins. But teams also don't want to be too quick to submit answers, as each incorrect solution means a time penalty.

"It's a big challenge to divide the work correctly," Borisov says. "And it's important to have easy problems done at the beginning of the contest. Otherwise you fall behind, and it's really tough to catch up."

The contest began back in 1970 at Texas A&M University and since has grown into a global competition with students from more than 1,800 universities in 83 countries participating.

The problems require teams to write programs that can, for example, find the shortest path between two cities or that correctly adjust the spaces between letters. But such problems can be surrounded by pages of narrative to make them more like complicated, real-world issues. "Even if the problems are easy, they are packaged in a way that they don't seem easy," says Bereczky.

"It's really intense," Valtchanov says.

The Northwestern team has thrived at the regional competitions; last year it was the only team to solve seven problems, and this year it was one of just three teams to solve six problems.

All three team members competed in programming contests in high school in Eastern Europe, giving them a leg up on the competition, and all three were able to bring their talent to Northwestern and continue their studies thanks to financial aid for international students, which Northwestern began offering in 2005.

Little did they know that their hard work would take them even farther across the globe to the contest's world finals in Tokyo last year. But there they discovered they still had room for improvement; they wrote the wrong program to start with, they say, and put their efforts into it rather than figuring out a different solution.

The team members say the best parts of the competition were the lectures from top employees at IBM. After the competition last summer, Google even flew the Wildcats to its Manhattan office for a tour. Valtchanov accepted a summer internship at Google, while Bereczky and Borisov will spend the summer interning at DreamBox Learning Inc., an educational software start-up cofounded by McCormick alumnus and University Trustee Ben Slivka.

Right now, though, the team is focused on preparing for the world finals. "We'll work together better because we know each other better," Bereczky says.

Both Zhou and Peter Dinda, professor of electrical engineering and computer science and the team's other coach, act as the team's mentors and facilitators, giving the team lectures on concepts not covered in their classes and finding funding for the trip to the finals. Dinda says the competition prepares the students for jobs as software engineers. "It teaches them to be effective problem solvers and to program on a large scale, which is very valuable," he says.

This year's trip to the finals will be bittersweet — teams are only allowed to compete twice, so the team cannot qualify again. But Dinda says the group has already been successful in recruiting another team. "Their interest in this is infectious," he says.

—Emily Ayshford