The International Olympiad in Informatics (IOI) is an annual competitive programming competition for secondary school students. The first IOI was held in 1989 in Pravetz, Bulgaria. The contest consists of two days computer programming, solving problems of an algorithmic nature. Students at the IOI compete on an individual basis, with up to four students competing from each participating country (with 81 countries in 2012). Students in the national teams are selected through national computing contests, such as the Australian Informatics Olympiad, British Informatics Olympiad, and Bundeswettbewerb Informatik (Germany).
On each of the two competition days, the students are typically given three problems which they have to solve in five hours. Each student works on his/her own, with only a computer and no other help allowed, specifically no communication with other contestants, books etc. Usually to solve a task the contestant has to write a computer program (in C, C++ or Pascal, and occasionally FORTRAN and PHP) and submit it before the five hour competition time ends.
Usually, the exam is held in the month of September or October every year.
The scores from the two competition days and all problems are summed up separately for each contestant. At the awarding ceremony, contestants are awarded medals depending on their relative total score. The top 50% of the contestants are awarded medals, such that the relative number of gold: silver: bronze: no medal is approximately 1:2:3:6 (thus 1/12 of the contestants get a gold medal).