The next three books give a good impression of the breadth of the computing field. These books make excellent reading material. They are neither real textbooks (though some courses have been taught from them) nor real reference works (though you can easily find a lot of basic things in them). They show the "real thing" and do require a persistent mind.

There are not many bundles of programming problems in the IOI style.The following book collects 112 of the the most fun, exciting and interesting problems from the Universidad de Valladolid (UVa) programming contest judge. These problems are organized by topic, with complete tutorial material in the relevant algorithmics and mathematics to give you a better chance to solve them. You can also submit solution at a dedicated website.

This book explains fundamental algorithm design techniques, illustrated by practical examples (including some enlightening War Stories), and it provides a catalog of algorithmic problems together with efficient solutions. There are numerous challenging exercises that make good preparation material for programming contests. The book includes a CD-ROM with a complete hypertext version of the book (great for following the many cross references), implementations (such as the entire Stony Brook Algorithm Repository), and 30 hours of audio lectures on algorithms.

Of course, the bible of computer programming still is

The Art of Computer Programming. Donald E. Knuth. Addison-Wesley

These volumes are highly recommended to people putting together problem sets.

Need more info?

Beginners

Not sure where to go? Click here to view some basic information on how to learn programming and prepare to win a medal at the IOI.

Statistics

A couple of volunteers maintain a separate page with stats about people who participated at the International Olympiad in Informatics.

Journal

The IOI publishes a journal every year, with original high-quality scientific papers related to education, contests and algorithms.

About

The IOI is one of five international science olympiads. The primary goal of the IOI is to stimulate interest in informatics (computing science) and information technology.

Another important goal is to bring together exceptionally talented pupils from various countries and to have them share scientific and cultural experiences.