One of Mount Allison’s lesser-known teams is possibly its most successful. A lot of people may not consider competitive computer programming a sport, and maybe it isn’t, but it is a cut-throat world that requires gruelling practices, hours of dedication and a lot of perseverance. You do not get into a competition for which even Harvard could not qualify without being extremely self-driven.
The Mt. A coding team is ranked fourth worldwide on the Kattis ranking system, the governing body for coding competition, second only to KTH Royal Institute of Technology in Sweden, Reykjavik University in Iceland and Stanford University in the U.S.
The overall rank is calculated using a weighted points system in which coders with more points contribute more to the university’s score. According to this ranking, Mt. A boasts three of the top 20 programmers in the world. Micah Stairs leads the charge in fourth, with William Fiset in 17th and Thomas (Finn) Lidbetter not far behind in 20th.
You can earn points in the Kattis score system by solving problems and submitting passing code in competition or through practice submissions.
The difficulty score of the questions ranges from one (being the easiest) to 10 points. While a lot of the problems on the low end of the point spectrum are easier to solve if you have taken COMP 1631, it can be difficult to solve even the most conceptually simple problems. Many students who study both computer science and math perform particularly well in competitive programming.
Although computer programming does not have the same risk of injury as most physical sports, there are many potential hazards, including sleep deprivation, mental stress and Carpal Tunnel syndrome.
Fourth-year student Stairs knows all about the challenges of competitive programming.
“You might mistakenly make assumptions about the problem which can lead you to the wrong answer. Another difficulty is coming up with a solution that is efficient enough,” Stairs said.
This year, Mt. A’s team qualified for the World Finals, which will take place in Rapid City, S.D. This will not be the exciting location by the competition’s standard. In the last five years it has been held in Phuket, Thailand (2016), Marrakesh, Morocco (2015), Ekaterinburg, Russia (2014), Saint Petersburg, Russia (2013) and Warsaw, Poland (2012).
In a competition setting, the format is simple. Each team is composed of three students. They are given a desk, some scrap paper, a list of problems to solve and a computer to write the code on. Stairs emphasized that a strong team strategy is crucial during these competitions.
“Usage of the computer is a scarce commodity during a programming competition since there are three team members and only one computer. Therefore, it is important to minimize wasted time at the keyboard,” he said.
Stairs also emphasized the importance of teamwork during competition.
“This can be done by figuring out how to solve the problem on paper before beginning to actually write the code and sharing the computer effectively between team members. It is also important to brainstorm solutions with other members of your team, since the collective knowledge of the team is greater than any one member’s knowledge.”
As I was writing this article, I was forced to address the question of what constitutes a sport. Is it a certain physical endeavor? Or is it something that combines all of your mental faculties in order to create an incredible outcome?
You can compare a great solution to a problem with an incredible catch in a football game. Both take a significant amount of time and effort to perfect. The football catch is a quick reaction that takes a multitude of steps, just as the execution of a well-thought-out program takes only a second for the computer to carry out but requires a coder’s perfected technique.
Computer programming is a sport for your mind.