Canadian Computing Competition
Annual programming competition
From Wikipedia, the free encyclopedia
The Canadian Computing Competition (CCC, French: Concours canadien d'informatique) is an annual programming competition for secondary school students, organized by the Centre for Education in Mathematics and Computing at the University of Waterloo. It serves as a qualifier for selecting the Canadian team sent to the International Olympiad in Informatics (IOI), and results are also considered for admission to Waterloo's STEM programs.

Organization
The Canadian Computing Competition was established in 1995[1] with the first competition held in 1996.[2]
1,200 students participated in 2001,[1] doubling to about 2,500 students in 2010.[3] Students from around the world compete in the CCC, including Canadian citizens studying abroad and non-citizens seeking admission to the university.[4]
Format
The CCC is organized in two stages. The first stage is conducted online, under supervision at the students' schools. Top scoring students from the first stage advance to a second stage, held at the University of Waterloo.[1][5]
First stage
The stage consists of 5 algorithmic problems to be solved in 3 hours, scored on the submitted code providing correct output for a given input. The tasks are divided into a Junior level (intended for grade 9 or 10 students, typically 14–15 years old) and Senior level (for grade 11 or 12 students, typically 16–17 years old).[6]: 81 The tasks are designed to be approachable by all students while challenging enough for those with considerable experience and ability.[6]: 80
Initially, any programming language was allowed (and has included Visual Basic, C, C++, Java, Pascal, Perl, PHP, and Turing). Evaluations were made by the supervising teacher, with results sent to the CCC for final processing.[6]: 81 Since implementing the CCC Online Grader in the 2010s, supported programming languages have been limited to C, C++, Java, Pascal, Perl, PHP, and Python (2.x and 3.x).[2]
The CCC Online Grader permits 50 submissions per problem per competitor, allowing students to test-run and refine their code. Competitors are permitted to use the internet during the contest for purposes such as referring to official programming language documentation. Use of email, chat, web search, code forums, and generative AI are forbidden.[7]
Certificates and medals are awarded at both the Junior and Senior level.[2] The top 20 students from the Senior competition advance to the second stage.[6]: 81
Second stage
The second stage, also known as the Canadian Computing Olympiad (CCO),[2] provides a week-long program of activities (including lectures and social activities) with two competition days. These competitions follow the IOI format with three problems per day in a three-hour time period, and only the C, C++ and Pascal languages are permitted. The top four Canadian competitors are selected for the Canadian IOI team.[6]: 81 [a]
The event is also used to select participants for the European Girls' Olympiad in Informatics (EGOI).[citation needed]
Many students will typically not attempt to solve one of the three problems, as they are all difficult. This requires competitors to make time-management choices to optimize the number of points scored.[6]: 88
Controversy
The results of the 2025 CCC were not published. The co-chairs stated that "many students" violated the rules by submitting code that they did not write themselves. In an article on this, Toronto business news outlet The Logic noted the rising use of AI in cheating and the difficulty for test supervisors to recognize the use of embedded coding assistants. The University planned "additional measures to safeguard future competitions".[8]