NB: Please see the entry requirements for the Final Round as this may affect how the First Round is run *


  1. The Programming Olympiad is open to all full-time school learners in South Africa.
    Although the questions are designed for high school learners, primary school learners are welcome to participate.
  2. Post-matrics and learners from outside South Africa are welcome to enter as unofficial participants.
  3.  A school may enter as many participants as they please.
  4. Participants may use any programming language recognised as such. (See rules for the Final Round below)
  5. A school may participate on any day at any time during the week of the First Round of the Programming Olympiad between 06:00 and 18:00.
  6. The competition must run over any unbroken one-hour period during the competition week. A two hour and 20-minutewindow period is allowed for separate groups.
  7. The test conditions are the same as for any IT practical matric examination. A teacher must supervise.
  8. There is no charge, entry is free.


  1. For the Second Round a cut-off is decided each year after Round 1, schools will be notified.
  2. There is no charge: entry is free.
  3. Participants have to use one of the following languages: C++, Delphi, Java, Pascal and Python. (See Rules for the final round below)
  4. Participants have to take part on the designated date between 06:00 and 18:00.
  5. The test conditions are the same as for the IT practical matric exam. A teacher must supervise.
  6. Provinicial Certificates: Certificates to the deserving number 1, 2 and 3 in each province given that they score above a certain minimum.


  1. In order to qualify for the Final Round a candidate has to
  • use one of the following languages in the Second Final: C++, Delphi, Java, Pascal and Python.
  • write the Second Round on the official competition day.
  • have their programs submitted electronically to info@olympiad.org.za by the time specified by the organisers
  • be among the best 10 to approx. 20 candidates from the Second Round
  1. The Final Round will be held at a central venue where:
  • Each participant will be given access to a computer.
  • The Computer Olympiad office will arrange and pay for flights, accommodation, meals and refreshments.
  • Participants will have a choice of a limited range of computer languages (C++, Java, Pascal and Python) which are suitable for algorithmic problem-solving.
  1. The contest stretches over two days. Each day the candidates will be given a number of problems to solve in the allotted five hours.
  2. Evaluation is automated.
  3. The test conditions are the same as for the International Olympiad in Informatics.

AWARDS FUNCTION 10 October 2022

Each participant receives a certificate, that may help when applying for university scholarships or bursaries.

The winning participants receive medals and cash awards. In addition, their schools receive cash awards for the purchase of hardware or software.














6 Bronze    



Who may participate? The top participants from the Final Round of the Programming Olympiad are invited to training camps to prepare them for the IOI. Four of them are eventually selected to represent South Africa at the IOI in the year after they are finalists. The team is accompanied by two team leaders.

Requirements: The IOI is a competition that brings together participants from different countries of the world. These participants should have a proven, outstanding ability to solve problems by writing appropriate computer programs in C++, Java, Pascal, or Python..

Location: Every year a different country hosts the competition – usually over a period of seven or more days. Only two days are devoted to the competition itself, the other days are spent exploring the host country and becoming acquainted with each other.

Gold, Silver and Bronze medals
Certificates of participation
Gifts and other prizes