[This is one of those rare posts in English, since the main audience for this topic is English-speaking. — Este es uno de esos pocos posts en inglés, ya que está dirigido principalmente a gente de la universidad, y la mayoría no entiende español 🙂 ]
Like last year, and the year before that, the University of Chicago qualified for the World Finals of the ACM’s International Collegiate Programming Contest. This year, however, the road to the World Finals was bumpier than usual. Originally scheduled to take place in Egypt in late February, the World Finals had to be postponed (due to extraordinary circumstances), and were ultimately rescheduled to take place from May 28 to May 31 in Orlando, Florida.
Even though we did not get to see pyramids, going to the World Finals is still a unique and amazing experience, and we feel privileged to have been able to do it for three years in a row. The students on this year’s awesome team were Korei Klein (4th year undergrad, majoring in Computer Science and Mathematics), Denis Pankratov (2nd year PhD student in Computer Science), and Matthew Steffen (4th year undergrad, majoring in Computer Science and Mathematics).
As you can see, in the spirit of UChicago quirkiness, our team continued last year’s tradition of wearing a dress shirt and tie in combination with the official contest t-shirt.
This year, our team also included Assistant Coach Louis Wasserman (3rd year undergrad, majoring in Mathematics). Louis was a contestant in the teams that made it to the World Finals in 2009 and 2010, but was ineligible to participate this year (students are only allowed to participate twice in the World Finals). So, instead of participating as a contestant, Louis provided valuable support to this year’s team by sharing his insights on the deeper mathematical and algorithmic mysteries of the ICPC problem sets. He also rocked the kilt at ICPC:
Like every year, the World Finals included a packed schedule of events, starting with the IBM TechTrek on Saturday, where we were treated to a day at SeaWorld. Not just that, the day started with a private showing of a new show in Shamu Stadium:
In the evenings, teams had a chance to relax in the IBM Chill Zone, with various games to play, including foosball:
There was also a lot of big bouncy balls that begged to be played with and thrown around. After much cavorting around, we were informed that the balls were meant to be used only to sit on. This made our team sad:
Most of Sunday was spent on orientation and on a practice contest in preparation for the big day on Monday. Here we can see our team hard at work on the practice problem set:
In between practices, we also had a chance to participate in the ICPC Podcast, where our team discussed its “Secret Sauce”.
Finally, on Monday, May 30, the actual World Finals contest took place. For those of you unfamiliar with how ICPC works, here’s a quick primer: a team of three students is given five hours to solve between eight and eleven programming problems. Each team has only one computer, so they must divide their time wisely between coding and thinking about problems. Solutions are submitted electronically to judges who use automatic judging tools that will run insanely exhaustive test cases through the solution; if the solution passes all the tests, it is accepted as a valid solution. Teams are ranked first on number of problems solved and then on the time it took them to solve each problem (with a 20 minute penalty for each incorrect submission).
During the contest, only the contestants are allowed on the contest floor. Everyone else, including the coaches, must observe the contest from a separate room, where we could see the live scoreboard and live commentary:
The scoreboard is frozen for the last hour of the contest and, once it ends, the final standings are revealed. The University of Chicago ultimately placed 79th out of 105 teams:
Our team solved two problems, C and K, and attempted a third one, E (you can see the problem set here). This was actually an improvement over last year, where our team only managed to solve one problem (the year before that, we didn’t manage to solve any). And to put this result into context, just slightly over half the teams solved four or more problems, and only seven US teams (out of 17) managed to solve three or more problems (we actually placed 9th out of the 17 US teams). You can see the full scoreboard here.
So, all in all, we were very happy with our performance, specially after spending so much time honing our World Finals strategy (based on our experiences in past World Finals) and training more than last year in preparation for the contest; it looks like all the extra effort has definitely paid off. So, after the long road to the World Finals, this is us, happy and relieved, at the end of the contest:
After the contest, we were treated to the IBM Celebration, the location of which is a tightly guarded secret every year. This year, however, it was an open secret that we would be going to Universal’s Islands of Adventure theme park, but we did not know what the excursion would involve exactly. As it turns out, IBM went all out and treated us to what (at least in my book) has been the best Celebration so far: they opened part of the park after hours just for us, and we were able to ride on some of the best rides without waiting in line. One part of the park that was open for us was The Wizarding World of Harry Potter. As a Harry Potter fan, I could hardly contain my excitement at walking around a recreation of Hogsmeade and riding on Harry Potter and the Forbidden Journey, a truly awesome dark ride through the world of Harry Potter.
So, like last year and the year before that, a great time was had by all. Now it’s time to start working on qualifying for the the 2012 World Finals in Warsaw, Poland!