PSMC / Y / 01
Mental Math for Kids
Number sense rather than tricks, ages 5 to 10.
Open the syllabusCanada · Coding and math · Problem solving
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
Each one puts the student in charge of the reasoning, with the teacher asking rather than telling.

PSMC / 01
Ages 7 to 12, complete beginners. Puzzles, patterns and step-by-step plans, then code that carries them out.
Open the syllabus →
PSMC / 02
Ages 10 to 15, Grades 5 to 10, no coding needed. Fractions, geometry and probability learned by building them in Python.
Open the syllabus →
PSMC / 03
Ages 13 to 18. Logic, data structures and algorithms, for students heading towards contests or computer science.
Open the syllabus →Five thinking moves
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.
| Move | What the student does | The question the teacher asks |
|---|---|---|
| 1. Restate | Says the problem in their own words, including what the answer should look like | "What exactly are we being asked for?" |
| 2. Shrink | Tries a smaller or simpler version first, and looks for a pattern | "What if there were only two?" |
| 3. Predict | Says what a program or a calculation will produce before running it | "What will this print, and why?" |
| 4. Estimate | Works out roughly how big the answer must be, to catch a wrong one | "Is that answer even the right size?" |
| 5. Explain and change | Explains each step aloud, then adapts the solution when a rule changes | "Why does that line work? What if the rule changed?" |
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 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
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.
| Where | In the curriculum's words | The 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.
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.
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
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.
# 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.
# 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.
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.
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
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.
| Teams | Games, listed or counted | Games |
|---|---|---|
| 2 (A, B) | A at home to B; B at home to A | 2 |
| 3 (A, B, C) | Each team hosts the other 2: 3 times 2 | 6 |
| 4 | Each team hosts the other 3: 4 times 3 | 12 |
| 5 | Each team hosts the other 4: 5 times 4 | 20 |
| 6 | Each team hosts the other 5: 6 times 5 | 30 |
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.
# 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))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.
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.
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
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.
# 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.
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 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
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.
| Age | Our rule | Why |
|---|---|---|
| 6 to 12 | No AI tools for writing code or solving problems in class | The habits in the five moves need years of practice without a shortcut |
| 13 to 17 | Think and write first; then an AI tool may be used, with a parent's permission where the tool requires it, to check or explain | Students learn to treat AI output as a claim to test, like worked example 3 |
| 18 and up | AI tools as a working partner, after the learner can read and explain the code they produce | Adults need the same understanding to catch the tool's mistakes |
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.
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
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."
| Source | What CEMC says | How we use it |
|---|---|---|
| Beaver Computing Challenge | The 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 Americas | Logic 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 contests | Resources 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
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.
| Minutes | What happens | The move in use |
|---|---|---|
| 0 to 5 | A warm-up puzzle on screen; students restate it before anyone solves it | Restate |
| 5 to 20 | The main problem, attempted by students first, with the teacher asking only questions | Shrink and predict |
| 20 to 35 | Students share approaches, including wrong ones; the class finds where each one breaks | Explain |
| 35 to 50 | Code or written working to carry out the strongest approach, then a check by estimate or by program | Estimate |
| 50 to 60 | One rule changes; students adapt their solution and say what they changed | Explain and change |
Students work in short turns and share on screen; the teacher picks who explains, so nobody can hide.
A few one-to-one classes alongside the batch, spent on the problems the student finds hardest.
The whole hour follows one student's thinking, with problems chosen from their school course.
Where a student starts
Our stages, used to place a student in the first class.
| Stage | What it looks like |
|---|---|
| 1. Waits | Stops at the first difficulty and waits to be shown |
| 2. Tries | Has a go, but cannot say why an attempt failed |
| 3. Checks | Shrinks, predicts or estimates without being reminded, and catches their own errors |
| 4. Adapts | Changes a solution when the rule changes, and explains the change |
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.
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
Taught live online by a teacher who stays with the student, in a batch or one to one.
PSMC / Y / 01
Number sense rather than tricks, ages 5 to 10.
Open the syllabusPSMC / Y / 02
Plans and loops through games, ages 6 to 12.
Open the syllabusPSMC / Y / 03
How AI works and where it goes wrong, ages 8 to 14.
Open the syllabusPSMC / T / 01
Gauss to Euclid with problems our teachers write.
Open the syllabusPSMC / T / 02
Contest programming without AI, in Python or C++.
Open the syllabusPSMC / T / 03
A full language, learned by predicting and changing code.
Open the syllabusPSMC / D / 01
Olympiad-style problems for students who want more.
Open the syllabusPSMC / D / 02
Algorithms and proof of correctness, ages 13 to 18.
Open the syllabusPSMC / D / 03
The full treatment, for ages 18 and up.
Open the syllabusHow our classes run
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.
Students meet the problem before the method.
No code runs before someone says what it will do.
Wrong answers on purpose, for students to catch.
Tools only once the student can explain the answer.
Each checks the other, as in the league example.
Separate batches for children, teens and adults.
Student work
Projects are where the five moves meet real work. A few are below; the student labs page shows more.

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

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

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

Web app
A weather forecasting site with live conditions for any location.
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
Group batch
$100 USD
a month, eight live classes
One to one
$150 USD
a month, eight live classes
What families say
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
More on thinking, coding and math for Canadian students.
Every course we teach for Canadian families.
Live math help mapped to each province's courses.
More on turning a problem into steps.
The reasoning behind finding bugs like the one above.
What changes when AI writes the code.
Why the two subjects strengthen each other.
Where each province puts coding.
Contest math for Grades 7 to 12.
A first programming contest, with problems we wrote.
Start here
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.
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