What do you get when you combine three UChicago students, one computer, five hours and one problem set? The three students, members of the programming team “Conjurers of Cheap Tricks,” earned a chance to take part in the finals of the world’s oldest and largest programming contest—the Association for Computing Machinery’s International Collegiate Programming Contest.
The annual competition pits the brightest minds in computer science against one another, in teams of three, with each team working furiously around a single computer to complete a set of eight or more programming challenges. The UChicago students, second-years Jeremy Archer, Jake Koenig, and third-year Harrison Weigel, will travel to the competition—held June 25 in Ekaterinburg, Russia—to put their problem-solving skills to the test.
“Teams that make it to the World Finals really are the best of the best of the best,” said Borja Sotomayor, MS’07, PhD’10, the team’s coach, associate director for technology and lecturer in computer science. Competitors in the World Finals are an elite group of 112 teams, selected from a pool of more than 10,000 teams from 94 countries. The UChicago team was one of only 19 U.S. teams to earn a spot in the finals.
In order to make it to the World Finals, the team had to prevail in a series of preliminary competitions. Each level of the competition is more challenging than the last, but the format is the same: three students, one computer, five hours.
The first round was the qualifying contest for UChicago teams, held in May 2013, in which Conjurers of Cheap Tricks took first place. The next level of competition was the Mid-Central USA Regional Contest, held in November, at which 138 teams vied for three slots at World Finals. Conjurers of Cheap Tricks came in second place, making this the sixth year in a row that UChicago has qualified for the World Finals of the ICPC.
The teams advancing to the World Finals also took part in the North American Invitational Programming contest, hosted at UChicago in Harper Library on March 28-30. Twenty-one teams participated in the competition, which serves as a practice run for the World Finals as well as a chance to win prizes and meet other students. By contest’s end, Harper Library’s Cathey Learning Center was peppered with brightly colored balloons—the ICPC’s signal that a team has correctly answered a question.
The team members sacrificed precious weekend hours to practice for the competitions. Under the guidance of Sotomayor and assistant coach Denis Pankratov, MS’12, graduate student in computer science, the team tackled problems from previous competitions, analyzing their performance and perfecting their techniques.
Problems posed in the competition tend to appear simple, but require meticulous planning to craft code efficient enough to solve the problem in a timely fashion—one of the requirements for receiving credit for a solution. “The problem is describing a way that you might solve them that doesn’t require billions of computations,” said Koenig.
Participating in ICPC has practical benefits for the students. It sharpens the students’ programming skills and prepares them for careers in software development. “When students go off into the job market and have to find jobs, these are the kinds of skills that are actually pretty marketable,” Sotomayor said.
But most importantly, the students say, competing in ICPC is just plain fun. “I sort of like the time pressure and the stress of working on these difficult problems in a limited amount of time,” Koenig said. “What’s not fun about taking a test with two friends?”