Recommended Reading

A nice and gentle introduction into the world of computers is (also see book review by Peter G. Neumann in ACM SIGSOFT Software Engineering Notes 10(2):23-27 (April 1985)):

A smooth introduction to computer science, including programming, is 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.

The following book presents the problems (and solutions) that were devised for a series of high-school competitions held from 1977 to 1987 in Slovenia.

A bundle of 965 problems on the design, verification, and analysis of algorithms is:

A good introductory textbook on algorithms is: A modern but less comprehensive introduction is: An excellent overview of practical algorithms and their design is: 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.

A concise, to-the-point book that addresses IOI-like programming issues in a way hardly found elsewhere:

Somewhat older, but quite practical, algorithm textbooks are Of course, the bible of computer programming still is These volumes are highly recommended to people putting together problem sets. [ Book review of The Art of Computer Programming ]

Some more specialized, but easily accessible, programming books are:

A book that invites you to have fun with graphs: The programs and files from The Stanford GraphBase book are available for anonymous ftp.

'Bedside' Informatics Literature

Here follow some references to books that may not directly improve performance at the IOI, but that put informatics and its players into a broader perspective. (The references are ordered alphabetically on author.)

Strictly speaking the following books are not about informatics at all. But they are written with inspiring enthusiasm about interesting topics, and informatics does play a role.