Canadian Computing Competition (CCC)

Centre for Education in Mathematics and Computing (CEMC), University of Waterloo

Tier 2 — Highly Competitive STEM competition Rolling deadline

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
Must be an official participant through a school with a registered Contest Supervisor; individual registration not permitted

Application Process

Steps

  1. School/Contest Supervisor registers with CEMC using school number
  2. Students create free CCC Online Grader accounts through their school
  3. Contest Supervisor approves student accounts in the teacher portal
  4. Students practice using CCC Online Grader (free access to past contests and practice problems)
  5. Participate in the official contest on specified date (3-hour competition written online)
  6. Screen recordings recommended (not mandatory) for students aiming for CCO/CIW invitations
  7. Results released in Contest Supervisor Portal within a few weeks
  8. 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
CCC itself is accessible to intermediate programmers (not extremely competitive at entry level), but CCO/CIW selection is highly competitive among top performers. IOI selection is prestigious international-level competition. CCO participants must compete at highest level to be selected for IOI (typically 4-6 Canadian representatives)

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

Last updated: June 2026