Canada · Coding and math · Problem solving

Problem-solving coding and math classes in Canada

A worked answer is now one photo or one prompt away for every Canadian student. That changes what a class is for. If a child can get the answer without thinking, the only thing worth paying a teacher for is the thinking itself: deciding what a problem is asking, trying a smaller version, predicting before running, checking a claim before trusting it. This page shows what that looks like, through three worked examples we wrote, one in code, one in math and one about checking an answer that sounds right. It also shows where Canadian curricula already ask for the same habits, and how we treat AI tools in class.

Live online since 2020 · ages 6 to 67 · every example on this page written by our teachers

In short

A problem-solving class in coding or math teaches students to work out answers themselves: to predict before running code, test small cases, estimate, explain each step and check any claim, including one from an AI tool. Modern Age Coders teaches this live online to students across Canada aged 6 to 67, one to one or in a batch, through courses including Problem Solving for Kids and Math Through Coding.

Courses built on thinking

Three problem-solving courses for Canadian students

Each one puts the student in charge of the reasoning, with the teacher asking rather than telling.

Five thinking moves

The five moves we practise in every class

Problem solving sounds vague until it is broken into actions a student can take. These five are ours, and every worked example further down uses at least two of them. They work in code and in math, at age seven and at age seventeen.

Five thinking moves (our teaching framework)
MoveWhat the student doesThe question the teacher asks
1. RestateSays the problem in their own words, including what the answer should look like"What exactly are we being asked for?"
2. ShrinkTries a smaller or simpler version first, and looks for a pattern"What if there were only two?"
3. PredictSays what a program or a calculation will produce before running it"What will this print, and why?"
4. EstimateWorks out roughly how big the answer must be, to catch a wrong one"Is that answer even the right size?"
5. Explain and changeExplains each step aloud, then adapts the solution when a rule changes"Why does that line work? What if the rule changed?"

Why moves, not tips

A tip ("always draw a picture") helps with one kind of problem. A move is something a student can try on any problem when they are stuck, and they can tell whether it worked.

We name the moves out loud in class. After a few weeks students start saying "let me shrink it" before the teacher does, which is the moment the habit has transferred.

What the promise means in practice

What we promise families is simple to say and hard to fake: a student leaves able to work a problem out alone, instead of lifting an answer from a book, a classmate or an AI tool, and the teaching is the same standard in Kamloops, in Moncton or anywhere else we teach.

On a screen, that means the student types and the teacher asks. If the teacher is writing most of the code or most of the working, the class has slipped, and we would want you to tell us.

What schools already ask

Canadian curricula already ask for these habits

Problem solving is not an extra that we bolt on. Provincial curricula across Canada name the same habits in their own words. Each quoted line is copied from a ministry curriculum page that we opened on 22 October 2026.

Thinking habits named in provincial curricula (quoted from each province's curriculum)
WhereIn the curriculum's wordsThe move it matches
Ontario, Grade 1 math, coding"read and alter existing code, including code that involves sequential events, and describe how changes to the code affect the outcomes"Explain and change
Ontario, Grade 6 math, coding"describe how changes to the code affect the outcomes and the efficiency of the code"Predict, explain and change
Ontario, Grade 9 math (MTH1W)"read code to predict its outcome, and alter code to adjust constraints, parameters, and outcomes"Predict
Ontario, Grade 9 math (MTH1W)"create code by decomposing situations into computational steps in order to represent mathematical concepts and relationships"Restate and shrink
British Columbia, Computer Science 11"dividing complex problems into parts that are easier to conceive, understand, and program"Shrink
British Columbia, Computer Programming 11"Key components are decomposition, patterns and generalizations, abstraction, and algorithmic thinking."Shrink and explain
Ontario, Grade 10 (ICD2O)"including automation and artificial intelligence, and assess their benefits and limitations"Checking a claim
New Brunswick, Computer Science 110"using coding environments or AI-assisted debugging tools"Checking a claim

Sources: the Ontario curriculum (through its public content service), BC Computer Science 11, BC Computer Programming 11 and New Brunswick Computer Science 110, read 22 October 2026. The third column is our reading.

Predict before you run

Ontario's Grade 9 course asks students to "read code to predict its outcome". That is move three, written into a provincial math course. It is also the single habit that most separates a student who copies code from one who understands it.

A student who predicts first and is wrong learns something. A student who runs first and sees the right answer often learns nothing, because there was no question in their head to answer.

Teachers are working on AI too

Ontario's memorandum on mandatory professional activity days for 2026-27, dated May 15, 2026, lists "Cyber Safety and Artificial Intelligence" as a topic, including "how to effectively and safely use those tools with students".

Schools and families are asking the same question this page asks: how to keep the thinking with the student when a tool can produce the answer. Our answer is in the section on AI below.

Worked example 1: code

The warmest morning: a bug that only thinking finds

Our example, written for students of about 11 and up. A week of Canadian winter mornings is stored in a list, and the program should print the warmest. Version 1 looks right, runs without an error, and is wrong. Before reading on, predict what it prints.

Version 1 · our program, with a bugpython
# Our example, version 1: the warmest morning of a cold week (written by Modern Age Coders)
temps = [-18, -7, -22, -11, -9]
warmest = 0
for t in temps:
    if t > warmest:
        warmest = t
print(warmest)

It prints 0. Every reading is below zero, so no reading is ever greater than the starting value of 0, and the program reports a temperature that never happened. Tested in Python on 22 October 2026.

How the five moves find it. Restate: the answer must be one of the five readings, so 0 cannot be right. Predict: trace the loop by hand; warmest starts at 0, and -18 > 0 is false, so it never changes. Shrink: try a list with one reading, [-5]; the right answer is -5 and the program says 0. Explain: the bug is not in the loop but in the starting value, which assumes the answer is at least 0.

Version 2 · the fix, start from a real readingpython
# Our example, version 2: start from a real reading, not from zero
temps = [-18, -7, -22, -11, -9]
warmest = temps[0]
for t in temps[1:]:
    if t > warmest:
        warmest = t
print(warmest)

It prints -7, the warmest morning in the list. Starting from the first reading means the starting value is always a real answer. Tested in Python on 22 October 2026.

Why this example

Version 1 is the kind of code a student copies from a summer-weather tutorial, where temperatures are positive and the bug never shows. It passes every test that does not include a Canadian January.

A student who has learned to shrink and predict finds it in minutes. A student who has only learned to copy will trust the 0, because the program did not crash.

The change test

Once the fix is in, we change the rule: "now print the coldest morning, and which day it was." A student who understood version 2 changes the comparison and adds a counter. A student who did not, starts again.

For younger students the same idea works with a Scratch sprite that should stop at the highest platform on screen, when every platform is below its starting height.

Worked example 2: math

Home and away: counting games by shrinking the problem

Our example, for students of about 10 and up. A hockey league has 6 teams, and every team plays every other team twice, once at home and once away. How many games are played? Three answers come up again and again in class: 36, 15 and 30. Only one is right.

Shrinking the league to find the pattern (our worked example)
TeamsGames, listed or countedGames
2 (A, B)A at home to B; B at home to A2
3 (A, B, C)Each team hosts the other 2: 3 times 26
4Each team hosts the other 3: 4 times 312
5Each team hosts the other 4: 5 times 420
6Each team hosts the other 5: 6 times 530

Why the wrong answers are wrong. 36 is 6 times 6, which counts each team playing itself; with 2 teams the same method gives 4, but we listed only 2 games. 15 counts each pair once, which is right for a league that plays once, not twice. The pattern from the shrunk cases is n times (n minus 1), and for 6 teams that is 30. The habit is to test any formula on a case small enough to list by hand.

Checking the pattern with a program (ours)python
# Our check: count home-and-away games in a league (written by Modern Age Coders)
def games(n):
    count = 0
    for home in range(n):
        for away in range(n):
            if home != away:      # a team never plays itself
                count += 1
    return count

for n in range(2, 7):
    print(n, "teams:", games(n), "games;", "n * (n - 1) =", n * (n - 1))
What it printstext
2 teams: 2 games; n * (n - 1) = 2
3 teams: 6 games; n * (n - 1) = 6
4 teams: 12 games; n * (n - 1) = 12
5 teams: 20 games; n * (n - 1) = 20
6 teams: 30 games; n * (n - 1) = 30

Tested in Python on 22 October 2026. The program counts every home-and-away pair directly and agrees with n * (n - 1) for every league size from 2 to 6.

Math and code on the same problem

The table is the math: shrink, list, spot the pattern, write the rule. The program is the code: count everything the slow way to check the rule. Each one checks the other.

This is the core of our Math Through Coding course. A student who can do both believes the answer for a reason, not because the back of the book said so.

The change test, again

Change the rule: each pair now plays three times. A student who understood says 6 times 5 divided by 2 times 3, which is 45, and can say why the division by 2 appears.

For a Grade 12 student, the same structure leads to counting arrangements and choices, the ideas behind combinations in data management courses.

Worked example 3: checking a claim

An answer that sounds right: estimating before you trust it

Our example, for any age from about 9. A confident, well-written explanation, of the kind a website, a classmate or an AI tool might give, says: "There are about 5 million seconds in a year." It sounds precise. Is it right? The move is to estimate, and it takes under a minute.

  1. Round to friendly numbers. A minute has 60 seconds and an hour has 60 minutes, so an hour has 3,600 seconds. Call it about 4,000.
  2. Scale up to a day. A day has 24 hours. About 4,000 times 24 is close to 100,000 seconds; the true figure is 86,400.
  3. Scale up to a year. About 100,000 times 365 is about 36 million. Rounding down, a year has roughly 30 million seconds or a little more.
  4. Compare with the claim. 5 million is about six times too small. The claim is wrong, and we found out without a calculator.
  5. Check exactly, last. Only now do we compute: 60 times 60 times 24 times 365.
The exact check (ours)python
# Our check: seconds in a year of 365 days
print(60 * 60 * 24 * 365)

It prints 31536000, about 31.5 million, for a year of 365 days, when we ran it on 22 October 2026. The estimate of roughly 30 million was close; the confident claim of 5 million was not.

Why we teach estimation so hard

Estimation is the cheapest defence against a wrong answer, whatever produced it: a slip on a calculator, a misread question, or a fluent paragraph from a tool that sounded sure of itself.

A student who estimates first can tell in seconds whether an answer is the right size. That habit lasts long after the formulas are forgotten.

The point about sounding right

The claim in this example is ours, invented to be wrong. Real wrong answers rarely announce themselves; they are written in the same calm tone as right ones.

That is why "check a claim before you trust it" is a skill we teach directly, with planted wrong answers, rather than a warning we give once.

Where AI fits

Where AI tools fit in a problem-solving class

We do not pretend AI tools do not exist; New Brunswick's Computer Science 110 names AI-assisted debugging tools, and Ontario's Grade 10 ICD2O asks students to assess AI's benefits and limitations. We do insist on an order. These are our class rules.

Our rules for AI tools in class, by age (ours)
AgeOur ruleWhy
6 to 12No AI tools for writing code or solving problems in classThe habits in the five moves need years of practice without a shortcut
13 to 17Think and write first; then an AI tool may be used, with a parent's permission where the tool requires it, to check or explainStudents learn to treat AI output as a claim to test, like worked example 3
18 and upAI tools as a working partner, after the learner can read and explain the code they produceAdults need the same understanding to catch the tool's mistakes

Contests make the case for us

For the whole sitting, the Canadian Computing Competition's rules ban "generative AI such as CoPilot or ChatGPT", and add that "AI-based tools within an IDE cannot be used." A student preparing for it must be able to think alone.

Away from contests, anyone under 18 needs a parent's permission to use ChatGPT, and Claude is for adults only. We do not recommend either to younger students.

The test we use

When a teen uses an AI tool to check work, we ask them to close it and explain the answer in their own words, then change one condition and solve it again.

If they can, the tool helped. If they cannot, the tool did the thinking, and we go back to the five moves.

Free practice in Canada

Free Canadian problems that reward thinking

Some of the best problem-solving practice in Canada costs nothing. These come from CEMC, the Waterloo-based Centre for Education in Mathematics and Computing, which says of its contests: "Our contests are not tests or exams. There is no passing or failing score."

CEMC problem sources suited to thinking practice (CEMC's own pages, read 22 October 2026)
SourceWhat CEMC saysHow we use it
Beaver Computing ChallengeThe questions "only require familiarity with concepts covered in the mathematics curriculum across all Canadian provinces"; "Time allowed for completion is 45 minutes."; written in school, Monday, November 9, 2026 to Friday, November 20, 2026 in the AmericasLogic and computational thinking without any code, for Grades 5 to 10
Problem of the Week"e-mailed to educators for use with their students from Grades 3 to 12"; "New problems are sent every Thursday, and their solutions are sent one week later."One problem a week, attempted before class and discussed with the five moves
Past contestsResources from the last ten years, free, with "no registration or fee required"Practice papers, always attempted before the solution is opened

Sources: CEMC, Beaver Computing Challenge, Problem of the Week and CEMC resources, read 22 October 2026. For contest entry, CEMC says "all students must participate through their school." We are not connected with CEMC, and we never reproduce its problems; we link to them and write our own.

Inside a class

What an hour of problem solving looks like

Our outline for a one-hour live class. The proportions change with age, but the order does not: the problem comes before the method, and the student speaks more than the teacher.

A one-hour problem-solving class (our outline)
MinutesWhat happensThe move in use
0 to 5A warm-up puzzle on screen; students restate it before anyone solves itRestate
5 to 20The main problem, attempted by students first, with the teacher asking only questionsShrink and predict
20 to 35Students share approaches, including wrong ones; the class finds where each one breaksExplain
35 to 50Code or written working to carry out the strongest approach, then a check by estimate or by programEstimate
50 to 60One rule changes; students adapt their solution and say what they changedExplain and change

In a batch of 15 to 20

Students work in short turns and share on screen; the teacher picks who explains, so nobody can hide.

Before a contest or test

A few one-to-one classes alongside the batch, spent on the problems the student finds hardest.

One to one

The whole hour follows one student's thinking, with problems chosen from their school course.

Where a student starts

Four stages of a problem solver

Our stages, used to place a student in the first class.

Four stages of problem solving (ours)
StageWhat it looks like
1. WaitsStops at the first difficulty and waits to be shown
2. TriesHas a go, but cannot say why an attempt failed
3. ChecksShrinks, predicts or estimates without being reminded, and catches their own errors
4. AdaptsChanges a solution when the rule changes, and explains the change

For parents

At home, the most useful question is not "is it right?" but "how do you know?". It moves a child from stage 2 to stage 3 faster than any worksheet.

Resist giving the answer when your child is stuck. Ask what a smaller version would look like instead.

For students

Before you run code or check an answer, say out loud what you expect. Being wrong first is how you learn.

If an answer appears from anywhere, a friend, a website, a tool, estimate it before you believe it.

The catalogue

Nine courses where thinking comes first

Taught live online by a teacher who stays with the student, in a batch or one to one.

I

Younger thinkers

Ages 5 to 12

PSMC / Y / 01

Mental Math for Kids

Number sense rather than tricks, ages 5 to 10.

Open the syllabus

PSMC / Y / 02

Scratch Coding for Kids

Plans and loops through games, ages 6 to 12.

Open the syllabus

PSMC / Y / 03

AI Literacy for Kids

How AI works and where it goes wrong, ages 8 to 14.

Open the syllabus
II

Teen problem solvers

Ages 11 to 18

PSMC / T / 01

Waterloo Math Contests

Gauss to Euclid with problems our teachers write.

Open the syllabus

PSMC / T / 02

CCC Junior and Senior Preparation

Contest programming without AI, in Python or C++.

Open the syllabus

PSMC / T / 03

Python for Teens

A full language, learned by predicting and changing code.

Open the syllabus
III

Deeper reasoning

Strong students and adults

PSMC / D / 01

Competition Mathematics

Olympiad-style problems for students who want more.

Open the syllabus

PSMC / D / 02

Competitive Programming for Teens

Algorithms and proof of correctness, ages 13 to 18.

Open the syllabus

PSMC / D / 03

Data Structures and Algorithms

The full treatment, for ages 18 and up.

Open the syllabus

How our classes run

Live problem-solving classes on a Canadian timetable

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.

Weekdays

After school, in the clock of your own province.

Weekends

Weekend mornings for a slower, deeper hour.

1-on-1

Arranged around the student, with problems from their own course.

Problem first

Students meet the problem before the method.

Predict, then run

No code runs before someone says what it will do.

Planted errors

Wrong answers on purpose, for students to catch.

AI after thinking

Tools only once the student can explain the answer.

Code and math together

Each checks the other, as in the league example.

Ages 6 to 67

Separate batches for children, teens and adults.

Student work

Projects our students have built

Projects are where the five moves meet real work. A few are below; the student labs page shows more.

NutriLife AI nutrition coach project screenshot

AI and ML

NutriLife

An AI nutrition coach that reads what you eat and works you toward a target.

by Bhavya · Open it

Misti AI chatbot for maths and coding screenshot

AI and ML

Misti

A chatbot that answers mathematics and programming questions, built and deployed by a student.

by Harshit · Open it

GuardianX AI internet safety assistant screenshot

AI and ML

GuardianX

An assistant that helps a young person recognise unsafe situations online.

by Vivaan · Open it

SkyCast weather forecast application screenshot

Web app

SkyCast

A weather forecasting site with live conditions for any location.

by Krish

Fees

Fees

One monthly fee, shown here in your own currency, for eight live classes. There is no long contract; families pay a month at a time.

Free first class

Free

no card required

  • A free first class
  • A problem matched to your child
  • No card required
Book it

Group batch

$100 USD

a month, eight live classes

  • Batch of 15 to 20 students
  • Eight live classes each month
  • The same teacher throughout
Start here

One to one

$150 USD

a month, eight live classes

  • Private lessons for one student
  • Problems from their own course
  • Times arranged with you
Enquire

What families say

Rated 4.9 across 547 Google reviews

Reviews from parents on Google, exactly as written.

★★★★★

"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

Questions from Canadian families

Problem-solving classes: questions and answers

What is a problem-solving class in coding or math?

A class where the student works out the answer, with the teacher asking questions rather than giving steps. We practise five moves: restate the problem, shrink it, predict, estimate, and explain and change the solution.

How is this different from an ordinary coding class?

Many coding classes have students follow along and type. Ours asks students to predict what code will do before running it, find bugs by reasoning, and change their program when a rule changes. The coding example on this page shows the difference.

How do you stop students copying answers or AI output?

The student types and the teacher asks. Every answer has to be explained aloud, every program is predicted before it runs, and every lesson ends with a rule change that a copied answer cannot survive.

Can my child use ChatGPT or other AI tools?

Not in class for children under 13. Teens think and write first, then may use a tool to check, with a parent's permission where the tool requires it; no one under 18 should use ChatGPT without a parent agreeing. Adults use AI as a partner once they can explain the code.

Does problem solving help with school math in Canada?

It matches what the curricula ask. Ontario's Grade 9 math course asks students to read code to predict its outcome, and BC's Computer Science 11 is about dividing complex problems into smaller parts. Both are habits we practise every class.

What age is right to start?

Our problem-solving course for kids starts at age 7, and mental math at 5. Teens can join Problem Solving for Teens from 13 with no experience, and adults are welcome in separate batches.

Does my child need to know how to code first?

No. Problem Solving for Kids and Math Through Coding both start from zero. The Beaver Computing Challenge, run by CEMC, also needs no coding: its questions use concepts from the math curriculum.

Are there free problem-solving resources in Canada?

Yes. CEMC at the University of Waterloo offers past contests and a weekly Problem of the Week for Grades 3 to 12 at no cost, and its contests are written through schools. We link to them and write our own problems for class.

Will this improve my child's marks?

We do not promise marks. What families usually notice first is that homework takes less time, children try before asking for help, and explanations start with because.

What times are classes for Canadian families?

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. We set every time in your own province's clock.

Elsewhere on this site

Related pages

More on thinking, coding and math for Canadian students.

Coding classes in Canada

Every course we teach for Canadian families.

Online math tutor, Canada

Live math help mapped to each province's courses.

Think like a programmer

More on turning a problem into steps.

How to debug code

The reasoning behind finding bugs like the one above.

Vibe coding or real coding?

What changes when AI writes the code.

Coding and mathematical thinking

Why the two subjects strengthen each other.

Coding curriculum by province

Where each province puts coding.

CEMC Waterloo contests

Contest math for Grades 7 to 12.

CCC Junior guide

A first programming contest, with problems we wrote.

Start here

Book a free first class

The first class starts with a problem matched to your child's age, solved by your child with the teacher only asking questions. At the end you will hear which of the five moves come naturally and which need practice.

Want to watch first? How we teach shows recorded lessons, and the course list has every syllabus.

WhatsApp us · +91 91233 66161 · connect@modernagecoders.com

Our teachers teach from India, live over video, so a student in Kelowna or Charlottetown joins the same class from home. WhatsApp is the fastest way to reach us.

Free to book, with no card and no obligation.

Want a class sooner? Book a priority demo

A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.

Book a priority demo

Keep exploring Modern Age Coders

More maths tuition

Learn more

From the blog

Start here

Free classPriority demoCall us