1 Title : Guidelines for IOI Competitions
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
8
9 NOTES
10 -----
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.
17
18 Currently, no procedures have been established for approving and
19 changing these Guidelines, and for deciding on the mandatory use of
20 these Guidelines after IOI2000.
21
22 The following three words are used with a special meaning in these
23 Guidelines:
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.
30
31 Aim
32 ---
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.
39
40 Organizing an IOI competition is a big challenge. Using a set of
41 written guidelines and refining these over the years, will help ensure a
42 high-quality competition that can develop and improve continuously.
43
44 These Guidelines are based on experience gained at past IOI
45 competitions and similar events, and on best practices in Computing
46 Science and Software Engineering.
47
48 These Guidelines focus on the competition part of the IOI. They do not
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.
52
53 The intended readership consists of all IOI Scientific Committee (SC)
54 members, all Host SC members, and Host Team managers. Delegation
55 leaders may also find some of the information useful when preparing for
56 an IOI.
57
58 Also consult the IOI Regulations.
59
60 List of Abbreviations
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
73
74 Glossary
75 --------
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, ...).
81
82 COMPETITION: Several interpretations will be distinguished:
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
86 Competition".
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
94 unlikely.
95
96 COMPETITION DAY: A day at IOIn when a competition proper takes place,
97 that is, when the competitors compete by working on Competition Tasks.
98
99 COMPETITION MANAGER (CM): The person who is responsible for managing
100 the Competition Committee, in particular, its organizational aspects.
101 In most cases, the chair of the IOIn Host SC will act as IOIn CM.
102
103 COMPETITION MATERIAL: Several interpretations will be distinguished:
104 * All the information relevant to the IOIn Competition, whether
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
115 Guidelines.
116
117 COMPETITION OFFICIAL: Any person involved in executing the IOIn
118 Competition, and recognizable as such (special badge, clothing).
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
126
127 COMPETITION ROUND: One of the two Competition Rounds that take place at
128 IOIn. The Competition Rounds have the same structure:
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.
137
138 Confusingly, a term like "First Competition Day" is sometimes (but not
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.
146
147 COMPETITION SITE: The location with workplaces at IOIn where each
148 competition proper takes place, that is, where competitors compete by
149 working on the Competition Tasks. The Competition Site includes rooms
150 with support equipment (such as servers, printers, ...).
151
152 COMPETITION TASK: A task in the IOIn Competition that the competitors
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.
157
158 GRADING: The process of evaluating the work submitted by the competitors
159 and then awarding points, with the intent to rank the competitors for
160 awarding medals.
161
162 INPUT VALIDATOR: A program that determines whether a file or set of
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.
174
175 IOIn COMPETITION: All the activities and events that take place at IOIn
176 concerning the competition part, including:
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
182
183 IOIn COMPETITION COMMITTEE (CC): The group of persons who are organizing
184 an IOIn Competition. The IOIn CC includes persons from the IOI SC and
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).
188
189 LANGUAGE BARRIER: The impossibility of communicating with all IOI
190 competitors using a single natural language. The language barrier needs
191 to be crossed in BOTH directions:
192 * TO the competitors, when presenting the competition material and
193 results;
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.
199
200 OUTPUT CHECKER: A program that determines whether a file or set of files
201 is correct output for (satisfies the postcondition of) a Competition
202 Task and one input instance (consisting of one or more input files).
203
204 If the task is deterministic, that is, the input uniquely determines the
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.
209
210 In case of nondeterministic tasks, the output checker will be task
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.
217
218 Overview
219 --------
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:
223
224 Project Plan
225 Progress Reports
226 Evaluation Report
227 Staff
228 Deliverables
229 Competition Rules
230 Schedule
231 Configuration Management
232 Confidentiality
233 Competition Accommodations
234
235 In the Appendix, there are some checklists and templates. Stylistic
236 conventions in these Guidelines are summarized at the very end.
237
238 Format of the Competition at IOIn
239 ------ -- --- ----------- -- ----
240 The IOI Regulations provide some information about the IOI Competition.
241 In particular, the following sections of the Statutes are relevant:
242
243 * S4.7 about the Host Scientific Committee
244 * S4.8 about the General Assembly (GA)
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
250
251 However, this information is rather limited and, in many cases, leaves
252 too much to the imagination. The Competition Procedures and Judging
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
259 information.
260
261 The following description is not intended to define the IOI Competition
262 format once and for all. The possibility for change remains
263 desirable. A described format will help focus the discussion about
264 such change.
265
266 According to the IOI Regulations, the IOIn Host Scientific Committee is
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.
272
273 In these Guidelines, we will speak of the group of persons who are
274 actually organizing the IOIn Competition as the "IOIn CC" (CC=
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.
278
279 In chronological order, the main events that concern the participating
280 delegations of the IOIn Competition are as follows:
281
282 * Announcement of the TYPES of Competition Tasks for IOIn, especially
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
288 e-mail
289
290 * Arrival at the IOIn venue
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
296
297 * 3rd GA meeting: Competition Tasks for the First Competition
298 are presented and subsequently translated
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
302
303 * 5th GA meeting: Competition Tasks for the Second Competition
304 are presented and subsequently translated
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
308
309 * 7th GA meeting: Finalize combined results of both competitions,
310 decide on medal distribution
311 * IOIn Evaluation Questionnaire
312 * Awards Ceremony, published results and solutions
313 * Departure from IOIn venue
314
315 Here is a summary: Detailed information is disclosed prior to IOIn. At
316 IOIn there is some introductory activity, followed by two identically
317 structured Competition Rounds. Everything is closed off by distributing
318 awards and solutions.
319
320 Some of these items are elaborated below. These descriptions are
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
324 helpful.
325
326 TYPES OF COMPETITION TASKS: Traditionally, the IOI Competition Tasks
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.
332
333 Currently, four types of programming tasks can be distinguished:
334
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.
339
340 * Modern Batch: As classic batch, but input is from one or more text
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.
344
345 * Standard I/O Reactive: Input and output are through standard I/O
346 text streams, where input may depend on prior output, that is,
347 there is a dialog between the program and an environment.
348 Introduced at IOI'95.
349
350 * Library Reactive: Input and output occur through a well-defined
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.
354
355 Traditionally, each run concerns a single problem instance. However, as
356 pointed out below under grading, it may be necessary to have programs
357 deal with multiple instances per run in the future.
358
359 The tasks should be such that clever competitors can decide by reasoning
360 that their submissions fulfill the stated requirements. This excludes
361 tasks that require submission of programs involving heuristics or hidden
362 features of the actual input data used for grading.
363
364 Here are four suggestions for new task types:
365
366 * Non-Secret Input: All competitors receive the same set of input cases
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.
371
372 The task may involve heuristics, and it may be necessary to develop
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.
376
377 * Testing: The task is to develop a program T that tests another
378 program P, by confronting P with a set of input cases and
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.
384
385 * Resource Limited: The task involves additional constraints (apart
386 from those "naturally" imposed by the equipment), such as very little
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).
393
394 * Tournament: The task involves the development of a reactive program
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.
398
399 COMPETITION RULES: These are dealt with separately. Also consult
400 Competition Rules of past IOIs.
401
402 1ST GA MEETING (INTRODUCTION): Delegations will have received the
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.
410
411 PRACTICE COMPETITION: Past IOIs have usually offered some opportunity
412 for the competitors to practice with the competition equipment, especially
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
Share with your friends: |