---
title: "Canadian Computing Competition Prep | CCC Junior and Senior"
description: "Junior and Senior are a choice, not a year group, and only Senior leads to the CCO. Live CCC preparation worked backwards from February, one to one or batch."
canonical: https://learn.modernagecoders.com/canadian-computing-competition-ccc-prep
source: src/pages/canadian-computing-competition-ccc-prep.html
---
> Junior and Senior are a choice, not a year group, and only Senior leads to the CCO. Live CCC preparation worked backwards from February, one to one or batch.

Start here

## The three courses behind this page

CCC coaching runs from the competitive programming track, worked backwards from February, with the algorithms course behind the Senior paper.

[![Competitive Programming for Teens course thumbnail](/images/competitive-programming-teens.webp)  CP / 01 Competitive Programming for Teens The course this page describes for school-age students, run backwards from the contest date with timed papers every month. Open the syllabus →](/courses/competitive-programming-for-teens-course)[![Competitive Programming Masterclass course thumbnail](/images/placement-prep-college.webp)  CP / 02 Competitive Programming Masterclass The advanced version, for Senior candidates aiming at the CCO and beyond. Open the syllabus →](/courses/competitive-programming-masterclass-college)[![Data Structures and Algorithms course thumbnail](/images/dsa-college.webp)  CP / 03 Data Structures and Algorithms The systematic treatment of what the Senior paper assumes, and the usual answer for a student stuck below it. Open the syllabus →](/courses/data-structures-algorithms-masterclass-college)

The course

## CCC preparation, worked backwards from February

Two formats, both live. Small batches group students in the same division, because a Junior candidate and a Senior candidate need different autumns. One to one is paced to this student's division decision and gaps.

| How it runs | Small batch | One to one |
| --- | --- | --- |
| Grouped by | Division, never mixed | Not applicable |
| Live classes each week | Two, fixed slot | Two, slot agreed with you |
| Division decision | Timed paper in September, discussed | The same, revisited in January |
| Full timed papers | Monthly from October | Monthly, plus extra in January |
| Online-environment practice | From December | From December, or earlier if new to it |
| Solution review | Group walkthrough plus written notes | Line by line on the student's code |
| Monthly fee | USD 100 | USD 150 |
| Trial | First class free, no card | First class free, no card |

[Open the full syllabus](/courses/competitive-programming-for-teens-course) Book the free first class

The short answer

The Canadian Computing Competition is run by the Centre for Education in Mathematics and Computing at the University of Waterloo and is held online in February. There are two divisions, Junior and Senior, and each paper consists of five questions. The divisions are defined by ability rather than by grade: Junior for any student with elementary programming skills, Senior for any student with intermediate to advanced skills. Roughly twenty of the top official Senior participants from schools in Canada are invited each spring to the Canadian Computing Olympiad at Waterloo, which is invitation only and is used to select Canada's teams for the International Olympiad in Informatics. Modern Age Coders coaches it live online, one to one or in small batches, from USD 100 a month with the first class free.

Module by module

## The eight modules, from September to February

Ordered by the calendar rather than by difficulty, because the contest happens once and preparation that is merely under way in February is preparation that did not finish.

01

### The division decision, made on evidence

3 classes · September

- A timed past Senior paper, sat properly, whatever the student expects
- Reading the result as a decision rather than as a score
- Junior this year and Senior next is a real answer, and often the right one

02

### Five questions, and the order to attempt them

4 classes · October

- Reading all five before writing a single line
- Ranking by expected effort rather than by position on the paper
- Starting with the second-easiest, and why that beats starting first

03

### Complete solutions, tested before moving on

5 classes · October

- Why full answers to fewer questions beat near-misses on all five
- Testing against the sample and then against edge cases
- The discipline of finishing, which is the largest first-year improvement

04

### Junior track: implementation done reliably

6 classes · November

- Arrays, strings and simulation, written without small errors
- Off-by-one at boundaries, hunted rather than hoped away
- Careful reading of a problem that is simple but precise

05

### Senior track: graphs, dynamic programming, structures

8 classes · November

- The algorithm families Senior problems assume
- Recognising which one a problem is within minutes
- Implementing from memory, correctly, under time

06

### Input handling and the online environment

4 classes · December

- Reading the input format exactly as specified, every time
- Practising in the environment the contest is actually written in
- The preventable failures that sink otherwise correct solutions

07

### Full past papers, timed and reviewed

6 classes · January

- Complete five-question papers under real conditions
- Reviewed line by line rather than marked right or wrong
- The last honest moment to change division, taken seriously

08

### Taper, rehearsal and the first ten minutes

3 classes · February

- Short daily problems instead of long sessions
- One final full paper, then stop
- Rehearsing the opening: read all five, rank, begin

The decision that costs a year

## Junior and Senior are a choice, not a year group

The CEMC describes Junior as being for any student with elementary programming skills and Senior for any student with intermediate to advanced skills. Neither is defined by grade.

Families read Junior and Senior as though they mean younger and older, and enter accordingly. They do not. A Grade 9 student who has been programming seriously for two years belongs in Senior, and a Grade 12 student who started last term belongs in Junior. The divisions describe ability, and the entry form does not check your age.

That matters more than it would in most contests, because only one of the two divisions leads anywhere. Roughly twenty of the top official Senior participants from schools in Canada are invited each spring to the Canadian Computing Olympiad at Waterloo, and the CCO is where Canada's teams for the International Olympiad in Informatics are selected.

So a capable student who enters Junior because it sounded age-appropriate has quietly removed themselves from that route for a year. The CCC runs once, online, in February. A division chosen wrongly is not a setback of a few weeks; it is the whole cycle.

None of which means Junior is a waste. For a student genuinely at elementary level it is the right paper and a good experience, and doing well there is a real foundation for entering Senior the following year. The point is only that the choice should be made deliberately, on ability, in the autumn rather than in the week of the contest.

The contest, exactly

## How the Canadian Computing Competition is run

Run by the Centre for Education in Mathematics and Computing at the University of Waterloo. Dates and timings are set each year by the CEMC, which is the source to check.

|   | How it works | What it means for preparation |
| --- | --- | --- |
| Organiser | CEMC, University of Waterloo | The CEMC page is the only source for dates |
| Divisions | Junior and Senior | Chosen on ability, not on grade |
| Junior is for | Any student with elementary programming skills | A real paper, not a warm-up |
| Senior is for | Any student with intermediate to advanced skills | The only division that leads onward |
| Questions | Five per paper | Question selection is a genuine skill |
| Format | Online | Practise in the environment, not only on paper |
| When | February | Preparation must be finished, not under way |
| Frequency | Once a year | A wrong division choice costs the cycle |
| Beyond | Top Senior participants invited to the CCO | And the CCO selects Canada's IOI teams |

Note the last two rows together. Five questions in a single sitting, once a year, with the route beyond it running through Senior only. That combination means preparation has to be finished by February rather than merely under way, and it is why we work backwards from the contest rather than teaching a syllabus forwards.

The route beyond

## From the CCC to the CCO, and from the CCO to the IOI

Worth understanding even for a student who will not get there, because it explains why the Senior paper is structured the way it is.

1. #### The CCC, in February, through your school

  Written online at participating schools. Both divisions are real contests with five questions each, and the Senior paper is the one that carries a route beyond itself. Entry, eligibility and supervision are handled by the school rather than by any tutor.
2. #### An invitation to the CCO, for roughly twenty Senior participants

  Extended each spring to about twenty of the top official CCC Senior participants from schools in Canada, decided by the CEMC on results. There is no application, no appeal and no influence available to anybody outside the CEMC.
3. #### The CCO itself, at the University of Waterloo

  A week-long invitation-only event with workshops, a contest and other activities. For most students who reach it, this is the destination rather than a stepping stone, and it is a substantial thing in itself.
4. #### Selection of Canada's IOI teams

  The CCO is used to select the teams Canada sends to the International Olympiad in Informatics. That is the top of the pyramid, the places are very few, and the honest framing for almost every student is that the CCC itself is the goal.
5. #### What this means for a student in Grade 9 or 10

  The route rewards being in Senior early. A student capable of Senior who spends two years in Junior arrives at the decisive papers with less experience of the format, and the format is a large part of what the Senior paper tests.

Where the contest is lost

## Six things that cost Canadian students CCC marks

Five questions in one sitting rewards a specific kind of preparation, and most students prepare in a different one.

### Entering the wrong division

The most expensive error available, because it costs the whole cycle. Junior and Senior describe ability rather than grade, and a capable student in Junior has removed themselves from the CCO route for a year.

### Not reading all five questions first

Five questions in one sitting means the ordering decision is worth marks on its own. Students who start at question one because it is first regularly leave an easier question untouched at the end.

### Partial solutions across five problems

The same trap that catches USACO students. Complete, tested answers to fewer questions beat near-misses on all of them, and this is the single habit that most improves a first-time score.

### Never having practised in the online environment

The contest is written online. A student who has only ever practised in their own editor meets the submission environment for the first time under pressure, which costs minutes and composure.

### Weak input handling

Reading the input format exactly as specified sounds trivial and fails an astonishing number of otherwise correct solutions. It is worth drilling deliberately because it is entirely preventable.

### Preparing forwards instead of backwards

The contest is in February and happens once. A student working through a syllabus at their own pace arrives partly ready. Preparation has to be planned from the date backwards, which is how this course is built.

The autumn before February

## How we prepare a student for a contest that happens once

Two live classes a week, one to one or in a small batch, worked backwards from the February sitting rather than forwards through a syllabus.

1. #### September: decide the division honestly

  A timed past Senior paper, sat properly. What comes out of it is not a score but a decision: Senior this year, or Junior this year and Senior next. Making that call in September rather than in February is the highest-value hour of the whole cycle.
2. #### October: complete solutions, and reading all five first

  Whichever division, this comes first. Reading every question before writing anything, choosing the order deliberately, and finishing one problem properly before starting the next.
3. #### November: the algorithms the chosen division actually needs

  For Junior that is careful implementation, arrays, strings and simulation done reliably. For Senior it is graphs, dynamic programming and the standard data structures, recognised on sight rather than derived on the day.
4. #### December: input handling and the online environment

  Practising in the format the contest is actually written in, with the input read exactly as specified. Both are unglamorous and both convert directly into marks that would otherwise be lost.
5. #### January: full past papers, timed, both divisions if undecided

  Complete five-question papers under real conditions, marked and reviewed line by line. This is also the last honest moment to change division, and occasionally we do.
6. #### Early February: taper, and rehearse the sitting itself

  Short daily problems rather than long sessions, one final full paper, and a rehearsal of the first ten minutes: read all five, rank them, start with the second-easiest. Then stop and let them arrive rested.

Being straight about it

## What we will not tell you about the CCC

**We cannot get anybody invited to the CCO.** Invitations go to roughly twenty of the top official Senior participants from schools in Canada, decided by the CEMC on contest results. We have no relationship with them and no influence of any kind.

**We do not publish the date.** The CEMC sets it each year and its own page is correct where a tutoring page would go stale. Check it in the autumn, not in January.

**Your school handles the entry.** The CCC is written through participating schools, and arrangements, eligibility and supervision are theirs. We teach alongside that and cannot enter a student.

**We will tell you when Junior is the right paper.** Pushing a student into Senior before they are ready produces a bad afternoon and no benefit. The honest recommendation is sometimes Junior this year and Senior next, and we would rather say it in October than in February.

Outcomes

## What a student can do by February

Behaviours observable in a timed paper. A CCO invitation is not on this list, because that is decided by the CEMC on results and by nobody else.

### Sit in the division that matches their actual ability

Decided in September on a timed paper rather than assumed from a year group, which is the single most consequential choice in the cycle.

### Read all five questions and rank them before coding

Rather than starting at question one, which is how an easier problem gets left untouched at the end of the sitting.

### Finish and test one problem before starting another

Because complete answers to fewer questions beat near-misses on all five, and this is the habit that most improves a first score.

### Read an input format exactly as specified

Drilled deliberately, because it is entirely preventable and it sinks an astonishing number of otherwise correct solutions.

### Work fluently in the online contest environment

Having practised there rather than only in their own editor, so the submission process costs no minutes and no composure.

### Recognise the algorithm a Senior problem is asking for

Within minutes rather than after an hour, which is what makes the remaining time usable.

### Sit a full five-question paper to time

Several times before February, so pacing is settled and only the questions are new on the day.

### Review their own paper usefully

Naming what was misread and where the time went, which is what makes the following year better rather than merely later.

The catalogue

## The courses this sits inside

CCC coaching runs from the competitive programming track. The rest are the foundations it assumes and the routes students take alongside it.

I

### Competitive programming

Where CCC coaching comes from

CP / 01

#### Competitive Programming for Teens

The course this page describes for school-age students, run backwards from the contest date with timed papers every month.

[Open the syllabus](/courses/competitive-programming-for-teens-course)

CP / 02

#### Competitive Programming Masterclass

The advanced version, for Senior candidates aiming at the CCO and beyond.

[Open the syllabus](/courses/competitive-programming-masterclass-college)

CP / 03

#### Data Structures and Algorithms

The systematic treatment of what the Senior paper assumes, and the usual answer for a student stuck below it.

[Open the syllabus](/courses/data-structures-algorithms-masterclass-college)II

### The languages

Any of the three, chosen deliberately

LANG / 01

#### C++ Programming for Teens

The usual choice for a Senior candidate, and the one most editorial material assumes.

[Open the syllabus](/courses/cpp-programming-masterclass-for-teens)

LANG / 02

#### Python for Teens

Entirely workable at Junior level and increasingly limiting at Senior, where time limits bite.

[Open the syllabus](/courses/python-complete-masterclass-teens)

LANG / 03

#### Java Programming for Teens

A solid contest language and the right one for a student also sitting an AP or IB in Java.

[Open the syllabus](/courses/java-programming-masterclass-for-teens)

LANG / 04

#### Git and GitHub for Teens

Contest solutions committed as they are written, which turns a season of practice into something a reader can open.

[Open the syllabus](/courses/git-github-version-control-course-for-teens)III

### Alongside and beyond

School qualifications and other contests

NEXT / 01

#### AP Computer Science A Exam Prep

Sat by many Canadian students alongside the CCC, and the Java overlap is worth using deliberately.

[Open the syllabus](/courses/ap-computer-science-a-java-exam-prep-course)

NEXT / 02

#### IB Diploma Computer Science

The other common school qualification running in parallel with contest training.

[Open the syllabus](/courses/ib-diploma-computer-science-course)

NEXT / 03

#### Complete High School Mathematics Mastery

The mathematics underneath the Senior paper, and the CEMC mathematics contests many CCC students also write.

[Open the syllabus](/courses/complete-high-school-mathematics-mastery)

NEXT / 04

#### Olympiad and Competition Mathematics

For students writing the CEMC mathematics contests seriously as well as the computing one.

[Open the syllabus](/courses/olympiad-competition-mathematics-mastery)

NEXT / 05

#### Hackathon Prep for Teens

A different competitive format, for students who want to build as well as to solve.

[Open the syllabus](/courses/hackathon-prep-for-teens-coding-ai-build-innovate-win-course)

Fees

## What CCC coaching costs

The same two figures as every other course we teach outside India, monthly, in US dollars. No premium for the word olympiad, nothing owed once you stop, first class free without a card.

Free first class

USD 0

no card required

- Taught rather than sold
- A real diagnostic on the exam itself
- You watch it, then decide

Book it

Group batch

USD 100

a month, billed in US dollars

- Five to eight students, one teacher throughout
- Live video, never a recording
- Past-paper work between classes, marked by the teacher
- Certificate on completion

Start here

One to one

USD 150

a month, billed in US dollars

- Private teaching, paced to the entry date
- The only way to get a weekday morning slot
- Syllabus rebuilt around the papers the student is weakest on

Enquire

What families say

## Rated 4.9 across 547 Google reviews

Real reviews from real families. We neither write nor commission them.

★★★★★

"The one step solution for my son. Modern Age Coders make learning coding so simple that kids love it. The teachers explain complex concepts clearly with practical exercises and interactive content."

Ria Mukherjee

Parent

★★★★★

"Modern Age Coders has been a game-changer for me. I struggled to grasp IT concepts and coding before joining, but their classes transformed everything. I can now confidently write complex programs with ease."

Samriddha Mondal

Student

★★★★★

"One of the most wonderful education centres out there. Education is not limited to school syllabus but focuses on skill development."

Vansh Agarwal

Student

★★★★★

"My child Dhairya is really enjoying the Modern Age Coders classes. This is his first online class and he eagerly looks forward to it. I can already see his improvement, and the teachers are very cooperative."

Sonam Oswal

Parent of Dhairya

★★★★★

"Modern Age Coders have wonderful teachers who teach in a clear, easy and practical way. The teacher boosts students' confidence and inspires them to learn without hesitation."

Sonu Goyal

Parent

★★★★★

"I highly recommend this computer coding class! The teachers are incredibly knowledgeable and passionate about coding."

Ritu Kedia

Parent

The other nine

## The other exams and contests we prepare students for

Most CCC students are sitting a school qualification at the same time, and some are also writing other national contests. These are the ones we teach alongside it.

[AP Computer Science AJava](/ap-computer-science-a-online-classes)[AP Computer Science PrinciplesAny language](/ap-computer-science-principles-online-coaching)[Cambridge IGCSE 0478Python, VB, Java](/cambridge-igcse-computer-science-tuition)[Cambridge A Level 9618Python, VB, Java](/cambridge-a-level-computer-science-online-classes)[UK GCSE Computer SciencePython](/uk-gcse-computer-science-tutoring)[IB Diploma Computer ScienceJava or Python](/ib-computer-science-online-tuition)[USACOC++, Java, Python](/usaco-preparation-online-coaching)[Informatics olympiadsC++](/ioi-olympiad-informatics-training)[PCEP and PCAPPython](/python-certification-pcep-pcap-course)

CCC questions

## What Canadian families ask about the CCC

### Should my child enter Junior or Senior?

On ability, not on grade. The CEMC describes Junior as being for any student with elementary programming skills and Senior for any student with intermediate to advanced skills, and neither is defined by year group. A capable Grade 9 student belongs in Senior. We settle this in September with a timed past Senior paper rather than guessing from a school year.

### Why does the division matter so much?

Because only Senior leads onward. Roughly twenty of the top official CCC Senior participants from schools in Canada are invited each spring to the Canadian Computing Olympiad at Waterloo, and the CCO is used to select Canada's IOI teams. A capable student who enters Junior has removed themselves from that route for a full year, and the contest runs once.

### How much does the coaching cost?

A small batch is USD 100 a month and one to one is USD 150 a month, billed in US dollars, the same figures as every other course we teach outside India. There is no premium for contest coaching. No enrolment fee, no minimum term, and the first class is free without a card.

### When is the CCC?

It is held online in February. The exact date is set by the CEMC each year, so we deliberately do not print it here; the CEMC's own page is correct where a tutoring page would go stale. Check it in the autumn rather than in January, because the preparation calendar is built backwards from it.

### How do we enter?

Through your school. The CCC is written at participating schools and entry, eligibility and supervision are handled by them rather than by any tutor. We teach alongside that and cannot enter a student, so the first practical step is a conversation with the school's computer science teacher.

### How many questions are there?

Five per paper, in each division, in a single sitting. That format makes question selection a genuine skill: students who start at question one because it is first regularly leave an easier problem untouched at the end, which is why reading all five before writing anything is drilled from October.

### Which language should my child use?

C++ for a Senior candidate aiming at the CCO, because time limits eventually favour it and most training material assumes it. Python is entirely workable at Junior level. Java is a solid choice and the right one for a student also sitting an AP or IB in Java. What matters is choosing early rather than in January.

### Can you get my child invited to the CCO?

No. Invitations go to roughly twenty of the top official Senior participants from schools in Canada, decided by the CEMC on contest results, and we have no relationship with them and no influence of any kind. What a coach controls is whether a student arrives in February able to compete.

### Is Junior a waste of time for a strong student?

For a genuinely strong student, entering Junior costs them the CCO route for that year, so yes in that specific sense. For a student actually at elementary level it is the right paper, a real contest and a good foundation for Senior the following year. The mistake is choosing by age instead of by ability.

### When should we start preparing?

September, for a February contest. That gives time to make the division decision on evidence, build the habits in October and November, practise the online environment in December, and sit full timed papers in January. A student starting in January can improve, and we will be honest that we are improving a score rather than running a cycle.

### My child solves problems but scores badly. Why?

Almost always partial solutions across five questions instead of complete answers to fewer. Testing before moving on feels slower and scores considerably better. After that, the two commonest causes are input handling and never having practised in the online environment, both of which are entirely preventable.

### Do you teach students outside Canada?

Yes. Some international schools follow Canadian curricula and write the CCC, and some students write it as additional preparation. Entry is still arranged through a participating school, so confirm that route before building a year around the contest.

### Is the CCC worth it if my child will never reach the CCO?

Yes, and this is the honest framing for almost everybody. The places at the CCO are very few. What the preparation reliably produces is real algorithmic ability, implementation speed and the habit of working under time, and those are worth having whatever happens in February.

### What happens in the free first class?

A timed past paper problem, sat properly, and a conversation about which division the evidence points at. That decision is the highest-value part of the whole cycle and it should be made in September on a real attempt rather than assumed from a school year.

### What happens after we send the form?

A mentor calls you at a reasonable hour to arrange the free class. Nothing is charged and no card is requested. Tell us the student's grade and how long they have been programming, because those two facts together start the division conversation, which is where everything else follows from.

Read next

## Students choose their own CCC level, and most choose it by age.

A test that settles the level honestly, the scoring arithmetic that turns thirty five points into fifty on the same afternoon, and where the invitation to the CCO actually goes.

[CCC Junior or Senior, and how to score](/blog/canadian-computing-competition-junior-or-senior)

Enrol

## Book the free first class, and settle the division question

The first class is a real timed problem from a past paper, sat properly, followed by a straight conversation about which division the evidence actually points at. That decision is worth more than any month of content teaching, because only Senior leads to the CCO and the contest runs once a year. If the honest answer is Junior this year and Senior next, we will say so, and that is a good plan rather than a consolation.

Rather read first? [USACO preparation](/usaco-preparation-online-coaching), [informatics olympiad training](/ioi-olympiad-informatics-training), or [the full course syllabus](/courses/competitive-programming-for-teens-course).

[WhatsApp us](https://wa.me/919123366161?text=Hello%20Modern%20Age%20Coders.%20I%20am%20interested%20in%20Canadian%20Computing%20Competition%20preparation.) · [+91 91233 66161](tel:+919123366161) · [contact@modernagecoders.com](mailto:contact@modernagecoders.com)

Every class is live, one to one or in a small division-matched batch, taught from India at a time arranged with you. Nothing here is a recording. The form starts a conversation, not an enrolment.

---

*Canonical: https://learn.modernagecoders.com/canadian-computing-competition-ccc-prep*
