Canadian Computing Competition (CCC)
Centre for Education in Mathematics and Computing (CEMC), University of Waterloo
Fun programming challenge for secondary school students with beginner to advanced skills. Participants solve 5 algorithmic problems in 3 hours.
Visit Official Page →At a Glance
- Acceptance Rate
- Not publicly disclosed; appear…
- Applicants
- Not disclosed publicly; C…
- Selected
- Approximately 20 CCC Seni…
- Cost
- Free for student par…
Eligibility
- Grades
- Grades 7-12 (secondary school students)
- Age
- No specific age requirement; determined by secondary school status
- Citizenship
- While competition is open to participants globally, top invitations to CCO and CIW typically require Canadian citizenship or permanent residency, though exceptional international students may be invited
- Prerequisites
- Some programming experience required; students can choose between Junior (beginner to intermediate) or Senior (intermediate to advanced) levels regardless of grade
Application Process
Steps
- School/Contest Supervisor registers with CEMC using school number
- Students create free CCC Online Grader accounts through their school
- Contest Supervisor approves student accounts in the teacher portal
- Students practice using CCC Online Grader (free access to past contests and practice problems)
- Participate in the official contest on specified date (3-hour competition written online)
- Screen recordings recommended (not mandatory) for students aiming for CCO/CIW invitations
- Results released in Contest Supervisor Portal within a few weeks
- Top scorers contacted about CCO/CIW invitations; screen recordings may be requested for verification
Materials Needed
- Computer with internet connection and programming environment
- One of these programming languages: C, C++, Python 2, Python 3, or Java
- CEMC school number (provided by school)
- Screen recording software (OBS recommended for CCO/CIW candidates, optional otherwise)
- Timeline
- Ordering deadline: February 11, 2027; Contest dates: February 17, 2027 (North/South America) or February 18, 2027 (rest of world); Results typically available a few weeks after competition; CCO/CIW invitations issued in spring (usually May)
- Cost
- Free for student participants; school pays registration fee (amount not specified in official materials); no individual registration available
Selection Criteria
What Judges Look For
- Correct algorithmic solutions to programming problems
- Ability to handle partial credit through subtasks (solving restricted versions of problems)
- Efficient solutions that meet time limits (C++ generally preferred for most difficult problems)
- Problem-solving approach demonstrated through code quality
- For CCO/CIW: Top scorers among official CCC Senior participants from Canadian schools (approximately top 20 for CCO, select top female/non-binary for CIW)
- Evidence of integrity (screen recordings help verify fair participation)
Scoring
Out of 75 total points; 5 questions worth 15 points each; partial credit awarded for subtasks; each question has increasing difficulty; problems may have multiple subtasks with separate scoring
Common Mistakes
- Choosing wrong difficulty level (Junior vs Senior) — should match skill level, not grade
- Not practicing with CCC Online Grader beforehand — familiarity crucial
- Using slower languages (Python/Java) for very difficult problems with tight time limits
- Poor time management during 3-hour contest — spending too long on one problem
- Not reading problem constraints carefully — missing subtask requirements
- Attempting all problems when partial credit available — should solve easy problems fully before hard ones
- Not familiarizing with rules regarding internet use, references, and tools allowed
- For CCO candidates: failing to enable screen recording or submitting poor quality recordings
Statistics
- Acceptance Rate
- Not publicly disclosed; appears to be high participation (designed as accessible competition) but very selective for CCO (~20 top Canadian participants) and CIW (select top female-identifying/non-binary participants)
- Applicants
- Not disclosed publicly; CEMC reports it as 'the largest outreach organization in Canada' with 60+ years of experience, suggesting substantial participation
- Winners / Selected
- Approximately 20 CCC Senior participants invited to CCO; smaller number selected for IOI team; select number for CIW and EGOI team
Tips & Strategy
- Start practicing early using CCC Online Grader (free access to all past contests)
- Take the Practice Contest to familiarize with the platform, format, and time pressure
- Choose the correct difficulty level: Junior if beginner/intermediate, Senior if intermediate/advanced (regardless of grade)
- Focus on problems 1-2 first (worth 30/75 points, more approachable) to build confidence and guaranteed points
- Understand that partial credit through subtasks means you can score points without solving entire problem — attempt easier versions
- Learn key algorithms and data structures: sorting, searching, basic recursion, two-dimensional arrays, efficient counting
- Use C++ or Python 3 for Senior competition to avoid performance penalties on hardest problems
- Read all 5 problems before starting to identify which are solvable within time limits
- Test solutions on provided examples and edge cases before submitting
- If aiming for CCO/CIW: ensure school supervisor enables screen recording and provide high-quality recordings if requested
- Manage time carefully: 3 hours ÷ 5 problems = ~36 minutes per problem on average, but hardest problems take longer
- Review past competition papers to understand difficulty progression and problem types
- Join school programming club or get peer support for discussing approaches
- Request CEMC Visits Schools workshops if available — experts conduct problem-solving workshops
Preparation
How to Prepare
- Step 1: Create free account on CCC Online Grader and review platform interface
- Step 2: Attempt Practice Contest under timed conditions to understand format and time pressure
- Step 3: Review past CCC competitions (5+ years of problems available) and attempt problems at your level
- Step 4: Learn fundamental algorithms: sorting, searching, binary search, recursion, dynamic programming basics
- Step 5: Study data structures: arrays, lists, basic trees, hash tables for your chosen language
- Step 6: Code regularly on CCC Online Grader, focusing on correctness before optimization
- Step 7: For Senior level: study more advanced algorithms (graph traversal, greedy algorithms, complex counting)
- Step 8: Review solutions to problems you couldn't solve — understand the algorithmic insight
- Step 9: Time yourself on full 5-problem contests to practice pacing and decision-making
- Step 10: Request CEMC Visits Schools workshop if available; get coaching from competitive programming experts
Resources
- CCC Online Grader (free): cemc.uwaterloo.ca — access all past contests, practice problems, online judge
- Past Contests (free): published on CEMC website with example programs and input/output
- CS Circles (free): Python tutorial for beginners, integrated with CEMC
- Competitive Programming by Halim and Halim (book): comprehensive guide to algorithms and problem-solving strategies
- Competitive Programmers Handbook by Antti Laaksonen (book): algorithms and techniques for competitive programming
- CEMC Visits Schools: expert-led problem-solving workshops available to schools
- CCC Rules document (free): official rules covering submission, scoring, internet use, tools allowed
- Sample programs (free): language-specific examples showing correct implementation and input/output handling
- University of Waterloo CEMC website: contests, workshops, tools for all grade levels
- Time Needed
- Minimum 2-3 months of consistent practice (3-5 hours/week) for beginners aiming to score well on Junior level; 4-6 months for intermediate programmers targeting top scores on Senior level; 6-12 months of dedicated study for candidates aiming for CCO invitation
Past Winners Profile
Top CCC participants typically demonstrate: strong foundational programming skills (loops, conditionals, functions); understanding of algorithms (sorting, searching, recursion); ability to break problems into subtasks; experience with competitive programming platforms; persistence through challenging problems; for CCO/CIW invitees: typically in top 20 nationwide, strong performance on all 5 problems (not just first 2-3), ability to solve IOI-level question 5. Many top Canadian competitive programmers have participated in CCC as stepping stone to CCO, IOI, and EGOI. Notably, CIW participants and EGOI team members represent strong female and non-binary voices in Canadian competitive programming.
College Admissions Impact
The CCC and especially CCO/IOI participation are highly valued in university admissions, particularly for computer science and engineering programs. University of Waterloo, a top CS program globally, views CCC/CCO participation as strong indicator of programming ability and mathematical problem-solving. Participation demonstrates: competitive drive, algorithmic thinking, persistence through difficult problems, and commitment to computer science. IOI or EGOI participation is prestigious international achievement that strengthens applications to top universities worldwide. CCO and IOI/EGOI participation particularly impressive on applications and are recognized by major tech companies during internship recruitment. For non-Canadian universities, CEMC competitions (especially IOI) are well-regarded indicators of CS aptitude.
Frequently Asked Questions
What is the Canadian Computing Competition (CCC) acceptance rate?
The Canadian Computing Competition (CCC) acceptance rate is Not publicly disclosed; appears to be high participation (designed as accessible competition) but very selective for CCO (~20 top Canadian participants) and CIW (select top female-identifying/non-binary participants). Approximately Not disclosed publicly; CEMC reports it as 'the largest outreach organization in Canada' with 60+ years of experience, suggesting substantial participation students apply each year.
How do I apply to Canadian Computing Competition (CCC)?
The application process includes: School/Contest Supervisor registers with CEMC using school number; Students create free CCC Online Grader accounts through their school; Contest Supervisor approves student accounts in the teacher portal; Students practice using CCC Online Grader (free access to past contests and practice problems); Participate in the official contest on specified date (3-hour competition written online).
Who is eligible for Canadian Computing Competition (CCC)?
Grades: Grades 7-12 (secondary school students). Citizenship: While competition is open to participants globally, top invitations to CCO and CIW typically require Canadian citizenship or permanent residency, though exceptional international students may be invited. Prerequisites: Some programming experience required; students can choose between Junior (beginner to intermediate) or Senior (intermediate to advanced) levels regardless of grade.
Sources
- https://cemc.uwaterloo.ca/contests/ccc-cco.html
- https://cemc.uwaterloo.ca/
- CEMC Official Website — Centre for Education in Mathematics and Computing, Unive...
- CCC Online Grader Platform — official judge system for submissions and practice
- CCC Rules Document — official competition rules and guidelines
- CEMC 60+ year history report — organization information and impact
Last updated: June 2026