2 Author : IOI Scientific Committee
3 Editor : Tom Verhoeff (Chair of IOI SC)
4 Status : Draft for further review, and for use by IOI2000 SC
5 Date : January/February 2000
6 Version: 0.3
7 History: Incorporated suggestions by reviewers of version 0.2
11 The application of these Guidelines to IOI2000 is an experiment. The
12 IOI2000 organizers have agreed to participate in this experiment.
13 Therefore, these Guidelines currently have the status of recommendations
14 only, even though they are phrased in a more obligatory way. These
15 Guidelines will be applied as much as possible for IOI2000, and deviations
16 will be reported to the IOI SC.
19 changing these Guidelines, and for deciding on the mandatory use of
20 these Guidelines after IOI2000.
24 * "must" expresses that something is obligatory, and that deviation
25 is in violation of these Guidelines
26 * "should" expresses that something is strongly recommended, and
27 that a deviation must be reported and explained
28 * "may" expresses that something is optional, and that deviations
29 are acceptable and require no further commenting.
33 These Guidelines set a standard for the organization of the COMPETITION
34 at the International Olympiad in Informatics (IOI). Each IOI provides,
35 among other things, a Computer Science competition for talented
36 high-school students, selected through competitive national olympiads.
37 From the first IOI in 1989, the focus of these competitions has been on
38 algorithmic computer programming tasks.
41 written guidelines and refining these over the years, will help ensure a
42 high-quality competition that can develop and improve continuously.
45 competitions and similar events, and on best practices in Computing
46 Science and Software Engineering.
49 address such issues as sleeping accommodation, meals, transportation,
50 social events, political issues, etc. The latter are a concern of
51 the International Committee (IC) of the IOI.
53 The intended readership consists of all IOI Scientific Committee (SC)
55 leaders may also find some of the information useful when preparing for
56 an IOI.
61 ---- -- -------------
62 CC Competition Committee
63 CI Configuration Item (see Configuration Management)
64 CM Competition Manager
65 GA General Assembly
66 IC International Committee
67 ICPC International Collegiate Programming Contest (by ACM)
68 IMO International Mathematics Olympiad
69 IOI International Olympiad in Informatics
70 IOIn The particular IOI being organized
71 PGP Pretty Good Privacy (http://www.pgpinternational.com/)
72 SC Scientific Committee
76 CENTRAL COMPETITION DESK: The location where competition-related
77 material, such as Clarification Request Forms and Grading Appeal Forms,
78 are submitted and from there distributed to the appropriate destination.
79 The actual desk location may depend on the activity that is taking place
80 (translation, competition, grading, ...).
83 * All the events and activities at IOIn (incl. two Competition Rounds
84 and the awarding of medals) concerning the IOIn Competition. This
85 broadest interpretation is denoted in these Guidelines by "IOIn
87 * A single Competition Round at IOIn (starting with the presentation
88 of the Competition Tasks to the GA, and ending with the finalization
89 of the results by the GA). This interpretation is denoted in these
90 Guidelines by "Competition Round".
91 * A period of five hours when the competitors work on Competition
92 Tasks. This narrowest interpretation is denoted in these Guidelines
93 by "competition proper", or simply "competition" when confusion is
97 that is, when the competitors compete by working on Competition Tasks.
99 COMPETITION MANAGER (CM): The person who is responsible for managing
101 In most cases, the chair of the IOIn Host SC will act as IOIn CM.
103 COMPETITION MATERIAL: Several interpretations will be distinguished:
105 eventually published or not.
106 * All the information concerning the IOIn Competition that will be
107 made publicly available, in particular to the GA prior to a
108 competition proper. This includes background information and
109 grading details about the Competition Tasks, which must not be given
110 to the competitors before the competition proper has ended.
111 * All the information to be given to the competitors at a competition
112 proper. This includes the Competition Tasks, but also such items as
113 a Task Overview, sample files, helper programs, etc.
114 The intended interpretation should be obvious from the context in these
117 COMPETITION OFFICIAL: Any person involved in executing the IOIn
119 There are various roles for officials, for example:
120 * patrol the Competition Site during a competition proper
121 * attend to the Central Competition Desk
122 * manage the technical equipment (servers, printers)
123 * deal with issues related to Competition Tasks (answering
124 Clarification Requests, for example)
125 * carry out the grading
127 COMPETITION ROUND: One of the two Competition Rounds that take place at
129 1. IOIn CC presents Competition Tasks to GA (in a GA Meeting)
130 2. GA translates Competition Tasks
131 3. Competitors work on Competition Tasks for five hours
132 4. IOIn CC grades the work of the competitors and reports to GA
133 5. GA verifies grading results and may file appeals
134 6. IOIn CC formulates responses to appeals
135 7. GA finalizes the results (in a GA Meeting)
136 These activities are typically spread out over several days.
139 in these Guidelines) used to denote just the First Competition proper
140 and on other occasions to denote the entire First Competition Round.
141 However, the competition proper is only one of several events that may
142 take place on a Competition Day; traditionally, grading in a Competition
143 Round is done on the same day, but (since IOI'96) translation has been
144 done on the preceding day. On the other hand, as noted above, a
145 Competition Round usually spans more that one day.
147 COMPETITION SITE: The location with workplaces at IOIn where each
149 working on the Competition Tasks. The Competition Site includes rooms
150 with support equipment (such as servers, printers, ...).
153 have to complete. The work submitted by the competitors for the tasks
154 is graded and the result is used to award medals. Each Competition
155 Round typically involves three independent and self-contained
156 Competition Tasks.
159 and then awarding points, with the intent to rank the competitors for
160 awarding medals.
163 files is a valid input instance (satisfies the precondition) of a
164 Competition Task. There are some generic aspects to this validation,
165 which apply to all Competition Tasks (e.g. the restriction to lines of
166 characters with ASCII values in the range 32..126). Complete validation
167 however always involves task-specific aspects. Some of the checks are
168 merely syntactic (e.g. "the first line contains three numbers"), others
169 are semantic (bounds on numbers, special relationships between data
170 items). Many (and sometimes all) of these task-specific conditions can
171 be handled by a "scriptable" validator, where the script captures the
172 restrictions to be checked. For some tasks, the input validator is more
173 complex than a solution to the task.
175 IOIn COMPETITION: All the activities and events that take place at IOIn
177 1. Introduction (1st GA Meeting, practicing, questions about
178 the Competition Rules)
179 2. First Competition Round
180 3. Second Competition Round
181 4. Medal decisions and awarding
183 IOIn COMPETITION COMMITTEE (CC): The group of persons who are organizing
185 IOIn Host SC, as well as others that have been specifically invited to
186 contribute. Not all persons have to be involved in all phases
187 (preparation, execution, conclusion).
189 LANGUAGE BARRIER: The impossibility of communicating with all IOI
191 to be crossed in BOTH directions:
192 * TO the competitors, when presenting the competition material and
194 * FROM the competitors, when grading the submitted work.
195 All competition material is prepared in English. The GA members help in
196 crossing the language barrier by acting as translators and interpreters.
197 The language barrier FROM the competitors is partly circumvented by
198 having them submit their work in machine interpretable form.
201 is correct output for (satisfies the postcondition of) a Competition
202 Task and one input instance (consisting of one or more input files).
205 output, then an output checker can simply compare the file(s) to be
206 checked with the correct output file(s) for the given input instance.
207 It may be necessary to filter files before comparison to eliminate extra
208 spaces and empty lines.
211 specific. Many (and sometimes all) of the task-specific conditions can
212 be handled by a "scriptable" checker, where the script captures the
213 output restrictions to checked. Examples of script constructs are
214 * the next item must appear in the following set
215 * the next list of items must be a permutation of the following set
216 For some tasks, a special-purpose checker may be needed.
220 First, the general format of the IOI Competition is described. Next, a
221 number of organizational topics are addressed in subsequent sections.
222 These topics are:
225 Progress Reports
226 Evaluation Report
229 Competition Rules
231 Configuration Management
233 Competition Accommodations
235 In the Appendix, there are some checklists and templates. Stylistic
239 ------ -- --- ----------- -- ----
240 The IOI Regulations provide some information about the IOI Competition.
241 In particular, the following sections of the Statutes are relevant:
243 * S4.7 about the Host Scientific Committee
245 * S4.9 about the GA meetings at IOIn
246 * S4.12 about the IOI Scientific Committee (added at IOI'99)
247 * S6.4 about the IOIn Host's obligation to produce Competition
248 Procedures and Judging Procedures
249 * S7 (i.e. S7.1 to S7.14) about Competition, Judging and Awarding
251 However, this information is rather limited and, in many cases, leaves
253 Procedures mentioned in S6.4 are intended to provide the missing
254 details. In other cases, the IOI Regulations may prove to be too
255 restrictive. For instance, S4.9 requires a GA meeting "at the beginning
256 of the First Competition Day" and S7.11 requires that, for the purpose
257 of grading, various people "meet at the desk and computer of the
258 Contestant". In this section, we summarize, extend, and update this
261 The following description is not intended to define the IOI Competition
263 desirable. A described format will help focus the discussion about
264 such change.
267 a temporary committee carrying the responsibilities for preparing and
268 executing the IOIn Competition. At IOI'99, the General Assembly
269 established the IOI Scientific Committee. The IOI SC is a long-term,
270 standing committee responsible for supervising the development,
271 preparation, and execution of the IOI Competitions.
273 In these Guidelines, we will speak of the group of persons who are
275 Competition Committee). The IOIn CC includes persons from the IOI SC
276 and IOIn Host SC, as well as others that have been specifically invited
277 to contribute.
279 In chronological order, the main events that concern the participating
283 new types (5 months prior to IOIn)
284 * Publication of the Competition Rules for IOIn, especially defining
285 the computing environment and the grading process (4 months prior
286 to IOIn)
287 * Questions about the task types and Competition Rules can be posed by
291 * 1st GA meeting: Introduction
292 * Practice Competition: with one or two very simple tasks, which
293 preferably can be translated at home before IOIn
294 * 2nd GA meeting: Questions & Answers
295 * Other practicing opportunities
297 * 3rd GA meeting: Competition Tasks for the First Competition
299 * First Competition of five hours, followed by the grading of all
300 submissions, opportunity to inspect results, and to file appeals
301 * 4th GA meeting: Finalize results of First Competition
303 * 5th GA meeting: Competition Tasks for the Second Competition
305 * Second Competition of five hours, followed by the grading of all
306 submissions, opportunity to inspect results, and to file appeals
307 * 6th GA meeting: Finalize results of Second Competition
309 * 7th GA meeting: Finalize combined results of both competitions,
311 * IOIn Evaluation Questionnaire
312 * Awards Ceremony, published results and solutions
313 * Departure from IOIn venue
315 Here is a summary: Detailed information is disclosed prior to IOIn. At
317 structured Competition Rounds. Everything is closed off by distributing
318 awards and solutions.
321 necessarily brief. Therefore, it is recommended that IOIn CC members
322 have also gained experience by direct involvement in the preparation or
323 execution of previous IOIs. Reading reports of past IOIs may also be
327 have been programming tasks of an algorithmic nature, where the focus is
328 on designing correct and efficient algorithms. Input and output are
329 kept as simple as possible. As an aid to grading, algorithms must be
330 programmed so that machine execution is possible. Also see the
331 Competition Tasks of previous IOIs.
333 Currently, four types of programming tasks can be distinguished:
335 * Classic Batch: All input for one instance resides on disk in one
336 text file; the input is small enough to fit completely into some
337 global variables; the output is to be written to one text file on
338 disk. Established at IOI'94.
341 files that are possibly too large to fit completely into global
342 variables; output may also involve multiple text files. Introduced
343 at IOI'95.
345 * Standard I/O Reactive: Input and output are through standard I/O
347 there is a dialog between the program and an environment.
348 Introduced at IOI'95.
351 interface of routines in a special-purpose library; these routines
352 may involve files that are not directly visible to the competitors.
353 Introduced at IOI'96.
355 Traditionally, each run concerns a single problem instance. However, as
357 deal with multiple instances per run in the future.
359 The tasks should be such that clever competitors can decide by reasoning
361 tasks that require submission of programs involving heuristics or hidden
362 features of the actual input data used for grading.
367 (on disk in text files) and have to deliver the corresponding output
368 (on disk in text files) as specified in the task description. The
369 input cases are so complex or large that their processing will
370 require the use of a computer.
373 several programs, first to gather some statistics about the input and
374 decide on a suitable approach, and then a program for each approach.
375 The developed programs are not submitted for grading.
377 * Testing: The task is to develop a program T that tests another
379 subsequently checking the output. The task description specifies
380 the program P under test. P can be given as a routine in a
381 library, with I/O done through parameters. Grading is done by
382 letting the competitor's program T test a number of reference
383 programs P, each with zero or more known errors.
385 * Resource Limited: The task involves additional constraints (apart
387 memory, several memories with varying access costs, or restricted
388 operators (e.g. no multiplication or no more than a give number).
389 This can be simulated with a library, but may also involve special
390 pre-processing (to enforce the constraints before execution) or a
391 special environment in which to run programs (to monitor constraints
392 during execution).
395 that plays a game. During grading, all programs play against each
396 other (and possibly some reference programs) in a tournament.
397 The score (also) depends on the game outcomes.
399 COMPETITION RULES: These are dealt with separately. Also consult
403 description of the (new) task types and the Competition Rules prior to
404 arriving at the IOIn venue. They have even had an opportunity to pose
405 questions about them. Nevertheless, it is good to provide a brief
406 introduction into the whole IOIn Competition. Questions whose
407 answers are needed for practicing must be handled in this meeting.
408 Other questions should be postponed until the 2nd GA Meeting after
409 the first practicing has taken place.
411 PRACTICE COMPETITION: Past IOIs have usually offered some opportunity
413 the computer, its operating system, and the programming environment.
414 The First Competition Round has always been the first time that everything
415 comes together. Consequently, the First Competition Round has often been
416 hampered by various troubles, mostly occurring in the competition proper