As March Madness – the month of NCAA basketball playoff matches that is also viewed as the tournament that recognizes the best post-secondary school talent in the world – comes to a close, University of Waterloo students are spending hours of free time each week training for a competition that awards a different type of talent.
Deon Nicholas, a second-year computer science student in the faculty of mathematics, is spending one night a week and one day of his weekends solving some of the most challenging math problems in the world. In grueling four or five-hour sessions followed by a one-hour debrief he gathers around a solitary computer with his two teammates on the University of Waterloo’s elite “black team” to program answers to the complex questions that require knowledge of mathematical algorithms just as much as they do Java or C++.
This weekend, the black team will have its first real test – akin to a bracket match in the NCAA – at the University of Chicago’s Invitational Programming Contest 2013. Inviting the top computer programming teams from universities from across North America, even this event is just an exercise in the lead-in to the International Collegiate Programming Contest world finals. This year, the event organized by the Association for Computing Machinery and sponsored by IBM Corp. will be hosted in early July in St. Petersburg, Russia.
“It’s really rewarding in terms of how much we learn and how much problem solving we have to do,” Nicholas says.
The black team competes in-house against Waterloo’s red and gold team to prepare for game time. All three teams are assembled by coach Ondrej Lhotak based on individual performance in a competition open to all Waterloo students annually. The red and gold teams are supposed to be the second and third-tier teams compared to the black team, but it doesn’t always work out that way. Just like at this year’s March Madness tournament, the underdogs can sometimes find a way to win.
“The main value in these practices is the realistic situation. You’ve got the other teams there, you’ve got the pressure,” Lhotak says. “When you just do the practice without that, it’s just the team sitting in a room all by themselves.”
Cash and credentials at stake
There are cash prizes at stake this weekend – $4,500 for the winning team, $3,000 for second place, and $1,500 for third or fourth place. But like the NCAA basketball players that play without pay, there are other motivators at work such as prestige and building towards a lucrative career in a high-demand field. Nicholas credits his experience with the contest as the reason he’ll be working an internship at Facebook this summer. He took the Facebook Programming Challenge to lure the attention of a recruiter. Facebook uses the timed coding challenges to identify candidates for its software engineering department.
“It would have been impossible to do without my previous experience” in ICPC, he says. “It wasn’t just a problem you solved, but required a specific knowledge of algorithms you won’t just come up with, but you have to know your stuff.”
Teammate Geoffry Song, a first-year computer science student, agrees. He’s interviewed with several software firms including Canadian startups like Kik and Benbria to large outfits like Intel Corp.
“It takes a different way of thinking to do well in contests,” he says. “That helps in your experience at work.”
Waterloo’s top ranking at risk
The Chicago contest will be a preview of the 23 North American teams that are attending the ICPC world finals, out of the 100 worldwide. Other Canadian schools in this year’s finals include the University of Toronto, University of Calgary, University of Lethbridge, University of Manitoba, and University of British Columbia.
Waterloo Black is the Duke Blue Devils of the ICPC Challenge, consistently attending the finals every year since 1993. Only other one team has done that – last year’s host, the University of Warsaw – and Waterloo is the only Canadian team to win the competition. It won both in 1994 and 1999. Coach Lhotak was on the 1999 team.
“In Canada if you are looking for an undergraduate program in computer science… I think it’s obvious Waterloo is the top program in Canada,” he says.
But the team’s sterling reputation may be at risk this year. In the East Central North America Regional Programming Contest held in November, Waterloo Black was beat out by Carnegie Mellon University and the University of Toronto.
So Nicholas and his teammates will be feeling the pressure this weekend as they head to Chicago to try and win out in a competition where writing code is like dribbling and knowing the right mathematical algorithm for the right problem is a slam dunk.