Using This Guide
Welcome to the CCC Guide — a free, open-source resource for the Canadian Computing Competition. From your first Junior contest to the path toward CCO, find curated lessons, practice materials, and strategies designed for self-paced learning.
Pick your starting point
CCC Essentials
Read this if you're unfamiliar with the CCC — what the contest is, how judging works, and how to think about it.
Junior
Read this if you can write basic code and are aiming for J1–J5 — the intended path for most first-time competitors.
Senior Core
Read this if you're comfortable with the Junior material — geometry, sorting, searching, and the S1–S3 foundation.
Senior Advanced
Read this if you're aiming for S4–S5 — graph algorithms, dynamic programming, and data structures.
Expected Knowledge
The CCC Guide does not provide general programming language tutorials. If you are unfamiliar with the language you wish to use, we recommend learning it first through the following resources.
W3Schools Online Web Tutorials
A modern online learning platform offering beginner-friendly tutorials, interactive examples, and references for a wide range of programming languages and web technologies.
CEMC Courseware
Official course materials from the Centre for Education in Mathematics and Computing, providing introductory programming resources and computational problem-solving content.
In Junior, the programming language knowledge required for each topic will be listed in the prerequisites. However, in Senior Core and beyond, this guide assumes that you are already comfortable using your chosen programming language.
Contribute
This guide is open source and improved through community contributions: fixing explanations, adding new content, and improving the curriculum. The source for every page is available at github.com/Moreallure/ccc-guide — pull requests are welcome.