For many university students, the secret to programming code is to relax and have fun, and that might have been the unofficial slogan for this year's 28th annual Association for Computing Machinery (ACM) International Collegiate Programming Contest.
The Prague Metropolitan Symphony Orchestra played in the official start of the competition as more than 1,400 students from six continents prepared for an intense programming challenge here in Prague.
Focusing primarily on problem-solving, teams of three university students solve real-world programming problems, and face a five-hour deadline with access to only one computer. Many of the students have traveled long distances to participate in the annual competition and have had to hone their skills all year long at local, preliminary and regional programming challenges, in effort to arrive at the world finals.
Canada was well represented this year with four different universities, including the University of Waterloo, University of Calgary, Queen's University and a first-time appearance from the University of British Columbia, which is composed of foreign exchange students from Germany.
However, The St Petersburg Institute of Fine Mechanics and Optics won the competition. Queens finished 12th while UBC, U of W and Calgary tied for 15th.
But the University of Calgary walked away with the crown at the IBM Corp. Java Challenge, considered a warm-up event to the main event. Before the competition took place, the Calgary's team coach, Jim Parker, was all smiles and seemed rather confident with his teams program plan for the Java challenge.
Calgary's student programmers, Alex Fink, Sonny Chan and Kelly Poon, said they are excited about being at the world finals. "We'd like to solve at least five problems," said Poon, whose specialty is dynamic programming and geometry-based questions.
Chan said the competition is a way for him to challenge himself and test how much he knows and what he can do. Both Poon and Chan will be participating in an IBM internship this year called Extreme Blue - what IBM calls an incubator for talent, technology and business motivation - an opportunity for students to develop technology and business plans for an emerging business opportunity.
Practicing together is something the Queen's corner is all too familiar with. "You could have an amazingly intelligent team, but practice is why you are here," said Gary Linscott, a returning competitor from previous ACMs.
Fellow teammate Bartholomew Furrow said his team learns strategy from practice sessions. "The team dynamic helps, but the more you practice, the more programming problems you get a chance to see," Furrow explained. The team of Linscott, Furrow and Daniel Trang, coached by Chris Wolfe, Thoms Tang and Amber Simpson, usually practices twice a week. Trying to balance a full course load can be a challenge in itself, but the team usually finds a way, explains Linscott.
Similar to the other Canadian teams, each team member offers a different strength. Furrow adds exceptional math ability, while Trang offers graphical and implementation problem solving skills. Linscott, who started programming when he was five years old, offers experience, said Furrow. "He is a proficient programmer," Furrow explained. But beyond the act of programming code, Linscott said, "the thrill of finding a solution to something you didn't know before," is what the competition is all about.
Waterloo's team, which consists of Matei Zaharia, Lars Hellsten and Ralph Furmaniak, has experience and training on its side, says Hellsten. "We weren't careful last year and we didn't start on the easiest problems first," he said, explaining how the team plans on conquering this year's battle of the brains.
The University of Calgary has also been practicing for the main event. Being surrounded by some of the top schools in the world hasn't fazed the team, said Sonny Chan, the team's return competitor.
Poon is one of eight female competitors this year at the ACM, double the amount last year. Gabriel Silberman, program director, Centre for Advanced Studies at IBM Corp. in Hawthorne, N.Y., said he personally gets a charge out of watching the competition. "If you've never seen or felt brain waves, you'll see it at the competition," he said.
IBM, which is the main sponsor for the "battle of the brains," has been involved with the ACM-ICPC since 1997, and has been instrumental in the growth of the competition. Participation has growth to involve tens of thousands of students and faculty in computing disciplines at over 1,412 universities from 75 universities.
Silberman explained that the main objectives for IBM's involvement in the competition is to help foster the necessary business skills in the students as they make the transition from school to the marketplace and to demonstrate how talented the students are.