The Alberta Collegiate Programming Contest (ACPC) is an opportunity for university and college students in Alberta to excel in a programming competition.

Students will test their aptitude and their knowledge of computer science against a set of programming puzzles requiring problem-solving, programming, math, and teamwork skills. Teams are ranked according to the number of problems solved within five hours. The event will begin on October 15th with a warm-up practice, followed by a five-hour competition to decide the winners.

The ACPC is sponsored by Arcurve who provides a platform for the next generation of computing professionals to pursue excellence. Kattis has graciously sponsored the judging platform.

Prizes Sponsored by
Division 1
First Place $1500
Second Place $750
Third Place $450
Division 2
First Place $300
Second Place $150

Anyone is welcome to compete.

In order to be eligible for prizes, you must be:

  • Enrolled in a post-secondary institution in Alberta as an undergraduate
  • In a team of up to three members
  • Participating in the same division as everyone else on your team
  • Meet all of the requirements specified in the 2016 ICPC eligibility checklist
  • (Extra requirement for Division 2) Students who have not taken a data structures course, e.g. CPSC 319/331


Register here. The registration deadline is at 11:30pm on Wednesday, October 12th.

Time and Location

The contest is set for Saturday, October 15th, 2016.

In Calgary, the contest will be held in the CPSC lab on the main floor of the Math Science building at the University of Calgary. Please check with your instructors for your designated competition area in your respective university.

10:30 - 11:00 Coffee is served! Pre-contest presentation in ICT 122

11:00 - 11:45 Practice Contest in the CPSC lab

11:15 - 12:00 Lunch will be served

12:00 - 17:00 Official Contest

17:00 Award Ceremony and Closing Presentation in ICT 122

Cities in Alberta other than Calgary will have their own designated contest location, and teams outside of Alberta will compete remotely as guests from a location of their choice.

Contest Details & Rules

Teams of up to three students enrolled in an Albertan educational institution, meeting the criteria linked to in the "Eligibility" section above may compete for prizes. Teams not meeting these requirements may participate as guests. The contest is free of charge for entry; lunch will be provided to official competitors at the Calgary location.

The contest itself is a collection of 5-10 problems to be solved using C, C++, Java, Python, or Haskell. Team rankings are decided first by number of problems solved, and second by time taken to solve.

During the contest, the following rules are in effect:

  • Each team has access to exactly one computer, to be used for writing, testing, and submitting code solutions
  • Internet/network access is restricted to standard library and language documentation, the contest website, and the I/O cheat-sheet (linked below)
  • Teams have unlimited access to written material such as textbooks, notes, and printed example code
  • Use of electronic devices other than the computer is strictly prohibited
  • Teams are ranked according to which has solved the most problems, with ties broken by time taken to solve

You will be provided with a printed copy of the problem set.

You will need a login and a password provided by the organizers to access the contest and practice contest; the main contest will start at 12:00 noon MDT on Saturday, October 15th. The practice contest starts one hour before the main contest and will last 45 minutes. Participation in the practice is optional but recommended for new competitors.

Permissible Internet resources:

Preparation & Strategy

If you want a leg up on the competition, there are some preparation opportunities available:

  • In Calgary, the Problem Solving Club meets every Wednesday from 18:00 - 21:00 in MS 160 for coaching & practice
  • The UVa Online Judge contains many programming puzzles for self-directed practice
  • The first hour of the event will include a short practice competition

Some time-tested strategies for during the competition:

  • Read all the problems, identify the easy ones, and solve them first
  • If you're having trouble identifying easy problems, look at the scoreboard to see what others are solving
  • Computer time is very valuable, so sketch out your program on paper before coding it (unless it's trivially simple)
  • Debugging a program on paper is more effective than sticking print statements everywhere, 99% of the time
  • Come up with your own test cases for your program, especially edge cases

Organized by the Problem Solving Club.

Follow Arcurve on Twitter!

Official ACM ICPC Website