Competitions · Computer science · CCC

CCC, the Canadian Computing Competition.

Three hours, five problems, and the last one in the senior division is written at something close to international olympiad standard. Set and graded by Waterloo itself - which is why it counts in a Waterloo application.

  • 5problems
  • 3hours
  • 75marks

First, the acronym

Two different contests are called CCC.

Both appear on this site and both are Canadian, which makes them easy to confuse.

This one is computing

The Canadian Computing Competition, run by the Centre for Education in Mathematics and Computing at the University of Waterloo. A programming contest.

The other is chemistry

The Canadian Chemistry Contest, run by the Chemical Institute of Canada. A written chemistry paper with no connection to this one beyond the initials.

At a glance

What the competition is.

CCC has run since 1996 and has drawn more than three hundred thousand students worldwide. It has been open to students in China since 2007 and is recognised by universities including Tsinghua and the University of Hong Kong.

Organiser
The Centre for Education in Mathematics and Computing (CEMC) at the University of Waterloo, which sets, runs and grades it
Since
1996
Who can enter
Secondary students. Junior is for anyone with basic programming skills; Senior for intermediate to advanced programmers
Format
Individual, online, submitted through the CCC Online Grader
Duration
3 hours
Structure
5 problems, 15 marks each, for a total of 75
Languages
C, C++, Python 2, Python 3 and Java
Language restrictions later
The CCO stage requires C++. The CIW stage requires C++ or Python
When
February, with separate dates for the Americas and the rest of the world and registration closing about a week earlier
Entry fee
CAD 10.00, paid to CEMC
Where it leads
The Canadian Computing Olympiad, by invitation to roughly the top twenty of the senior division

The two divisions

Five problems, and each one is a step harder.

Both divisions run the same shape - five problems ramping in difficulty - but they start and finish in very different places.

ProblemsJunior divisionSenior division
1 and 2Basic concepts - loops and conditional statementsBasic algorithms - sorting and searching
3 and 4Combined loops, conditionals and countingMore advanced algorithms - counting and mathematical reasoning
5Recursion and efficient sortingExtremely difficult, approaching the standard of the International Olympiad in Informatics

The senior fifth problem is the reason strong competitors enter. It is also why a student should not read "five problems in three hours" as fifteen minutes each - the last one can absorb an hour on its own.

Why it counts

Waterloo sets it, and Waterloo reads it.

CCC has a specific institutional value that most programming contests do not.

An admissions indicator at Waterloo

The result is an important reference for admission to programmes in Waterloo’s Faculty of Mathematics and to software engineering, and a significant criterion for the faculty’s scholarships.

And recognised beyond it

Waterloo’s standing in mathematics and computing, and the rigour of the contest itself, mean the result carries weight across North American admissions.

Recognised in China too

Open to students in China since 2007 and accepted by universities including Tsinghua and the University of Hong Kong as a reference in admissions.

With modest but real recognition

A Certificate of Distinction goes to the top 25% of all entrants. The Student Honour Roll names the strongest official senior competitors publicly.

Awards

What the top of the field receives.

CEMC keeps the award structure deliberately spare, and one of the two honours has recently changed.

Certificate of Distinction, top 25%

Awarded to every competitor whose score places them in the top quarter of the whole field, in either division.

Student Honour Roll, senior only

The names of the strongest official senior competitors are published. The junior honour roll was discontinued after a CEMC policy change - junior is now positioned as an individual challenge for students who choose that level.

And schools are asked to add their own

CEMC encourages schools and boards to recognise strong performers internally rather than relying on the published lists.

CEMC has final discretion

The centre reserves the right to disqualify a competitor or withhold results, as it does across its contests.

The olympiad

CCO - a week at Waterloo, for about twenty people.

The senior division leads somewhere very specific, and the gate is narrow.

Roughly the top twenty are invited

Only the leading twenty or so senior competitors receive an official invitation from Waterloo to the Canadian Computing Olympiad.

Held at Waterloo, over a week

Invited students travel to the University of Waterloo for a week that includes seminars, two days of competition and other activities.

Usually in May

Three months after CCC itself, which makes the February result the thing to concentrate on.

And C++ becomes compulsory

CCO permits only Java, C or C++. A student who reached CCC through Python needs to change languages before the olympiad.

Preparation

How Hanlin prepares students for CCC.

The organisers publish the practice platform and the past problems, which makes the preparation route unusually clear.

Practising on the real grader

CCC uses the CCC Online Grader for the contest itself, and the same platform holds every past problem with instant feedback. Practising anywhere else gives up that advantage.

Budgeting three hours across five problems

The first two problems should be quick and the fifth may not be finishable. Deciding where to spend the middle hour is a skill worth rehearsing.

Choosing the division honestly

Junior tops out at recursion and efficient sorting. A student comfortable with those should be in Senior, where problems three and four are the real work.

And thinking ahead about language

Python is permitted in CCC but not in CCO. A student aiming at the olympiad is better served learning C++ early than switching under pressure.

Why Hanlin

Preparation for CCC at Hanlin is taught by full-time subject tutors, on a course tier chosen by placement paper rather than by year group.

2017Founded
30,000+Students served
1,000+Schools represented
22Tutors on the roster

Programme formats

Five ways this is taught.

Group size is the whole difference between these. It decides how much of the tutor's attention a student gets and how far the course can bend to them, so it is worth choosing rather than accepting.

FormatGroup sizeWhat it suits
One-to-oneOne studentContent, pace and emphasis set by what this student actually needs rather than by a syllabus. The only format that can be rebuilt mid-course.
Small groupThree to eightOpens at three. Frequent discussion, and the tutor can slow down or move on according to what the group has absorbed. Most students chasing a higher award are taught in this one.
ClassEight to twelveTaught by the subject lead or a medal coach. Less back-and-forth, so it suits a student who will say when something is unclear.
Large classTen to twentyFor students in the middle of the placement range, and a way to try a competition before committing. Students often move to a small group or to one-to-one afterwards.
Past-paper classNo capPast papers worked through in sequence in the weeks before the sitting. Free to students already enrolled.

Course length for CCC is set after a placement paper. The gap between where a student is and what the paper asks for is what the course has to close, and that gap is not the same for two students in the same year group.

How it runs

Six steps, four people on your side.

The same process for every student, so that nothing depends on one tutor remembering to do it.

Step 1

Pre-course assessment

A placement paper before anything is booked, so the course tier is chosen on evidence rather than on a year group.

Step 2

Tutor matching

A subject tutor is matched to the result, and their full background is provided before you agree to it.

Step 3

Plan and group

A study group opens with four people on one student: the tutor, a planner, a supervisor and an academic manager.

Step 4

Scheduled teaching

The teaching office sets the timetable around the competition date and school term, and teaching begins.

Step 5

After-class reports

What was covered, and how the student handled it, reported after every lesson.

Step 6

Homework follow-up

The teaching assistant and the form teacher both check that homework is done, which is where most preparation quietly fails.

Free resource pack

Past papers and preparation pack

The same material our own CCC students work from. Scan the code, say what you need, and an advisor sends it.

Scan to consult on WeChat
Scan to consult on WeChat
Scan to ask on WeChat

Tell an advisor which competition and year group, and the material comes back the same day. Free, and you do not have to enrol in anything. If we do not already hold what you need, we will go and find it.

Usually asked forand more on request
  • PDFPast papers, every year the organiser has released
  • PDFWorked solutions, where the organiser publishes them
  • PDFThe syllabus on one page - every topic, and how heavily it is examined
  • PDFEntry checklist and the dates for the current cycle

Teaching team

Who would teach it.

Three of the twenty-two tutors on the published Hanlin roster - the ones whose subject this is.

Hanlin computer science tutor Luo
Computer science

Luo

Bachelor's and master's in computer science from the University of California and ten years in the United States. Works close to the hardware, and teaches for independent problem solving rather than pattern recall.

Hanlin mathematics and data science tutor Tan
Mathematics and data science

Tan

Master's in data science from the University of Sydney after a statistics degree at Simon Fraser University, graduating in the top 5% with repeated chancellor's honours; A-Levels at a Cambridge international school, and formerly a data analyst at Tencent. An AMC-accredited coach, a College Board-accredited AP teacher, and holder of a Math League excellent-teacher award.

Hanlin mathematics and computing tutor He
Mathematics and computing

He

A Cambridge master's after a computer science degree with a mathematics minor at the University of Nebraska-Lincoln, and a US high school GPA of 4.13. Six years overseas and teaches entirely in English, across AMC, Math League, AP Computer Science and AP Calculus.

Where it is taught

Hanlin learning centres.

Teaching runs from Hanlin's own centres in Shanghai, Shenzhen, Chengdu and Hangzhou, and online for students elsewhere.

Tiered forum space with university pennants at a Hanlin learning centre
The reception area at a Hanlin centre
A training room at a Hanlin learning centre
The student lounge at a Hanlin learning centre
A tutorial room at a Hanlin learning centre
A classroom at a Hanlin learning centre
The Hanlin education building in Shanghai

Talk to an advisor

Everything Hanlin does for CCC, in one conversation.

Entry, planning, coaching and the past papers. An advisor will tell you which of these a student actually needs, including when the answer is none of them.

  • Competition entry and planning

    Which competitions suit this student, in what order, and by when - then we handle the registration, including the ones that can only be entered through a school or a centre.

  • Competition coaching

    Taught by full-time subject tutors, on a course tier chosen by placement paper rather than by year group.

  • International curriculum tutoring

    IB, AP, A-Level, IGCSE and the US high school curriculum, taught alongside school and timed around the exam calendar.

  • Competition past papers, free

    A large library of past papers, mark schemes and syllabus breakdowns across every competition on this site. No charge and no enrolment.

WeChat

Scan to add an advisor

Scan to consult on WeChat
Scan to consult on WeChat

Say which competition or course you are asking about. Replies in Chinese or English.

Or call +86 21 6352 6630

FAQ

CCC, briefly answered.

What students and families ask before entering.

Is this the chemistry contest?

No. This is the Canadian Computing Competition, run by Waterloo’s CEMC. The Canadian Chemistry Contest is a different competition with the same initials and has its own page on this site.

Who can enter?

Secondary students. The junior division suits anyone with basic programming skills; the senior division suits intermediate to advanced programmers.

What is the paper?

Five problems in three hours, fifteen marks each for a total of seventy-five, sat online and submitted through the CCC Online Grader.

Which languages may I use?

C, C++, Python 2, Python 3 or Java. Note that the Canadian Computing Olympiad that follows permits only Java, C or C++, and the CIW stage only C++ or Python.

What does it cost?

CAD 10.00, paid to CEMC.

When is it held?

February, on separate dates for the Americas and the rest of the world, with registration closing about a week before.

How hard is the senior division?

The first two problems test sorting and searching, the middle two counting and mathematical reasoning, and the fifth is extremely difficult - close to the standard of the international olympiad.

What awards are there?

A Certificate of Distinction for the top 25% of all entrants, and a Student Honour Roll naming the strongest senior competitors. The junior honour roll was discontinued after a CEMC policy change.

How do I reach the Canadian Computing Olympiad?

By finishing in roughly the top twenty of the senior division and receiving an official invitation from Waterloo. The olympiad runs for a week at Waterloo, usually in May.

Does it help with a Waterloo application?

It is an important reference for admission to Waterloo’s mathematics faculty programmes and to software engineering, and a significant criterion for the faculty’s scholarships.

Related

Other computing contests.

What students commonly enter alongside CCC.

CCC enquiries

Set by Waterloo, and read by Waterloo.

Very few programming contests are written and graded by the university that also reads the result in admissions. Tell us what the student programs in and which division they are considering, and an advisor will map the February entry.

Competition enquiries+86 21 6352 6630 Curriculum & test enquiries+86 21 6352 6628
Service citiesShanghai · Shenzhen · Chengdu · Hangzhou