Utrecht mathematicians finish in top half at Programming World Championship in Thailand

“Cooperation is an essential element of our success”

v.l.n.r. Timon Knigge, Harry Smit en Ragnar Groot Koerkamp
Left to right: Timon Knigge, Harry Smit and Ragnar Groot Koerkamp. (Photo: Josse van Dobben de Bruyn)

Utrecht Mathematics students Harry Smit, Timon Knigge en Ragnar Groot Koerkamp finished in 60th place among the 128 teams that participated in the ‘World Championships of Programming’, the ACM International Collegiate Programming Competition. This was the first time that a team from Utrecht qualified for the competition. The other Dutch team, from Radboud University Nijmegen, finished in 53rd place. One day after the finals, Harry, Timon and Ragnar tell us about their experiences.

How do you feel about the contest?

“Our goal was to finish in the top half, and we made it! We were a bit disappointed right after the contest: we didn’t solve two of the problems, although we did write theoretically correct implementations. You always think of a better approach after the fact. But once that feeling goes away, we’ll undoubtedly be able to look back positively on the world finals. Either way, we’re proud that we were there. Some very good teams competed in the preliminary round, the Northwest European Championship, but only four went on to the world finals. During the contest we really rose to meet the challenge.”

Which preparations helped you most in the competition?

“Interestingly enough, we studied optimisation just a week before the contest. That has relatively few applications, but it turned out to be very handy in one of the problems at the finals. Furthermore, an essential element of our success was our cooperation: often one of us would come up with the first part of a problem, and then the rest would fill it in. Practicing together was an important aspect of our training. And as expected, we didn’t have any problems working together.”

Het team tijdens de wedstrijd. Timon zit achter de computer, Harry en Ragnar werken opgaven uit op papier.
The team during the competition. Ragnar is programming, Harry checks Ragnar's work for mistakes, and Timon is working on paper. (Photo: Josse van Dobben de Bruyn)

Is there much of a rivalry between the teams?

“All of the teams are friendly to one another, but not all of the teams speak fluent English. The language barrier made it difficult to make contact with the other teams. And when you do have contact, the conversation is usually about programming contests: about the preliminary rounds or interesting problems. We talked a lot with the team from Nijmegen and a team from Minnesota. During the contest, you’re not worried too much about what the other teams are doing. We didn’t look at the scoreboard for more than an hour, and that was just to determine how difficult each of the problems were.”

The contest is in Phuket, Thailand. Were you able to enjoy some free time?

“Absolutely. It’s important to ‘warm up’ your programming skills, but there’s no point in practicing new techniques one or two days in advance, because your brain doesn’t have time to process them. Plus, it’s good to keep your stress level low before the contest. So we spent a lot of time relaxing on the beach and at the pool.”

Harry, Ragnar en Timon (rechts op de foto, met gele shirts) lopen door de zaal waar de finale plaatsvond. (Foto: Randy Piland)
Harry, Ragnar and Timon (on the right, in yellow shirts) walk through the hall where the finals are held. (Photo: Randy Piland)

So what now? Are you looking forward to the next challenge?

“Unfortunately, we can’t compete as a team anymore. Timon is going to work for Google, Harry is getting a PhD., and Ragnar is going to Oxford. The team from Nijmegen is also disbanding next year, so at the moment there’s no Dutch successors who can reach the world finals. But we see a lot of people with potential. If anyone is interested in competitive programming, then we’d recommend participating in the Utrecht Programming Championship on 19 September or a programming contest in another university town.”

You’d recommend it then?

“Competitive programming is really fun! You not only test your programming skills, but also your knowledge of algorithms and your creativity. We hope that there are other people in Utrecht - and the whole country - who want to compete in programming contests. The three of us love to talk about programming problems, so if anyone has any questions - general or specific - we’d love to answer them!”