I’ve just returned from the final stage of Olympiad in Informatics(OI). I scored 14th place which gave me a title of laureate. It’s a really high position, because it is the hardest algorithm competition at a high school level. This post is a brief summary of my thoughts about it.
Background
Although that the Polish education system has its drawbacks, there is a definitely positive thing. The Olympiads. In fact it’s hard to translate this term into English. By “Olympiad” I mean a national competitions from different subjects for a high school students. In contrast to normal competitions, they are organised by the most prestigious Universities. This series of competitions require far more knowledge and skills than is normally taught at school. It’s a kind of motivation for students to learn more than it’s in official program.
Competition
OI is slightly different than the rest of the Olympiads. It consist mainly of algorithm problems. The objective is simple, write a program that will calculate the answer for given input within time and memory limits. For example, for a given graph find the route that has length exactly k. Judging is totally automatic. A score is evaluated based on how many of the tests your program has passed correctly. Unlikely the other algorithm competitions, the most important aspect is thinking rather than coding. The contest is divided into two sessions, each of it lasts 5 hours and include only 2-3 problems, so finding an optimal solution is the crucial part.
Place
The another reason why OI stands out is a location of the finals. Most of the Olympiads choose an academic city, while the OI 3rd stage is in a awesome coast resort – Sopot. Thanks to one of the sponsors, Combidata, we were accommodated in a training centre. It’s situated near the sea. Although in spring it’s too cold to swim, it’s truly pleasure to walk on the sand.
People
What’s really important is the people. It’s one of my few possibilities to talk about technical issues. Wanting a short discussion about various garbage collectors? Or a short talk about open source licensing? During the finals we have opportunity to meet/talk about almost all of the programming topics.
To give an image what’s sort of people are there, a short statistics:
Popular OS: linux flavour, mostly gentoo
Popular languages: C++ + a wide range of interpreted ones
Favourite (future) employer: Google
Other fields of interest: mathematics, physic + very odd one
Miscellaneous
At this competition I learned that I don’t exist ;-). I had a starting number 404 (HTTP not exist).
Results
To be honest, I dreamed about achieving a better result. I’ve made one genuinely silly mistake. I coded a constant value with one more zero than it was written in a problem set. It cost me a lot of points. On the other hand, I performed well enough to be almost on the top.
Summary
Preparation for OI took me long hours and many months of hard work, but it definitely worth it. Not only I learned many algorithms, but also I learned how to solve problems. It widen my mind, show new possibilities, give me a chance to meet new friends, etc. Although this contest concentrate on algorithm, it’s a good starting point to discover other branches of informatics.