Mathematical Olympiad - Category P (MO-P) is a programming competition for Czech secondary school students. In line with its origin as a category of the Mathematical Olympiad, the focus of the competition is on problem solving and design of efficient algorithms rather than routine programming skills, and the choice of tasks also reflects the current trends in theoretical computer science. In this aspect it differs from many other programming contests.
The Mathematical Olympiad is an official competition of the Ministry of Education, Youth and Sports of the Czech Republic, supervised by the Union of Czech Mathematicians and Physicists. The Mathematical Olympiad is held in several categories depending on the age of the participants. In 1985 during the 35th annual Mathematical Olympiad a decision was made to introduce category P, a new category with no age constraints whose tasks would be primarily algorithmic in nature.
Initially, the tasks were solved only theoretically – the participants wrote their solutions (including the programs) on paper, and the solutions were then evaluated manually by organizers. In 1994, the greater availability of personal computers made it possible to introduce practical tasks, where the participants submit their programs electronically and these are then automatically tested on data sets prepared in advance. Nevertheless, theoretical tasks still remain an important part of the competition.
The results of MO-P are a basis for the selection of teams representing Czech Republic at various international programming competitions. Czechoslovakia (and later Czech Republic) has participated in International Olympiad in Informatics and in Central European Olympiad in Informatics since their first years in 1989 and 1994 respectively. Since 1999, we have also been sending the selected participants to the joint Czech-Polish-Slovak Preparation Camp.
The scientific background, especially the preparation of tasks and their scoring, is currently handled alternately by lecturers and students of the Faculty of Mathematics and Physics of Charles University, Prague and of Comenius University, Bratislava.
Each annual competition consists of three competition rounds – home, regional and national round. The home round consists of two theoretical and two practical tasks. The task statements are published during summer, and students have several months to work on their solutions. The solutions are submitted electronically. The practical tasks are automatically evaluated on data sets designed to test their correctness and efficiency; the participants immediately learn how successful they were and can possibly re-submit corrected versions. The theoretical tasks are evaluated manually after the deadline in November.
About 100 of the participants from the home round are invited to the regional round, organized in January by the respective regional committees of the Mathematical Olympiad. The participants solve four theoretical tasks in the time limit of 4 hours.
About thirty of the most successful participants are invited to compete in the national round, held in March along with the national round of the category A of the Mathematical Olympiad. The national round has two competition days. Each day, the participants solve three tasks in the time limit of 4.5 hours; on the first day the tasks are theoretical while on the second day they are practical and solutions are submitted to an automated judge system.
Successful participants are well prepared for university studies both in practical software engineering and in theoretical computer science. The curriculum of the competition includes many of the subjects covered in the first years of these studies and encourages a deeper and more hands-on understanding of the topics. Many of the former participants nowadays hold important positions in academia as well as software development companies.