Get study credits for competitive coding

During the awesome spring of 2014, 16 students at the Department of Computer Science participated in the qualifying rounds of Hello World Open - the world championships of coding. The competition was arranged by Finnish technology companies Reaktor and Supercell, and the task was to produce an Artificial Intelligence (AI) bot for a race car. Over 2500 teams registered to the competition from all corners of the world, some of them also from the University of Helsinki. The competition was organized in two parts; first, teams from all around the world participated in qualification rounds, after which finals followed.

 

Before the qualification rounds, each team had two weeks to create their view of the best racing car AI, after which it was pitted up against the AI:s from other teams from the same country. The best teams were judged by the lap times on world known track such as Monaco and Nürburgring. Then the national champions were pitted against rival teams from nearby countries -- forming so called Hello Regions. Two best teams from each Hello Region were invited to the finals that took place in Helsinki.
 

A short compilation of the Finals, a massive event organized at Kaapelitehdas, is available at Yle Areena: http://areena.yle.fi/tv/2303627 -- the event had almost 1000 participants that were watching the show, open bars, and fast-paced racing action.

 

The task was not easy - and we learned a lot

 

This time, the teams from the University of Helsinki did not make it to the finals (no Swedish teams were there either, so it could have been worse!). However, participating was an intensive learning experience for many. Difficulty of the task was slightly underestimated, which affected how much time the participants spent on the topic. Majority of students worked over 25 hours, which is especially respectable as deadline of the qualifying rounds overlapped with our examination week.

 

We posed some questions to our Department's participants.

 

 

How hard did you anticipate the task to be?
 

 

 

 

 

How hard was the task in reality?

 

 

 

What did we learn, actually?

 

Our students had plenty of advice from which future teams in programming competitions can benefit from.

 

 

Strategy

  • Get some knowledge of the technologies used in the competition before the competition.
  • Start early. Read the tech specs and mission as soon as possible.
  • Work hard.
  • First think, then implement.
  • Keep it simple.  Don't overthink the problem before writing any code.
  • Try to remember that problems may have no “right” answer. You can solve them in many ways.
  • Focus on the general problem instead of optimizing for specific cases.
  • Make a clear plan of your solution architecture, it’ll be easier to keep your code clean
  • Make backups often (makes reverting and finding roots of issues easier).
  • Keep testing.
  • Don't be afraid to abandon solutions that don't work out.
  • Be good. At the bare minimum, make sure your code works. Having code that doesn't crash gets you surprisingly far.

 

Attitude

  • Have fun. 
  • Winning is only a byproduct of learning and the experience you will get.
  • Arrange clear times when you’ll work on the project
  • Have enough breaks to keep your energy going
  • Be prepared to go outside your comfort zone, the competition may not be strictly about computer science.
  • Discuss with other competitors if it is allowed. It is fun to chat about different ways to approach strategies.
  • Your coding skills will improve, and it is fun to use your skills. 
  • NEVER give up!

 

Upcoming contests
 

If you are interested in programming contests, there will be new opportunities throughout the study year 2014-2015. The first one of them is ICPC, an international programming contest for university students. The contest focuses on algorithmic programming, and teams of three people can participate. Last year our teams were successful: http://www.cs.helsinki.fi/en/news/78318

 

ICPC consists of several phases. The first phase for students in Finnish universities is NCPC (Nordic Collegiate Programming Contest) that is arranged in several Nordic universities simultaneously, among them University of Helsinki and Aalto University. An unlimited number of teams can participate in NCPC, and the best teams are selected to the next stage.
 

This year NCPC will be held on Saturday 4th October. However, if you want to be successful in NCPC, you should start practicing now. A good way to practice is to join Codeforces (http://www.codeforces.com/). This is a Russian website that organizes high-quality programming contests every week. More information about NCPC will be mailed later.

 

If you want to participate and get study credits for competitive coding, don’t hesitate to contact us!

 

Antti Laaksonen (ICPC and NCPC)

ahslaaks (^^) cs.helsinki.fi
 

Hanna Mäenpää (everything else)
hmaenpaa (^^)@ cs.helsinki.fi

 

 

 

 

14.06.2014 - 10:21 Antti Laaksonen
13.06.2014 - 20:58 Hanna Mäenpää