\documentclass[a4paper,11pt,oneside]{article}
\newcommand{\B}{\bfseries}
\newcommand{\F}{\mathbb{F}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\id}[1]{\textit{#1}}
\newcommand{\Set}[1]{\{\,#1\,\}}
\newcommand{\CC}[1]{\textsf{\small #1}}% to quote from Computing Curricula 2001
\newcommand{\La}{{\small$\heartsuit$}~}%{$\odot$~}%{\fbox{\tiny\B 1}~}
\newcommand{\Lb}{{\small$\triangle$}~}%{$\ominus$~}%{\fbox{\tiny\B 2}~}
\newcommand{\Lc}{{\small$\ominus$}~}%{{$\otimes$}~}%{\fbox{\tiny\B 3}~}
\newdimen\digitwidth\setbox0=\hbox{\rm0}\digitwidth\wd0
%  include \def~{\kern\digitwidth} within environment, so that ~ can be used
%  as digit-wide space
\newcommand{\DRAFT}{ -- Version 1.2}
\pagestyle{myheadings}
\textwidth 126.34 mm
\textheight 189.55 mm
\parindent 20 pt
\parskip 0 pt
\markboth{\sc The IOI Syllabus background\DRAFT}{\sc The IOI Syllabus background\DRAFT}
\begin{document}
\title{The International Olympiad in Informatics Syllabus \\ (Background information)}
\maketitle

\section{Authors}

The original proposal of the IOI Syllabus was co-authored by 
Tom Verhoeff\footnote{Technische Universiteit Eindhoven, The Netherlands,
\texttt{T.Verhoeff@TUE.NL}},
Gyula Horv\'ath\footnote{University of Szeged, Hungary, \texttt{horvath@inf.u-szeged.hu}},
Krzysztof Diks\footnote{Warsaw University, Poland, \texttt{diks@mimuw.edu.pl}}, and
Gordon Cormack\footnote{University of Waterloo, Canada, \texttt{gvcormac@uwaterloo.ca}}.

The current maintainer of the Syllabus is 
Michal Fori\v sek\footnote{Comenius University, Slovakia, \texttt{forisek@dcs.fmph.uniba.sk}}.

The Syllabus evolves thanks to input from the IOI community. The following people 
helped to evolve the Syllabus by sending in their feedback:
Paul Ashton (NZL),
Thomas Barnet-Lamb (GBR), 
Giorgio Casadei (ITA),
Brian Dean (USA),
Richard Forster (GBR), 
Sergejs Kozlovics (LVA),
Martins Opmanis (LVA)
Pavel Pankov (KGZ),
Margot Phillipps (NZL),
Peter Taylor (AUS),
Velin K. Tzanov (BGR),
and
Troy Vasiga (CAN).

\section {Other International Science Olympiads} % {{{
\label{sec:other}

This section contains an overview of how 
other Science Olympiads handle the Syllabus issue.

The international olympiads in physics~(IPhO~\cite{ipho}),
chemistry (IChO~\cite{icho}), and biology (IBO~\cite{ibo}) have officially defined syllabi,
somehow connected to their regulations.
On the other hand,
the International Mathematical Olympiad (IMO~\cite{imo})
does not have an official syllabus,
and this has been a deliberate decision.
It appears that the younger international olympiads in
astronomy (IAO~\cite{iao}), geography (IGeO~\cite{igeo}), and linguistics (ILO~\cite{ilo})
do not have an official syllabus.

\subsection{International Mathematical Olympiad (IMO)}

\noindent
The ``General Regulations for an IMO'' state in C1:
\begin{quote}
``The problems should, if possible,
cover various fields of pre-university mathematics and
be of different degrees of difficulty.''
\end{quote}
In current IMO practice,
only four general topics occur:
%\begin{itemize}
%\item 
  Geometry,
%\item 
  Number Theory,
%\item
  Algebra,
%\item
  Combinatorics.
%\end{itemize}
(This is not an official policy.)
Note that these topics are often not covered extensively (if at all)
by mathematics curricula for secondary education in many countries.

\subsection{International Physics Olympiad (IPhO)}

\noindent
The IPhO Statutes state in~\S5:
\begin{quote}
``The theoretical problems should involve at least four areas of physics
taught at secondary school level, (see Syllabus).
Secondary school students should be able to solve the competition problems
with standard high school mathematics and without extensive numerical calculation.''
\end{quote}
And the IPhO Regulations to~\S5 state:
\begin{quote}
``The examination topics should require creative thinking and knowledge
contained within the Syllabus.
Factual knowledge from outside the Syllabus may be introduced
provided it is explained using concepts within the Syllabus.''
\end{quote}
The IPhO Syllabus seems to cover all physics generally taught in secondary education.
The \emph{Theoretical Part\/} is divided into 11~subfields:
%The Theoretical Part deals with:
%\begin{enumerate}
%\item
  Mechanics,
%\item
  Mechanics of Rigid Bodies,
%\item
  Hydromechanics,
%\item
  Thermodynamics and Molecular Physics,
%\item
  Oscillations and Waves,
%\item
  Electric Charge and Electric Field,
%\item
  Current and Magnetic Field,
%\item
  Electromagnetic Waves,
%\item
  Quantum Physics,
%\item
  Relativity,
%\item
  Matter.
%\end{enumerate}
The \emph{Practical Part\/} elaborates on
measurement, instruments, errors, approximation and curve fitting,
graphing, and safety in laboratory work.

\subsection{International Chemistry Olympiad (IChO)}

The IChO Syllabus classifies topics on three levels:
\begin{description}
\item[Level~1]
  These topics are included in the overwhelming majority of secondary school chemistry programs
  and need not to be mentioned in the preparatory problems.
\item[Level 2]
 These topics are included in a substantial number of secondary school programs
 and maybe used without exemplification in the preparatory problems.
\item[Level 3]
 These topics are not included in the majority of secondary school programs
 and can only be used in the competition if examples are given in the preparatory problems.
\end{description}
The IChO Regulations state in~\S10 item~(3):
\begin{quote}
``The organizer cannot give theoretical problems of level~3 (Appendix~C)
from more than 3~fields and
a minimum of 6~tasks should be presented in the set of preparatory problems from each field.
Subjects assigned to level~3 can be classified as level~2
if sufficient background is included in the formulation of the problem
(e.g.\ formulas, graphs, structures, equations).''
\end{quote}
Also the IChO Syllabus seems to cover all chemistry generally taught in secondary education.
The general part of the (new) syllabus is divided into 12 subfields (10~pages in total):
%\begin{enumerate}
%\item
  The atom,
%\item
  Chemical bonding,
%\item
  Chemical calculations,
%\item
  Periodic trends,
%\item
  Inorganic chemistry,
%\item
  Physical chemistry,
%\item
  Chemical kinetics,
%\item
  Spectroscopy,
%\item
  Organic chemistry,
%\item
  Polymers,
%\item
  Biochemistry,
%\item
  Analytical chemistry.
%\end{enumerate}
A major part of the syllabus is devoted to safety and the handling and disposal of chemicals.
The \emph{Syllabus for the experimental part of the IChO competition\/} covers:
%\begin{enumerate}
%\item
  Synthesis of inorganic and organic compounds,
%\item
  Identification of inorganic and organic compounds (general principles),
%\item
  Determination of some inorganic and organic compounds (general principles),
%\item
  Special measurements and procedures,
%\item
  Evaluation of results.
%\end{enumerate}

\subsection{International Biology Olympiad (IBO)}

\noindent
The IBO Rules state in~\S4.1, concerning the selection of topics for the competition:
\begin{quote}
``All disciplines of biology are acceptable for the IBO.''
\end{quote}
In Appendix~I,
it is stated that ``the Theoretical test [\ldots] should cover the following
7~topics in the indicated proportions'':
%\begin{enumerate}
%\item
  Cell biology~(20\%),
%\item
  Plant anatomy and physiology~(15\%),
%\item
  Animal anatomy and physiology~(25\%),
%\item
  Ethology~(5\%),
%\item
  Genetics and Evolution~(20\%),
%\item
  Ecology~(10\%),
%\item
  Biosystematics~(5\%).
%\end{enumerate}
Each of these topic areas is described in more detail (8~pages in total).
The section on \emph{Basic Skills for the Practical Part of the IBO\/}
covers such things as science process skills,
basic biological skills, biological methods,
physical and chemical methods, microbiological methods,
statistical methods, and handling of equipment.

% }}}
\section {Purpose and Motivation for an IOI Syllabus} % {{{
\label{sec:purpose}

One of the main objectives of the IOI is
``to bring the discipline of informatics to the attention of young people''
(Statute~S1.7 from the IOI Regulations).
The olympiads in mathematics, physics, chemistry, biology, and geography
are in the fortunate position that these sciences are regular exam topics
in secondary education in most countries.
Informatics, however, is not in this position.
And even if it is, the topics of algorithmics and programming often receive
minimal attention.

Algorithmics and programming were chosen as the main topics for the IOI competition;
these were the only areas for which a sufficient number of self-taught
contestants could be found.
The wide availability of personal computers with easily accessible
programming tools has helped create this situation.
These areas are, in addition, fundamental to computing science.

Over the years,
the difficulty level of IOI competition tasks has increased considerably.
Among the best contestants,
performance has certainly improved to warrant some increase in difficulty.
But this improvement is not so much manifested by the `average' contestant.
In part, this disparity may be attributed to the lack of systematic education 
in computing science.

An IOI Syllabus would benefit:
\begin{itemize}
\item candidate IOI contestants,
\item coaches of IOI contestants,
\item teachers of computing science in secondary education,
\item developers of curricula in computing science for secondary education,
\item authors of computing science textbooks for secondary education,
\item creators of competition tasks for the IOI and similar competitions,
\item organizers of computing competitions,
\item interested outsiders.
\end{itemize}
We must also point out possible dangers in having an official IOI Syllabus.
Such a syllabus could easily obtain the status of a dogmatic standard.
Any attempt to step outside the scope of the syllabus could be blindly suppressed,
thereby stifling innovation.
The process of deciding about the appropriateness of candidate competition tasks
could be paralyzed by time-consuming discussions about the syllabus.
Coaches and contestants could be misled to believe that knowing what is in the syllabus
will guarantee some success in the competition.

In view of these dangers,
the syllabus must contain information concerning its proper use,
must be flexible, and must include a mechanism for its ongoing revision.

Finally, there are a number of challenges in composing an IOI Syllabus,
such as
%\begin{itemize}
%\item
  obtaining sufficient consensus on form and content,
%\item
  ensuring clarity and precision (a single interpretation), and
%\item
  ensuring sufficient completeness.
%\end{itemize}
We hope that this article will help address these challenges.

% }}} 
\section {Roles of Mathematics in Computing Science} % {{{
\label{sec:mathematics}

It is important to understand the various roles that mathematics plays in computing science.
These roles are often confused, especially in secondary education.
One can distinguish the following roles of mathematics in computing science:
\begin{enumerate}
\item \emph{As a problem domain}.
  For example, design an algorithm to compute
  the greatest common divisor of positive integers~$A$ and~$B$.
\item \emph{As a language to express formalized models},
  both in the problem analysis and the solution domain.
  For example, a street network can be modeled as a directed graph.
\item \emph{As a language to reason about models}.
  For example, if a graph has no cycles,
  then one can draw the conclusion that it has fewer edges than vertices.
\item \emph{As a language to reason about computations, algorithms and data structures,
  and their implementation\/};
  in particular, to reason about functional correctness, termination, and efficiency.
  For example, the binary search algorithm applied to an array of~$N$ elements,
  terminates in $\mathcal{O}(\log N)$ steps.
\end{enumerate}
Note that the second and third roles
(concerning the formulation of and reasoning about models)
are present in most branches of science.
The type of mathematical models depends to some extent on the science in question.
For instance, group theory (to study symmetry), differential equations, numerical analysis,
probability theory and statistics are more relevant in the natural sciences.
Logic and discrete models involving combinatorial structures
are more relevant in computing science.

The first and last role (as problem domain and for reasoning about computations)
are more specific to computing science.
Mathematical knowledge concerning the first role (as problem domain) could be avoided
by allowing only competition tasks that involve non-mathematical problem domains.
However, such a restriction would be unrealistic:
\begin{itemize}
\item
  There are few non-mathematical domains that all IOI contestants can be expected
  to know well enough.
  Such knowledge is often difficult to present
  succinctly and clearly as part of the problem statement
  in an attempt to compensate for deficiencies.
\item
  Mathematics as a problem domain has the advantage that it allows very
  compact and precise problem statements.
  Furthermore, a rich problem domain is available through elementary mathematics,
  which should be well within reach of students from secondary education.
\item
  Mathematics in the second role (to express models) is indispensable
  for the development of algorithmic solutions,
  even when dealing with algorithmic problems from a non-mathematical domain.
  There is a significant overlap between mathematics in the first and second role.
\end{itemize}
Mathematical knowledge in the first and second role mostly concerns
concepts, terminology, and notations.
Verhoeff~\cite{verhoeff:04} presents a classification of elementary concepts, terminology,
and notations with respect to their usability in IOI competition tasks.
This classification could be used in an IOI Syllabus.
It should, however, be augmented with some relevant methods and techniques
to combine and apply these elementary notions.

Mathematical knowledge in both the third and fourth roles both concerns \emph{reasoning},
viz.\ about models and about computations.
This skill demands some familiarity with mathematical logic.
Contestants need the ability
\begin{itemize}
\item to express conjectures and theorems (even if only informally), and
\item to construct and understand logical deductions, applying theorems.
\end{itemize}
They are also expected to know certain (elementary) mathematical theorems.

Note that the mathematics in the fourth role (reasoning about computations) is most specific
to computing science, and is often not encountered in other branches of science.
Unfortunately, it tends to be underexposed in secondary education.

Any IOI Syllabus must clarify what mathematical knowledge is important in what roles.
However,
it should always be kept in mind that the IOI is an informatics competition
and not a math contest.
 
% }}}
\section {General Principles behind the Syllabus} % {{{
\label{sec:principles}

Our first principle is that we intend to capture
the current accepted IOI practice in the syllabus.
There may be reasons for changing the IOI and
they may become even clearer by writing a syllabus,
but it is not our goal to reform the IOI through the syllabus.

Because it does not seem to be documented anywhere,
we feel that a brief explanation is in order as to
why the IOI competition focuses on algorithmic problem solving and programming.
This narrow focus is similar to the IMO, and contrasts sharply with the IBO,
which strives for comprehensive coverage of the discipline.

The IOI competition is not meant to be an ordinary exam that tests
whether the participants have learned their lessons.
It is aimed at discovering and challenging talented pupils.
For this, it was decided that depth rather than breadth,
and innovative problems rather than standard exercises are of primary importance.
To minimize the advantage of having special prior knowledge,
the topics should be elementary and fundamental.

The reasons for requiring programmed implementations of algorithms are\footnote{%
Also see \S7.2 of~\cite{acm-ieee-cs-jctf:01}:
``Where does programming fit in the introductory curriculum''}:
\begin{itemize}
\item
  There is no standardized abstract algorithm notation suitable for use in the IOI.
  Programming languages have a well-defined syntax and semantics\footnote{%
  We refer to a semantics in terms of an abstract machine,
  rather than via a specific compiler.},
  and can stand in to express algorithms.
\item
  Pupils interested in computing typically know a popular programming language.
  It is easy to learn the basics of programming.
\item
  Implementing an algorithm as a computer program
  requires you to fill in all the gaps.
  You cannot afford to be vague anywhere.
\item
  Programs can be executed and thereby facilitate automated evaluation to some extent.
\item
  Producing a working program is a satisfactory experience.
  This is common to all engineering disciplines.
\item
  Programming is one of the fundamental topics of computing science.
\end{itemize}
Nevertheless,
the overwhelming details of modern computing platforms
(programming languages, programming tools, operating systems, system and processor architecture)
should not become an obstacle to success.

Currently, imperative programming languages are used in the IOI,
but the authors wish to point out that functional languages would
also be suitable for this purpose.


\subsection {The Broader Context of Algorithms}
\label{subsec:algorithms}

It is tempting simply to list various algorithms and data structures,
and underlying design techniques
that are relevant to the IOI competition.
Rather than collecting a large number of topics for an IOI Syllabus,
we find it more valuable to state some general principles to guide the inclusion and
exclusion of specific topics.

The decision about the relevance of a particular algorithm should be based not only
on how complicated the algorithm is when written in pseudocode.
It is important to distinguish
\begin{itemize}
\item how complicated an algorithm is (in a static sense) and
\item how advanced the reasoning behind the algorithm's design is,
  concerning correctness and/or efficiency\footnote{%
In current IOI practice,
algorithms are only assessed for
functional correctness and time/space efficiency,
and not for other qualities.}.
\end{itemize}
Here are some typical examples:
\begin{itemize}
\item The pseudocode for the \emph{Knuth-Morris-Pratt string search algorithm\/}
  is not complicated,
  but the reasoning behind its correctness is.
\item The \emph{linear median selection algorithm\/} by Blum et al.\ is not complicated,
  but the proof of its worst-case linear time efficiency is.
\item Hoare's \emph{Quicksort\/} is not a complicated algorithm,
  but the analysis of its average-case running time involves advanced mathematics.
\end{itemize}
Whether or not a specific algorithm is to be considered prerequisite IOI knowledge
should also be based on the (mathematical) techniques relevant for the underlying reasoning.

It is also important to distinguish
\begin{itemize}
\item how seemingly straightforward an algorithm is and
\item how demanding it can be to implement it as an actual correct and efficient computer program.
\end{itemize}
Again, an example may help:
\begin{itemize}
\item \emph{Kruskal's algorithm\/} for computing a minimum spanning tree is simple
  when expressed in terms of an abstract data type that maintains a partition of the nodes,
  but an efficient implementation of this data type is much more involved.
\item \emph{Algorithms for determining whether two line segments intersect\/}
  involve a careful case distinction,
  which can easily lead to hard-to-spot implementation errors.
%See e.g. The Algorithm Design Manual, Robust Geometric Primitives
\end{itemize}

It seems inappropriate to ask contestants to develop algorithms
that require advanced reasoning techniques to understand their correctness and/or efficiency,
even if the algorithms themselves are not complicated.

It may also not be a good idea to ask contestants to develop algorithms
whose implementation is intrinsically troublesome,
even if the abstract algorithm is not so complicated.
Keep in mind that the IOI is not just an implementation contest.

Thus, the required reasoning techniques and implementation techniques play
a fundamental role in selecting topics for the IOI Syllabus.


\subsection {Main Topic Areas for an IOI Syllabus}
\label{subsec:areas}

To organize the relevant topics we have consulted
the ACM curriculum models for college~\cite{acm-ieee-cs-jctf:01} and K--12~\cite{acm-k12-tfcc:03}.
The latter refers to, and is in part derived from, the former,
but the K--12 curriculum is too restrictive for our purposes.
We have chosen to use
the Computing Curricula (CC2001) topics of~\cite{acm-ieee-cs-jctf:01} as a basis
for our syllabus proposal.
Because CC2001 is aimed at university-level education,
it offers the required depth.
It also contains many topics that will not occur in the IOI competition.
However, we think that it is good to be able to point out explicitly
what further topics exist in computing and are not relevant for the IOI.

Taking a top-down view,
we arrive at the following main areas:
\begin{itemize}
\item Mathematics,
  in particular, Discrete Structures~(DS),
  but with small additions from number theory and geometry;
\item Computing Science,
  in particular, Programming Fundamentals~(PF),
  and Algorithms and Complexity~(AL);
\item Software Engineering,
  in particular, its application ``in the small'';
\item Computer Literacy,
  in particular, use of a computer for program development and other competition-related
  purposes (e.g.\ submitting files via a web browser, printing).
\end{itemize}
Some basic science and engineering skills and methods will be included
under Computing Science and under Software Engineering respectively.

% }}}
\section {Conclusion} % {{{
\label{sec:conclusion}
Contestants are well served when given clear, correct,
and timely guidelines as to what they may expect in a competition.
They are poorly served when unanticipated expectations are placed on them.
While no syllabus should be construed to supplant reason or discretion,
we advance the current proposal as a framework through which to make
the expectations on IOI contestants more clear.

The proposed syllabus provides a mechanism for contestants,
educators, and contest designers to achieve a better common
understanding of the skills and knowledge assumed of contestants.
Space does not permit a detailed rationale for every choice;
the authors have relied on their experience with
international competitions, an examination of past tasks, and an
analysis of benefits and drawbacks arising from the inclusion
or exclusion of certain concepts and techniques.
No doubt some of these choices are controversial --- we hope that the structure
we have presented will help to guide and focus the ensuing debate.

It is desirable to cite text books and other training materials 
that contestants and educators might use in preparation for the IOI.
None of which we are aware fits the syllabus perfectly; 
current materials would have to be used selectively so as
to be consistent with the syllabus.
A book covering a substantial fraction of the syllabus topics
is~\cite{clrs:01}.

Our immediate aim is that the IOI adopt a syllabus based on our proposal.
In the medium term, we seek to identify specific resource materials
supporting each of the included topics.
In the long term, we believe it is appropriate to develop and distribute
IOI-specific educational and training materials.

The authors wish to acknowledge the inspiration of
the IOI Workshop~\cite{pohl:06}.

% }}}

\begin{thebibliography}{99}

\bibitem%[ACM/IEEE-CS JCTF(2001)]
{acm-ieee-cs-jctf:01}
ACM/IEEE-CS Joint Curriculum Task Force.
\emph{Computing Curricula 2001: Computer Science Volume}.
December 2001.\\
{\small\verb"http://www.acm.org/sigcse/cc2001/"}

\bibitem%[ACM K--12 TFCC(2003)]
{acm-k12-tfcc:03}
ACM K--12 Task Force Curriculum Committee.
\emph{A Model Curriculum for K--12 Computer Science: Final Report}.
October 2003.\\
{\small\verb"http://www1.acm.org/education/k12/k12final1022.pdf"}

\bibitem%[Cormen et al.(2001)]
{clrs:01}
T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein.
\emph{Introduction to Algorithms}, 2nd Ed.
McGraw-Hill, 2001.

\bibitem%[Fenwick(1994)]
{fenwick:94}
P. Fenwick.
``A New Data Structure for Cumulative Frequency Tables'',
\emph{Software -- Practice And Experience},
\textbf{24}(3):327--336 (1994).

\bibitem%[Horv\'ath, Verhoeff(2002)]
{horvath-verhoeff:02}
G. Horv\'ath and T. Verhoeff.
``Finding the Median under IOI Conditions'',
\emph{Informatics in Education},
\textbf{1}(1):73--92 (2002).

\bibitem%[Horv\'ath, Verhoeff(2003)]
{horvath-verhoeff:03}
G. Horv\'ath and T. Verhoeff.
``Numerical Difficulties in Pre-University Education and Competitions'',
\emph{Informatics in Education},
\textbf{2}(1):21--38 (2003).

\bibitem%[IAO(2006)]
{iao}
IAO, \emph{International Astronomy Olympiad},
Internet WWW-site.\\
{\small\verb"http://www.issp.ac.ru/iao/"}
(accessed February~2006).

\bibitem%[IBO(2006)]
{ibo}
IBO, \emph{International Biology Olympiad},
Internet WWW-site.\\
{\small\verb"http://www.ibo-info.org/"}
(accessed February~2006).

\bibitem%[IChO(2006)]
{icho}
IChO, \emph{International Chemistry Olympiad},
Internet WWW-site.\\
{\small\verb"http://www.icho.sk/"}
(accessed February~2006).

\bibitem%[IGeO(2006)]
{igeo}
IGeO, \emph{International Geography Olympiad},
Internet WWW-site.\\
{\small\verb"http://www.geoolympiad.org/"}
(accessed February~2006).

\bibitem%[ILO(2006)]
{ilo}
ILO, \emph{International Linguistic Olympiad}.\\
Wikipedia:
{\scriptsize\verb"http://en.wikipedia.org/wiki/International_Linguistic_Olympiad"}
(accessed February~2006).

\bibitem%[IMO(2006)]
{imo}
IMO, \emph{International Mathematical Olympiad}.\\
Wikipedia:
{\scriptsize\verb"http://en.wikipedia.org/wiki/International_Mathematical_Olympiad"}
(accessed February~2006).

\bibitem%[IOI(2006)]
{ioi}
IOI,
\emph{International Olympiad in Informatics},
Internet WWW-site.\\
\verb"http://www.IOInformatics.org/"
(accessed February~2006).

\bibitem%[IPhO(2006)]
{ipho}
IPhO, \emph{International Physics Olympiad},
Internet WWW-site.\\
{\small\verb"http://www.jyu.fi/tdk/kastdk/olympiads/"}
(accessed February~2006).

\bibitem%[IOI(1989)]
{ioi89}
P. S. Kenderov and M. N. Maneva (Eds.).
\emph{Proceedings of the International Olympiad in Informatics},
Pravetz, Bulgaria, May 16--19, 1989.
Sofia: Union of the Mathematicians in Bulgaria, 1989.

\bibitem%[Pohl(2006)]
{pohl:06}
W. Pohl.
``Foreword'',
\emph{Informatics in Education},
\textbf{5}(1):3--4 (2006).

\bibitem%[Polya(1948)]
{polya:48}
G. Polya.
\emph{How to Solve It: A New Aspect of Mathematical Method}.
Princeton Univ.\ Press, 1948.

\bibitem%[Verhoeff(2004)]
{verhoeff:04}
T. Verhoeff.
\emph{Concepts, Terminology, and Notations for IOI Competition Tasks},
document presented at IOI 2004 in Athens,
12~Sep.~2004.\\
{\footnotesize\verb"http://scienceolympiads.org/ioi/sc/documents/terminology.pdf"}

\end{thebibliography}

\end{document}
% vim: fdm=marker

