ICPC logo

ACM International Collegiate Programming Contest

About the ACM ICPC

The ACM International Collegiate Programming Contest (ICPC) is a multitier, team-based, programming competition. The contest involves a global network of universities hosting regional competitions that advance teams to the ACM ICPC World Finals. Participation has grown to over 40 000 of the finest students and faculty in computing disciplines at almost 2000 universities from over 80 countries on six continents. The contest fosters creativity, teamwork, and innovation in building new software programs, and enables students to test their ability to perform under pressure. Quite simply, it is the oldest, largest, and most prestigious programming contest in the world.

For problems, standings and more information on past regionals: 2005 2006 2008 2009 2010 2011 2012 2013 2014 2015


Regional contest at UCT

UCT won the Southern African regional contest of the ICPC every year from 2002 to 2015, except for 2010. For more details of the UCT teams, see the history page.

In 2015, we had 7 official teams from UCT for the Southern Africa regional contest at the UCT site, scooping 1st, 3rd-5th, 12th, 13th, and 16th place. Joining us on-site were 5 teams from Stellenbosch. An overall of 71 teams from Sub-Saharan Africa participated in the Regionals.

The photo on the right shows what the lab looked like during the 2012 Regionals.


The 2016 regional will be held on Saturday 15 October. A draft schedule is available here (the final version will be similar to it).


Note: the registration deadline is 8 October 2016.

UCT students can register by contacting the Competitions Coordinator (Dr. M. Keet), while other students in Southern Africa should visit the regional website for details on how to register. Please note that there are strict eligibility rules (details are on the ICPC rules page).

If you are unsure about your eligibility please email the Competitions Coordinator. Generally, if you have been studying in the field of Computer Science or a similar field (e.g. Mathematics) for less than 5 full years, we are usually able to make a successful petition.


  1. There was an information session introducing the programme on 29 July 2016, at 1pm in LT 302. Read the slides for this year's information.
  2. Training sessions for 2016 will be in room LT303 in the Computer Science building, from 10:00-16:00, on the following dates (subject to change):
  3. Announcements used to be made on the contests mailing list, but have been moved to the contest vula that also has some more resources
  4. To contact the UCT organisers, use contest-admins@algorithm.cs.uct.ac.za or (for better response times) the competitions coordinator at UCT (Dr. Maria Keet).
Links to the training material from 2014:


You don't just rock up on the day of the ACM and expect to win. Those that have excelled and represented UCT at the international level earned their place through rigorous training. As we gain momentum so there become more and more top students ready to jump at the opportunity of helping others. There is a training program that is run by the coordinator and previous contestants. It consists of teams gathering in the labs to tackle problems together, covering different problem solving paradigms and classes of algorithms adn data structures.

There may also be pizza involved.

To find out when training sessions are happening, subscribe to the communication channels above.

If you want to do additional training on your own (highly recommended if you're serious about winning), then the ICPC live archive and the UVa online judge are very good resources for trying out problems from other regions, or start with codeforces. Note: we will be using previous South African regional problems for the organised training, so it's best if you avoid looking at those problems on your own.