Training / Preparation

Things to do to prepare for a contest - some suggestions!

  • Study algorithms - this is more important than programming skills.
  • Find a good coach, someone who will organise training sessions.
  • Talk to students who have competed before.
  • Look at previous problems. Do several practice contests -- utilize online judging sites.
  • Make sure you are familiar with the information for participating teams, and with the judging software (DOM Judge).


This is a collection of resources found on the Internet when searching for information used for preparing teams, for alternative contests and for any research. If you have a worthwhile resource please contact the  This email address is being protected from spambots. You need JavaScript enabled to view it. .


Top Coder

Thousands of programmers log onto the TopCoder Web site and race to solve three programming problems. The payoff for two hours of concentration: sharper skills, a chance to raise one's profile in the job market and, oh yes -- cash.


ACM Crossroads Site


" After analyzing previous contest programming problems, we noticed that the same kind of problems occurred over and over again. They can be classified into five main categories:

  1. Search problems. These involve checking a large number of situations in order to find the best way or the number of ways in which something can be done. The difficulty is often the imposed execution time limit, so you should pay attention to the complexity of your algorithm.
  2. Graph problems. The problems have a special structure so they can be represented as a graph-theoretical problem for which standard algorithms are available.
  3. Geometrical problems. These involve geometrical shapes, lines, and angles.
  4. Trivial problems. The choice of appropriate algorithm is clear, but these usually take quite a long time to program carefully.
  5. Non-standard problems.

For the first three categories, standard algorithms are well documented in the literature, and you should program these algorithms beforehand and take the listings with you to the contest. In this way, you can avoid making the same (small) mistakes repeatedly and you can concentrate on the difficult aspects of the problem."


Page with lots of links to programming contests and problems.


Team Work Suggestions

Site gives suggestions for working as a team.


An experimental Class Preparing Students for Programming Contests

Paper by Jenq-Foung (J.F.) Yao, Ph.D.

Conclusion from the paper:

"The results of the class were remarkable. Students had become enthusiastic about programming contests. One of the problems we had previously was that students were not interested in any programming contest at all. This special class really stimulated our students' interest in programming contests."

Read the full paper.


Links suggested by contestants:

USA Computing Olympiad

Australian Informatics Training