Skip to the content of the web site.

CCC and Canadian Computing Olympiad Details

The Canadian Computing Competition (CCC) began in 1996 as a forum for high school students in Canada to learn about and enjoy aspects of programming. Top Senior contestants from the CCC are invited to attend the Canadian Computing Olympiad (CCO).

The Competitions

  • The CCC is written in schools using the CCC Online Grader. This is a 3 hour contest composed of 5 questions (either at the Junior or Senior Level). Teachers need to register in order for contests to be written in schools. There is no team competition.
  • CCO: Approximately 20 of the top Senior contestants from the CCC are invited to the CCO, held at the University of Waterloo, in the Spring. This week-long event involves workshops, two days of contests, as well as other extra-curricular activities.


  1. The results of both competitions are used to determine Canadian Team members who participate in the International Olympiad of Informatics (IOI), held in a different country every year.
  2. Selection of CCO contestants and of the Canadian IOI team members is at the discretion of the CEMC Executive.


All students must use the CCC Online Grader. The CCC Online Grader currently supports C, C++, Python (2.x and 3.x), Pascal, Java, Perl, and PHP.

CCO competitors must use Java, Pascal and/or C/C++.

While various languages are supported by the CCC Online Grader, it may not be possible in all cases to achieve a perfect score with a particular language choice (for example, Python or Java).


All students and teachers should familiarize themselves with the CCC Rules which encompass implementation details, submission limitations, provided feedback, scoring details and use of the Internet, references and other tools during the competition.

CCC Format

The CCC consists of two distinct papers: the Junior Division paper and the Senior Division paper. Each paper consists of 5 questions. Each question is worth 15 points. The range of difficulty increases from the first question to the last question on each paper.

More specifically, on the Junior Division paper:

Questions 1 and 2 Straightforward (e.g., basic loops and conditions)
Questions 3 and 4 More challenging (e.g. some combination of loops, conditions and counting)
Question 5 Some advanced material (e.g., recursion, efficient sorting, clever algorithms)

For the Senior Division paper:

Questions 1 and 2 Basic algorithms (e.g., sorting, searching)
Questions 3 and 4 More advanced algorithms (e.g., careful counting, some mathematical reasoning)
Question 5 IOI level question

For questions about the CCC Online Grader please contact us.