Overview
The Canadian Computing Competition (CCC) is Canada's national programming contest for secondary school students, run by the Centre for Education in Mathematics and Computing (CEMC) at the University of Waterloo. Strong Senior-division results are the route into the Canadian Computing Olympiad (CCO), which is also used to select Canada's team for the International Olympiad in Informatics (IOI).
More competitions and olympiads in Canada
Canada · 6 competitions and olympiads
Who can apply
Participants must have been born on or after 1 July 2007 to be official competitors (CEMC updates this cutoff each year); there is no grade restriction. Students choose between the Junior and Senior divisions themselves, regardless of grade, based on their programming experience.
Levels or stages
Junior
For beginner to intermediate programmers. Problems escalate from straightforward logic questions through counting-style problems to a final question involving recursion.
Senior
For intermediate to advanced programmers. Problems escalate from basic algorithms such as sorting and searching to advanced algorithmic reasoning, with the final question set at International Olympiad in Informatics (IOI) level difficulty.
Exam pattern
Each division has 5 problems, written online in 3 hours, for a maximum score of 75 (15 points per problem). Problems include subtasks, so partial credit is available for partially correct solutions.
Important dates
For the 2027 cycle, CEMC scheduled the CCC for Wednesday, 17 February 2027 in North and South America and Thursday, 18 February 2027 elsewhere, with a school ordering deadline of Thursday, 11 February 2027. Check the CEMC contests page for the exact dates each year.
How to apply
Schools register and order the CCC through the CEMC Contest Supervisor Portal before the ordering deadline. Students then write the contest online at their school on the scheduled date.
After the exam
The top 20 official Senior-division participants from Canadian schools are invited to the Canadian Computing Olympiad, which CEMC also uses to help select Canada's team for the International Olympiad in Informatics.
Preparation tips
Practise programming problems that use subtasks, since partial credit rewards partially working solutions.
Senior-division competitors should be comfortable with core algorithms (sorting, searching, basic data structures) before attempting past CCC Senior papers.
Work through past CCC papers, published by CEMC, in the same 3-hour online format you will sit the real contest in.
FAQs
Which division should I choose, Junior or Senior?
It depends on your programming experience, not your grade — CCC lets you pick Junior (beginner to intermediate) or Senior (intermediate to advanced) regardless of grade.
Does the CCC lead to the IOI team?
Yes. The top 20 official Senior participants from Canadian schools are invited to the Canadian Computing Olympiad, which feeds into Canada's International Olympiad in Informatics team selection.