![Students attempting CEMC contests in a computer lab](/sites/default/files/styles/ping_pong_desktop/public/2024-08/2.2.3_CCC_2.jpg?h=2992ba0a&itok=4M3X85mX)
Important dates
Contest dates:
- North and South America: Wednesday, February 19, 2025
- Outside North and South America: Thursday, February 20, 2025
Ordering deadline: Thursday, February 13, 2025
![Educator helping student understand a computer science program on the laptop](/sites/default/files/styles/ping_pong_desktop/public/2024-08/Click%20Photography2263.jpg?h=29c236a0&itok=aolEs1_6)
Contest overview
The Canadian Computing Competition (CCC) is a fun challenge for participants with an interest in programming. Designed to be both accessible to participants with some programming experience and to challenge the keenest programmers at the secondary school level, the CCC helps participants build confidence and grow their ability to understand, design, and implement algorithms.
CEMC stories
Our contests, programs, tools, and resources have a significant impact on students and educators worldwide.
![CEMC Canadian Computing Olympiad group photo from 2024 with the team of competitors](/sites/default/files/styles/ping_pong_desktop/public/2024-08/CCO%20group%20photo%20%28permission%29.jpg?h=fa1c963e&itok=aO0rjiz0)
Canadian Computing Olympiad
The Canadian Computing Olympiad (CCO) is a week-long learning experience featuring workshops, a contest and other extracurricular activities. This invitation-only event is also used to select Canada's team for the International Olympiad in Informatics (IOI), which is hosted by a different country each year.
Approximately 20 of the top official CCC senior participants from schools in Canada are invited to the CCO at the University of Waterloo each spring. Outstanding participants, including those who are Canadian citizens or permanent residents attending school outside of Canada, may also be invited. The selection of CCO participants and the Canadian IOI team members is at the discretion of the CEMC.
Contest details
Participants have the option to compete at either the Junior or Senior level. We advise participants and educators to adhere to these guidelines:
- Junior level - any participant with beginner programming skills.
- Senior level - any participant with intermediate to advanced programming skills.
In particular, each participant can choose the best level for them, regardless of their grade.
Contest dates:
- North and South America: Wednesday, February 19, 2025
- Outside North and South America: Thursday, February 20, 2025
Contest timing: Contest Supervisors are expected to administer the contest within the two-week contest period. We encourage schools to administer the contest as close to the beginning of the school day as possible in their respective time zones.
Ordering deadline: Thursday, February 13, 2025
- Written in school, participants write online, individually.
- 5 questions.
- Time allowed for completion is 3 hours.
- Score out of 75.
The CCC is divided into two levels: the Junior competition and the Senior competition. Each contest consists of 5 questions. Each question is worth 15. The range of difficulty generally increases from the first question to the last question on each contest. Approximate outlines are given below.
Junior Competition | |
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 |
Progressively advanced material (e.g. recursion, two-dimensional arrays, efficient/insightful algorithms) |
Senior Competition | |
Questions 1 and 2 |
Basic algorithms (e.g. sorting, searching) |
Questions 3 and 4 |
More advanced algorithms (e.g. careful counting, more advanced mathematical reasoning) |
Question 5 |
IOI level question |
Problems may be broken down into subtasks, with a partial score awarded for each subtask, which can make the problems more approachable. For example, participants may earn a partial score for solving an easier, restricted, version of a problem. Subtasks can also make problems more challenging. For example, for later questions, a score might be assigned for input that only efficient solutions can solve within the time limits.
Contest supervisors are able to view participants’ real-time performance by viewing the scoreboard listing participants at their school.
CCC participants may use C, C++, Python 2, Python 3, or Java. Visit sample programs and details to know more about these languages.
CCO participants must use C++.
While the CCC Online Grader supports various languages, it may not always be possible to achieve a perfect score with a particular language choice (for example, Python or Java) because the design of some languages limits the participants’ ability to solve the hardest part of the hardest problems.
All participants and educators should familiarize themselves with the CCC Rules which encompass implementation details, submission guidelines, feedback, scoring details and use of the Internet, references and other tools during the competition.
Below are links to four types of resources and classroom support that can help with preparation for the Canadian Computing Competition (CCC):
- CCC Online Grader: The CCC Online Grader, where participants can create a free practice account and access previous contests.
- Past Contests: Past contests, example programs illustrating input and output and CS Circles.
- Books: Competitive Programming by Halim and Halim and Competitive Programmers Handbook by Antti Laaksonen.
- CEMC Visits Schools: Experts from the CEMC are available to conduct problem-solving workshops for students and educators. Visit CEMC Visits Schools to learn more.
- Contest Supervisors should arrange to have participants write the contest in school and are responsible for ensuring that participants are supervised appropriately.
- This contest is written using the CCC Online Grader. The Grader is where supervising educators manage their participants’ accounts and where participating students find problem statements and submit solutions.
- Contest supervisors will need to authenticate their participants to gain access.
- Participants and Contest Supervisors are encouraged to familiarize themselves with the CCC Online Grader and CCC Rules before the official contest date.
- Results will be available in the Contest Supervisor Portal within a few weeks of the contest date.
The following is a list of the steps for supervising educators as they prepare for and proctor the CCC. More detailed instructions on how to perform some of these steps are available.
Before the contest
- Provide your participants with your CEMC school number (but not the confidential password) and ask them to create an account here. Participants need only one account, and some may already have existing accounts from previous years. If necessary, you may reset the participant's password for any previously registered participant.
- Log in to the teacher portal using your CEMC school number and password. Once logged in, you will need to “Approve” (or, if they are not your participant, “Delete”) your “Unverified Users”. Participants will then receive an email saying that they can use the CCC Online Grading system, along with their User ID. You should also "Graduate" all past participating students that have left your school, and may choose to "Hide" any of these participants if you do not want to see their records again.
- Familiarize yourself with the CCC Online Grader. In particular, ensure you are familiar with the format, programming language details and rules mentioned in the sections above.
- Encourage participants to practice using the CCC Online Grader. We strongly recommend that every participant attempt the Practice Contest.
- Late (and even last minute) registrants can be accommodated at any time before the start of the contest by ensuring the participants has an authenticated CCC Online Grader account as described above. The CEMC will invoice the school later for extra contests written beyond those initially registered. Please note that extra fees may apply.
Starting the contest
- An individualized 3-hour timer will begin for each participant as soon as they enter biographical information after logging in to the CCC Online Grader.
- Point participants to the problem statements which are PDF files hyperlinked from the problem names. Make them aware of the Announcements / Helpful Reminders that can be viewed after logging in and entering the contest.
During the contest
- Contest Supervisors must ensure that the integrity of the contest is maintained by enforcing the CCC rules. For example, try to prevent communication between participants and forbidden use of the Internet.
- You may view participants’ real-time performance by viewing the scoreboard listing participants at your school.
After the contest
- Upon receiving notification that the scores have been finalized, view the contest scoreboard. Check that the number of participants and their names match your record of who participated in the contest.
- Upon receiving information about the cutoffs, you may generate Certificates of Distinction from the Contest Supervisor Portal.
Contest fee per participant: $10.00
Processing fee per order, applies to all contest orders: $5.00
This contest is tax-exempt within Canada and internationally.
The CEMC does not offer refunds, returns or cancellations of any kind.
We believe that all students will enjoy and benefit from the experience of preparing for and participating in our mathematics and computer science contests. Our contests are not tests or exams. There is no passing or failing score. Information about how participants and schools are awarded for their performance in our computing contests is listed below.
Official participants
Any full-time student may participate in the Canadian Computing Competition (CCC) but only those that qualify as "official" are eligible to be invited to the Canadian Computing Olympiad (CCO) or be included on the honour roll.
Participants that write the CCC at a school inside Canada are considered an official participant provided they:
- were born on or after July 1, 2005, and
- live in Canada.
Participants that write the CCC in a school outside Canada are considered an official participant provided they were born on or after July 1, 2005.
All other participants that do not meet the above criteria are considered unofficial. Unofficial participants are still eligible for certificates.
Canadian Computing Competition (CCC) awards
- Every participant scoring in the top 25% of all competitors receives a Certificate of Distinction.
- The names of some top-scoring official participants appear in honour rolls for both Junior and Senior competitions.
Canadian Computing Olympiad (CCO) awards
Approximately 20 of the top official CCC senior participants from schools in Canada are invited to the CCO at the University of Waterloo each spring. Outstanding participants, including those who are Canadian citizens or permanent residents attending school outside of Canada, may also be invited. The selection of CCO participants and the Canadian IOI team members is at the discretion of the CEMC.
- Each CCO participant receives a plaque for gold, silver or bronze standing based on their results in both the CCC and CCO competitions.
- Each silver medalist receives a $200 prize.
- Each gold medalist receives a $500 prize.
The selection of CCO participants, the Canadian IOI team members and award distribution is at the discretion of the CEMC.
We also encourage schools and boards to recognize and celebrate the achievements of those participants who excel.
The CEMC reserves the right to disqualify students or withhold the publication of results at its discretion.
Opt-out option:
Our contests allow participants to opt out of having their names displayed in publicly accessible results booklets if their score is high enough to be listed on an honour roll. Their names will, however, still be published in the school results which we provide securely to the organizing educator.
Canadian Computing Competition 2024
Junior | Senior | |
Average (Mean) | 39.77 | 26.79 |
Certificate of Distinction Cutoff | 51 | 32 |
Maximum Possible Score | 75 | 75 |
Number of Contestants | 6184 | 3948 |
While the Canadian Computing Competition (CCC) is not required for admission to the Faculty of Mathematics at the University of Waterloo, strong performance the contest can help a student earn admission.
![CCO plaques](/sites/default/files/styles/ping_pong_desktop/public/2024-08/2.2.3_CCC_3.jpg?h=4bc52ccd&itok=XjxJ92oH)
Contest results
The results booklet for the CCC includes an honour roll consisting of top performing participants. Top Senior participants may be invited to the Canadian Computing Olympiad (CCO). Educators can access their participants' results and generate certificates after the final results are uploaded in our Contest Supervisor Portal.