International Olympiad in Informatics – IOI
A competition for youth in algorithms and programming.
The International Olympiad in Informatics has set itself the goal of advancing the field of computer science among young people, encouraging excellence in computer science and selection of this area as a significant area of occupation for the future.
The activities for the senior team are intended for students in 10th-12th grades. Younger students with outstanding ability in computer science are also invited to try out for the team.
The Olympiad takes place every year, during the summer, in a different host country. The first Olympiad in Informatics was held in Bulgaria in 1989, with delegations from 13 countries participating. Today the number of countries participating in the Olympiad stands at 79.
The activities of the Israel Informatics Team take place at Tel Aviv University.
The International Olympiad in Informatics for 2018 will be take place on 1-8 September, in Japan.
The aim of the team is to encourage interest and challenge in computer science; to bring together the best young minds from all over the world for scientific activity on the highest level and for a cultural experience; and to develop problem analysis and solution finding ability, creativity, and “out of the box” thinking in the field of computer science, alongside development of the ability to come up with efficient solutions for complex problems.
The delegation comprises up to 4 students, accompanied by a number of professional staff members. The students compete individually in the solution of algorithmic challenge problems, with emphasis on analysis of the problem and development of a creative solution that includes a sophisticated algorithmic core whose implementation involves graphs, string manipulation, the use of complex data structures, and so on.
Each year there are three selection and training stages in the lead up to the Olympiad.
This stage is a test administered at school, or through the solution of challenge questions on the internet. There is no need to know how to program in order to compete in this stage. The duration of the test is two hours. The questions in the test are algorithmic questions – in each question there is a given input, and the appropriate output needs to be calculated for it. Thousands of students from all over Israel take part in this stage each year. Participation is open, and recommended for any interested student.
The national competition – a written test administered at Tel Aviv University. The questions in the national test are algorithmic. Unlike stage 1, the competitors are not required to write the output for a specific input, but rather to write an efficient, general algorithm that solves the computational problem presented in the question. In each question, the algorithm is to be presented using a programming language chosen by the competitor, or in the form of pseudocode. In addition, the idea behind the algorithm has to be described in words. The emphasis is on efficient algorithms that operate in the lowest possible time complexity. Inefficient algorithms will only gain a small portion of the available points, if any.
The advance training – a series of training, competition and learning days. The training days are generally held once a week, mostly at the Open University campus in Ramat Aviv, with some done from home via the internet. The training day simulates the competition day at the IOI, and is comprised of 2 parts:
In the first part, the competitors are given 5 hours to solve 3 algorithmic problems, to program their algorithmic solutions, and to submit their code to the system for automatic checking, so as to receive feedback. The programming is in one of the following languages: C#, C++, or Java, at the competitor’s discretion. At the end of the first part, the Olympiad trainers interview the competitors and discuss their solutions with them.
In the second part, the participants learn about topics in algorithms on an academic level: the lessons cover algorithms and data structures from official IOI syllabus, and sometimes offer additional enrichment in computer science.
As part of the preparation for competition on the highest international level, members of the team also participate in preliminary competitions, which are international competitions involving numerous countries.
Participation in these competitions allows the students in the team to test their knowledge and skills in comparison with students from other countries; to practice being tested under competition conditions; and to feel the special atmosphere of international competition in computer science.
In 2018 the members of the Israeli team took part, for the first time, in an international training competition in computer science for school students aged below 19. The competition took place at the Innopolis University in Russia, one of the leading universities in Russia in the field of informatics and robotics. The questions in the competition are on the level of those of the Russian Olympiad in Informatics, which are known to be on a high level. Among those formulating the questions are members of the Russian IOI staff.
Members of the delegation were selected by the organizers of the competition in Innopolis on the basis of their impressive achievements in two preliminary competitions (online competitions), and they gained second and third places.
The Innopolis Open was held on 24-25 February, 2018, at Innopolis, Russia.