CodeSky · Contest prep

CCC Prep: Canadian Computing Competition (Junior & Senior)

The Canadian Computing Competition (CCC) is the University of Waterloo’s programming contest, run by the Centre for Education in Mathematics and Computing (CEMC). This guide explains how it works, how to choose Junior or Senior, and how our Markham students get ready for it.

Book a FREE trial class Our Markham classes

What is the CCC?

The CCC is a programming contest for students with an interest in coding. It is written online, individually, at school, under a teacher who acts as Contest Supervisor. Each level has 5 questions, 3 hours, and a score out of 75 (15 per question). Problems can have subtasks, so a student can earn partial marks for solving an easier version.

Allowed languages: C, C++, Python 2, Python 3 or Java. Any full-time student can take part.

Waterloo CCC: next contest date

Schools register their students before the contest. Dates are from the CEMC; always check the official page for changes.

CCC Junior vs Senior

JuniorSenior
Who it is forBeginner to intermediate programmersIntermediate to advanced programmers
Questions 1–2Straightforward: basic loops and conditionsBasic algorithms: sorting, searching
Questions 3–4Loops, conditions and counting combinedMore advanced algorithms and math reasoning
Question 5Advanced: recursion, 2D arrays, efficient algorithmsIOI-level question

Students pick the level that fits their skills, regardless of grade. Our rule of thumb: if your child is solid on loops, conditions and lists but has not yet learned sorting, searching or recursion, Junior is the right level. Senior is the route to the Canadian Computing Olympiad (CCO): about 20 top official Senior participants are invited each spring.

Waterloo CCC 2026 results at a glance

CCC 2026JuniorSenior
Average score (out of 75)42.6515.56
Certificate of Distinction cutoff5826
Contestants3,4212,439

The top 25% of all participants get a Certificate of Distinction. Notice how much lower the Senior average is: Senior is a big step up, and a strong Junior score is a great goal on its own.

How to prepare for the CCC

At CodeSky, students work through our CCC Path with a teacher in the room, then move on to Competitive programming (C++) when they are ready for Senior and CCO-style problems. Younger students often start with the Beaver Computing Challenge first.

Official contest information: cemc.uwaterloo.ca/contests/ccc

FAQ

What is the CCC in Canada?
The Canadian Computing Competition is a programming contest run by the CEMC at the University of Waterloo. Students solve 5 problems in 3 hours in C, C++, Python or Java.

When is the next CCC?
The CEMC lists Wednesday, February 17, 2027 for North and South America (Thursday, February 18, 2027 elsewhere).

Should my child write CCC Junior or Senior?
Junior suits beginner to intermediate programmers; Senior suits intermediate to advanced. Students choose regardless of grade. If your child has not yet learned sorting, searching and recursion, start with Junior.

Can my child use Python in the CCC?
Yes. C, C++, Python 2, Python 3 and Java are allowed. The CEMC notes that some hard problems may not reach a perfect score in every language, so strong Senior students often learn C++.

Does CodeSky teach CCC prep?
Yes. CodeSky runs a CCC Path in Markham for the Canadian Computing Competition, plus Competitive programming in C++ for advanced students. Parents can also sign children up for the CCC through CodeSky even if they are not enrolled students. Book a free trial class to find the right starting point.

Try a free class at CodeSky

Bring your child to a free trial class at our Markham studio (9833 Markham Rd #2). A teacher will see where they are today and suggest the right path, whether that is Scratch, Python or contest prep.

Book a FREE trial class

中文版 / CCC 竞赛辅导