Code, Compete, Conquer: The Ultimate Strategy Guide to Acing the Canadian Computing Competition (CCC)
Excel in the Canadian Computing Competition with Myls Tutoring! Our AI-powered platform and expert tutors provide personalized training, real-time coding feedback, and competition strategies to boost problem-solving skills. Prepare smarter and compete with confidence—start your CCC training today!
Canadian Computing Competition (CCC) Overview
Programming is more than just writing code—it’s about logic, problem-solving, and designing efficient algorithms to tackle complex challenges. The Canadian Computing Competition (CCC), hosted by the Centre for Education in Mathematics and Computing (CEMC) at the University of Waterloo, is one of the most prestigious coding competitions for high school students. Designed to be accessible to beginners while challenging the most advanced programmers, the CCC helps students develop their computational thinking skills and apply their knowledge to real-world problem-solving scenarios.
With two competition levels—Junior and Senior—the CCC offers a pathway for students at different skill levels to test their abilities and compete against some of the best young programmers in the world. If you’re interested in strengthening your coding skills, competing for university recognition, or simply testing yourself against challenging problems, this guide will walk you through everything you need to know about the CCC, from contest structure and preparation strategies to awards and how Myls Tutoring can help you achieve your best score.
Key Dates for the Canadian Computing Competition (CCC) 2025
Canadian Computing Competition (CCC) Contest Dates:
- North & South America: Wednesday, February 19, 2025
- Outside North & South America: Thursday, February 20, 2025
Registration Deadline: Thursday, February 13, 2025
Contest Timing: Schools are encouraged to administer the contest at the beginning of the school day in their local time zone.
The CCC is an individual, online competition, which means that students must complete the exam at school under supervision.
Who Can Participate in the CCC?
One of the most exciting aspects of the CCC is that it is open to all students, regardless of grade level or prior experience. Unlike some competitions that impose strict eligibility criteria, the CCC allows participants to select their competition level based on their coding proficiency rather than their grade level.
Choosing the Right Level:
✅ Junior Level – Ideal for students with beginner programming skills. If you’re familiar with basic loops, conditionals, and simple algorithms, this level provides an opportunity to practice fundamental problem-solving techniques in a competitive setting.
✅ Senior Level – Designed for students with intermediate to advanced programming experience. If you’re comfortable with sorting algorithms, recursion, and mathematical problem-solving, the Senior level offers a challenging set of algorithmic problems that test efficiency, logic, and optimization skills.
Students can choose the best level for themselves, meaning that even younger students with strong programming backgrounds can compete at the Senior level if they feel prepared.
Contest Format & Scoring
The CCC is a three-hour-long programming contest with five questions per competition level. The questions increase in difficulty, and each is worth 15 points, for a total score of 75.
Junior Level Breakdown:
- Questions 1 & 2: Basic programming concepts (loops, conditionals).
- Questions 3 & 4: More complex logic, often requiring nested loops and structured problem-solving.
- Question 5: A challenging problem that may involve recursion, multi-dimensional arrays, or efficient algorithm design.

Senior Level Breakdown:
- Questions 1 & 2: Basic sorting and searching algorithms.
- Questions 3 & 4: Advanced counting techniques, recursion, and mathematical problem-solving.
- Question 5: A high-level, IOI (International Olympiad in Informatics)-style problem requiring optimization and algorithmic efficiency.

Partial Scoring & Subtasks
The CCC allows students to earn partial credit by solving simpler versions of a problem. Each problem may be divided into subtasks, where solving the easier version earns partial points, and the more difficult version earns full credit. This system makes problems more approachable for students at different skill levels.
Programming Languages Allowed
Students can write their solutions in C, C++, Python 2, Python 3, or Java. However, language choice can affect scoring, as Python and Java tend to be slower for complex problems. C++ is the preferred language for top competitors, as it offers faster execution times and better memory management.
How to Prepare for the CCC?
1. Solve Past CCC Contests
One of the most effective ways to prepare for the Canadian Computing Competition (CCC) is by practicing past contest problems. This not only helps students familiarize themselves with the competition format but also allows them to recognize common problem-solving patterns that frequently appear in the contest. By working through previous questions, students can refine their coding techniques, improve efficiency, and develop a structured approach to tackling algorithmic challenges. Regular practice with past problems builds confidence, speed, and adaptability, all of which are crucial for excelling in the CCC.
Access past CCC contests & solutions here: CCC Past Contests
2. Use the CCC Online Grader
The CCC Online Grader is an invaluable tool for students preparing for the Canadian Computing Competition, as it provides instant, automated feedback on their code submissions. This allows participants to test their solutions in real-time, identify mistakes, and debug errors efficiently, ensuring they refine their approach before the actual contest. By using the grader regularly, students can track their progress, measure improvements, and gain a better understanding of how their code performs under competition conditions. This hands-on practice helps build confidence, accuracy, and problem-solving speed, all of which are essential for success in the CCC.
Try it here: CCC Online Grader
3. Learn Competitive Programming Techniques
For Senior-level participants in the Canadian Computing Competition (CCC), mastering efficient algorithms is essential for tackling the more advanced problems in the contest. Since the difficulty level increases significantly, students must develop a strong foundation in algorithmic thinking, optimization techniques, and problem-solving strategies. To build these skills, two highly recommended books provide in-depth guidance on competitive programming techniques.
- Competitive Programming by Halim & Halim offers comprehensive explanations of algorithms, data structures, and problem-solving strategies, making it an excellent resource for students aiming to perform well in contests like the CCC and the International Olympiad in Informatics (IOI).
- Competitive Programmer’s Handbook by Antti Laaksonen is another recommend read, covering sorting, searching, graph theory, dynamic programming, and more, with clear examples and practice problems that help students develop efficient solutions for time-constrained problems.
By studying these resources, students can enhance their algorithmic efficiency, improve their problem-solving speed, and gain a competitive edge in the Senior division of the CCC.
4. CEMC’s in-school workshops
Students can take advantage of CEMC’s in-school workshops, where experts visit schools to conduct problem-solving sessions and teach advanced computational techniques. By utilizing these resources, participants can gain confidence, sharpen their coding skills, and approach the CCC with a well-rounded preparation strategy.
CCC Awards & Recognition
The Canadian Computing Competition (CCC) not only provides students with an opportunity to test their programming skills but also offers prestigious awards and recognition for top performers. Students who score within the top 25% of all competitors receive a Certificate of Distinction, acknowledging their excellence in algorithmic problem-solving. The highest-scoring participants are also featured on the Honour Roll, an official leaderboard that highlights outstanding performers in both the Junior and Senior divisions.
For the most accomplished Senior-level competitors, the CCC serves as a gateway to the Canadian Computing Olympiad (CCO). The top 20 Senior participants in Canada earn an invitation to compete at the CCO, hosted at the University of Waterloo, where they take on even more advanced algorithmic challenges.
At the CCO, students have the chance to win gold, silver, or bronze medals, with gold medalists receiving a $500 prize and silver medalists earning $200. Additionally, the top-performing CCO participants may be selected for the prestigious Canadian team at the International Olympiad in Informatics (IOI), one of the most competitive global programming contests for high school students.
Beyond competition prizes, a strong performance in the CCC can also enhance a student’s university application, particularly for those applying to the Faculty of Mathematics at the University of Waterloo. While the CCC is not a requirement for admission, demonstrating exceptional problem-solving skills and a strong grasp of computational thinking can be a valuable asset in the university admissions process.
How Myls Tutoring Helps You Succeed in the CCC
Why Choose Myls Tutoring?

Success in the Canadian Computing Competition (CCC) requires more than just basic programming skills—it demands strategic problem-solving, algorithmic efficiency, and the ability to optimize code under time constraints. At Myls Tutoring, we provide personalized, expert-driven training to help students develop the confidence and skills needed to excel in competitive programming.
Our AI-powered personalized learning system ensures that each student follows a customized study plan, targeting their specific weaknesses and making their preparation as efficient and effective as possible. Through 1-on-1 expert tutoring, students receive step-by-step guidance from instructors who specialize in CCC and IOI-style problems, breaking down complex challenges into manageable solutions.
To reinforce learning, our program includes live coding practice and real-time debugging, where students work through actual contest problems with instant expert feedback—helping them identify mistakes quickly, refine their approach, and improve problem-solving speed. Additionally, our exam simulation and strategy coaching prepare students for high-pressure competition environments, teaching them time management techniques, optimization strategies, and problem-solving shortcuts to help them perform at their best when it matters most. By training with Myls Tutoring, students go beyond just participating in the CCC—they develop the competitive mindset, technical skills, and strategic approach needed to truly excel.
Ready to compete at your highest level? Start training with Myls today and make this your strongest CCC performance yet!