---
title: "Ontario Math Curriculum Coding, Grades 1 to 8, by Grade"
description: "Coding in the Ontario math curriculum, Grade 1 to Grade 8: the C3.1 expectation for each grade, quoted, what it means, and a worked example for every band."
canonical: https://learn.modernagecoders.com/ontario-coding-curriculum-grades-1-to-8
source: src/pages/ontario-coding-curriculum-grades-1-to-8.html
---
> Coding in the Ontario math curriculum, Grade 1 to Grade 8: the C3.1 expectation for each grade, quoted, what it means, and a worked example for every band.

In short

Ontario’s 2020 elementary math curriculum puts coding in Strand C, Algebra, as expectation C3 in Grades 1 to 8. Its C3.1 wording grows from code with sequential events in Grade 1 to code that analyses data in Grade 8. Modern Age Coders teaches this live online, as a group or one to one, in Scratch Coding for Kids.

Learn it with a teacher

## Three courses that follow the Grade 1 to 8 coding ladder

Scratch carries the early grades, the math course keeps number sense moving, and Python takes over around Grade 5 or 6.

[![Scratch Coding for Kids course thumbnail](/images/scratch-kids.webp)  ONT / 01 Scratch Coding for Kids Ages 6 to 12. Sequences, two sprites at once, loops and loops inside loops: the Grade 1 to 4 rungs, built as games. Open the syllabus →](/courses/scratch-programming-complete-course)[![Elementary Maths for Grades 1-5 course thumbnail](/images/elementary-maths.webp)  ONT / 02 Elementary Math, Grades 1 to 5 Placement by grade, then counting, operations, fractions and geometry. The arithmetic every coding task leans on. Open the syllabus →](/courses/elementary-mathematics-complete-masterclass)[![Maths Through Coding course thumbnail](/images/maths-through-coding.webp)  ONT / 03 Math Through Coding Ages 10 to 15. Fractions, patterns, geometry and probability written as Python programs: the Grade 5 to 8 rungs. Open the syllabus →](/courses/maths-through-coding)

The reference table

## The C3.1 coding expectation, Grade 1 to Grade 8

In every grade the overall expectation is the same sentence: students will “solve problems and create computational representations of mathematical situations using coding concepts and skills”. What changes is the specific expectation C3.1, which ends “by writing and executing code, including code that involves” and then names that year’s idea. This table quotes the part that changes.

| Grade | C3.1 asks for code that involves | A line from the curriculum’s notes | What it looks like (ours) |
| --- | --- | --- | --- |
| 1 | “sequential events” | “In coding, a sequential set of instructions is executed in order.” | A route of arrow cards across a floor grid |
| 2 | “sequential and concurrent events” | “Concurrent events are when multiple things are occurring at the same time” | Two Scratch sprites moving at once |
| 3 | “sequential, concurrent, and repeating events” | “Loops make code more readable and reduce the number of instructions that need to be written.” | A repeat block that walks a rectangle and adds up its sides |
| 4 | “sequential, concurrent, repeating, and nested events” | “Loops can exist within loops, referred to as ‘nested loops’.” | A loop inside a loop that draws a 3 by 4 array |
| 5 | “conditional statements and other control structures” | “Conditional statements are a representation of binary logic (yes or no, true or false, 1 or 0).” | Checking whether 47 belongs to a number pattern |
| 6 | the same as Grade 5, but now “efficient code” | “Using loops whenever possible is one way to make code more efficient.” | Adding 1 to 100 two ways and counting the work |
| 7 | “events influenced by a defined count and/or subprogram and other control structures”, still “efficient code” | “Sub-programs can be reused for multiple programs or can be called upon more than once from one main program.” | A function that counts doublings, called three times |
| 8 | “the analysis of data in order to inform and communicate decisions” | “By combining mathematical and coding concepts and skills, students can write programs to draw conclusions from data.” | A week of garden rainfall turned into a watering decision |

| Grades | C3.2 in the curriculum’s words |
| --- | --- |
| 1 to 5 | “read and alter existing code” that involves that grade’s idea, “and describe how changes to the code affect the outcomes” |
| 6 and 7 | The same, plus how changes affect “the outcomes and the efficiency of the code” |
| 8 | “read and alter existing code involving the analysis of data in order to inform and communicate decisions, and describe how changes to the code affect the outcomes and the efficiency of the code” |

### Three things the table shows

First, the ideas pile up rather than replace each other. Grade 4 still lists sequential and concurrent events; it simply adds nesting on top. A Grade 4 child who never got comfortable with plain repetition is being asked to put a loop inside a loop.

Second, the word “efficient” enters C3.1 in Grade 6 and stays in Grade 7, then drops out of the Grade 8 C3.1 sentence, where data takes centre stage. Efficiency does not vanish in Grade 8: C3.2 still asks how changes affect “the efficiency of the code”.

### And the third

Every C3.1 is about mathematical situations, not about coding for its own sake. The Grade 3 list of possible situations includes “determining perimeter”; the Grade 1 list starts with “moving from one location to another”. The code is a way of doing math out loud, where the computer checks the thinking.

That is why our examples below are all math problems first. A child who can explain why the program prints what it prints has met the expectation, whatever tool they used.

Source: [The Ontario Curriculum: Mathematics, Grades 1 to 8 (2020)](https://www.dcp.edu.gov.on.ca/en/curriculum/elementary-mathematics), Strand C, expectations C3.1 and C3.2 and the notes attached to them for each grade, read through the curriculum site’s public content service on 22 October 2026. Grade-by-grade quotes are exact; we dropped a stray space the service prints before commas. This page is our own reading: we have no tie to the ministry or to any school board.

Reading the wording

## What the coding expectations mean, in plain language

The curriculum’s notes are short and precise. Five of them settle most of the questions parents ask us, starting with which program a child should use.

### No tool is prescribed

The notes for Grades 1 to 4 say: “Coding can include a combination of pseudocode, block-based coding programs, and text-based coding programs.” Neither Scratch nor Python is named in any of the eight grade documents we read.

### Code can run on a person

Children can program “a pixelated image on a screen, a classmate acting out the code when appropriate, or a physical device (e.g., robot, microcontroller)”. A Grade 1 lesson with no computer at all can meet C3.1.

### Order sometimes matters

A Grade 3 note on C3.2 says: “It is important for students to understand when order matters.” Adding steps in any order gets the same total; turning then moving is not the same as moving then turning.

### One equal sign or two

From Grade 5, the notes draw a line that trips up many beginners: “Assignment statements assign a value to a variable and usually use a single equal sign (=), while comparison statements are used to compare two values and usually use a double equal sign (==)”.

In math class, the equal sign says two sides are the same. In most code, a single equal sign means “put this value in this box”. A child who writes `total = total + 4` is not writing a false equation; they are updating a running total. We spend a whole lesson on that one difference.

### What “efficient” means here

The Grade 6 notes define it: “Efficient code may involve using the instructions to solve a problem, using the smallest amount of space to store program data, and/or executing as fast as possible.” At this age that mostly means fewer instructions doing the same job, often by using a loop instead of copying a line ten times.

Grade 7 adds the defined count: “A defined count is used to repeat an instruction either for a predefined number of times (e.g., 10 repeats) or until a condition has been met (e.g., Number <= 100).” The doubling example further down is exactly that second kind of loop.

Coding also turns up outside math. The 2022 Science and Technology curriculum asks Grade 6 students to “use coding in investigations and to model concepts, and assess the impact of coding and of emerging technologies on everyday life”, and its A2.1 adds “with a focus on obtaining input in different ways”. So a Grade 6 child may meet coding twice a week in two subjects, with two teachers using two different tools.

One example per band, ours

## What each band of the coding curriculum looks like in practice

These are our own examples, written for this page. The early ones are described as Scratch blocks or classroom activities; from Grade 4 on they are Python programs that we ran, with the output printed under each. None is taken from the curriculum’s own sample tasks.

### Grades 1 and 2: a route, then two things at once

**Grade 1, unplugged.** Tape a 5 by 5 grid on the floor and put a toy at one corner. The child lays arrow cards in a row (forward, forward, turn right, forward) and a parent walks the route exactly as written. If the parent ends up in the wrong square, the child finds the card that is wrong. That is writing, executing, reading and altering a sequential program.

**Grade 2, in Scratch.** Two sprites, a cat and a bus, each get their own script that starts with the green flag. The bus glides across the road while the cat counts to ten. The concurrent part is that both scripts run at the same moment; the math is in how many steps each glide takes and which one arrives first.

### Grade 3: one loop does the walking

A sprite walks around a rectangle that is 60 steps long and 40 steps wide. Written out in full, that is eight blocks: move, turn, move, turn, and so on. With a repeat block set to 2 around “move 60, turn 90, move 40, turn 90”, it is one loop with four blocks inside.

Then the math: add a variable called perimeter, and inside the loop add 60 and 40 to it. The sprite finishes at 200. Ask the child to change the repeat to 3 and predict the new perimeter before pressing the flag. The answer, 300, is wrong for a rectangle, and the child has to say why.

***Grade 4 · nested loop · Python (ours)**python*

```
# Grade 4 band: a nested loop draws an array (ours)
rows = 3
columns = 4
dots = 0
for r in range(rows):
    line = ""
    for c in range(columns):
        line = line + "o "
        dots = dots + 1
    print(line)
print(rows, "rows of", columns, "is", dots, "dots")
```

Output: three rows of `o o o o`, then `3 rows of 4 is 12 dots`. The inner loop runs four times for every one turn of the outer loop, which is multiplication made visible: change `rows` to 5 and the program prints 20 dots.

***Grade 5 · a conditional inside a loop · Python (ours)**python*

```
# Grade 5 band: is a number in the pattern 5, 9, 13, ...? (ours)
target = 47
term = 5
found = False
while term <= target:
    if term == target:
        found = True
    term = term + 4
if found:
    print(target, "is in the pattern")
else:
    print(target, "is not in the pattern")
```

Output: `47 is not in the pattern`. The terms go 5, 9, 13 and on to 45, then 49, which jumps past 47. The `if` asks a yes-or-no question on every term, which is the binary logic the Grade 5 notes describe.

***Grade 6 · efficiency · Python (ours)**python*

```
# Grade 6 band: two ways to add 1 + 2 + ... + 100 (ours)
steps = 0
total = 0
for n in range(1, 101):
    total = total + n
    steps = steps + 1
print("Loop:", total, "after", steps, "additions")

last = 100
quick = last * (last + 1) // 2
print("Pairing rule:", quick, "after 1 calculation")
```

Output: `Loop: 5050 after 100 additions`, then `Pairing rule: 5050 after 1 calculation`. Pair 1 with 100, 2 with 99, and so on: 50 pairs of 101. Same answer, one calculation instead of a hundred, which is what C3.2 means by the efficiency of the code.

***Grade 7 · a subprogram with a defined count · Python (ours)**python*

```
# Grade 7 band: a subprogram with a defined count (ours)
def doublings_past(start, limit):
    """How many times must start double before it is more than limit?"""
    count = 0
    value = start
    while value <= limit:
        value = value * 2
        count = count + 1
    return count

print(doublings_past(3, 100))
print(doublings_past(5, 1000))
print(doublings_past(1, 1))
```

Output: 6, 8 and 1. Starting from 3, five doublings reach 96 and the sixth jumps to 192, past 100; 5 needs eight to pass 1000; 1 needs one. The loop runs until a condition is met, not a fixed number of times, and the function is written once and called three times.

***Grade 8 · data to a decision · Python (ours)**python*

```
# Grade 8 band: use data to make a decision (ours)
rain_mm = [12, 0, 4, 0, 0, 7, 0]   # one week of rain in the school garden

def mean(values):
    return sum(values) / len(values)

week_mean = mean(rain_mm)
spread = max(rain_mm) - min(rain_mm)
dry_days = 0
for r in rain_mm:
    if r == 0:
        dry_days = dry_days + 1

print("Mean:", round(week_mean, 1), "mm a day")
print("Range:", spread, "mm")
print("Dry days:", dry_days)
if dry_days >= 4:
    print("Decision: water the garden on dry days")
else:
    print("Decision: no extra watering")
```

Output: `Mean: 3.3 mm a day`, `Range: 12 mm`, `Dry days: 4`, then `Decision: water the garden on dry days`. The mean alone would hide the dry spell; the count of dry days is what drives the decision. Asking which measure to trust is the Grade 8 skill.

C3.2, worked

## Reading and altering code: our predict, change, predict routine

Every grade’s C3.2 asks children to read code someone else wrote, change it, and explain what the change did. We teach that as a routine with six steps, using the Grade 5 pattern program above. It works the same way on a Scratch script in Grade 2.

1. **Read it aloud, line by line.** “The target is 47. The first term is 5. While the term is not past the target, check it, then add 4.” If a line cannot be said in words, that line is the first thing to teach.
2. **Predict before running.** Write the prediction down: in or not in? A child who guesses “in” because 47 is odd has found a real misconception to work on.
3. **Run it and compare.** The program prints that 47 is not in the pattern. The gap between the prediction and the output is where the lesson is.
4. **Change exactly one thing.** Set `target = 45`. Predict again, then run: `45 is in the pattern`. One change at a time is the only way to know which change did what.
5. **Change the rule, not the number.** Set the step from 4 to 3 and the first term to 2, so the pattern is 2, 5, 8 and so on. Is 47 in it now? (Yes: 2 plus 15 threes is 47.)
6. **Explain the effect in a sentence.** “When I changed the step, the program checked a different pattern, so the answer changed.” That sentence is the “describe how changes to the code affect the outcomes” half of C3.2, and it is the half children most often skip.

### Adding efficiency in Grades 6 and 7

From Grade 6, C3.2 adds a second question after every change: did the code get more or less efficient? In the pattern program, there is a faster test. Subtract the first term, 47 minus 5 is 42, and check whether 42 divides evenly by 4. It does not, so 47 is out, with no loop at all.

We ask students to write both versions and count how many times the loop body runs for a target of 4,001. The loop version checks 1,000 terms before reaching it; the remainder test does one division. Children remember the idea far better once they have counted the cost themselves.

### Mistakes worth making on purpose

Change `term <= target` to `term < target` and test with 45. The loop now stops one term too early, after checking 41, so the program says 45 is not in the pattern. Off-by-one errors like this follow students all the way to high school computer science, so we plant them early.

Change the starting value of `found` to `True` and every number is suddenly in every pattern. A child who can explain why has understood that a variable remembers whatever it was last told.

Tools by grade

## Unplugged, Scratch or Python: which tool fits which grade

Because the curriculum leaves the tool open, schools and boards differ. This is how we match tools to the grades, based on teaching young children online since 2020. It is our approach, not a ministry rule.

| Grades | Main tool | Why at this age | Ready to move on when |
| --- | --- | --- | --- |
| 1 and 2 | Unplugged cards, then ScratchJr or Scratch | Reading is still developing; arrows and blocks carry the logic without typing | The child can fix a wrong route without being told which card is wrong |
| 3 and 4 | Scratch | Repeat blocks and loops inside loops are visible as shapes inside shapes | They choose a loop without prompting when a step repeats |
| 5 and 6 | Scratch, then first Python | Conditionals and variables read naturally as words; typing speed is usually enough | They can predict a short program’s output on paper |
| 7 and 8 | Python | Functions, lists and data need a text language to stay readable | They write a function, call it twice and test an edge case |

### When the school tool is different

Some Ontario classrooms use a block editor, a robot or a microcontroller kit instead of Scratch. The ideas carry over: a loop is a loop. In our first class we ask which tool the class uses and show the child how today’s idea looks in both.

For families comparing the two big options, our article on [Scratch vs Python for young learners](/blog/scratch-vs-python-which-better-young-learners) sets out the trade-offs, and [Scratch not working](/scratch-not-working-help) covers the common home-computer problems.

### Screens and safety for young coders

For Grades 1 and 2 we keep sessions short and mix in unplugged tasks, so a lesson is not forty minutes of staring at a screen. Scratch accounts for children can be set up by a parent, and we never ask a child to create an account on their own.

We do not use chatbots or AI code generators with elementary students. The point of C3.1 is that the child writes and executes the code; a program the child did not write teaches them nothing about sequence, loops or conditions.

For parents

## How to support the coding expectations at home

Most parents did not learn to code in elementary school, and none of this needs a parent who can. Here is the plan we give families, in the order we suggest it.

1. **Find out the tool.** Ask the teacher which program or device the class codes with this term, and whether code appears on report-card comments under math.
2. **Find the grade’s key word in the table above.** Sequential, concurrent, repeating, nested, conditional, efficient, defined count, data. That one word is what this year is about.
3. **Play it unplugged first.** Give spoken instructions to make a sandwich or walk to the door, and let the child debug yours. Sequence and order make sense in the body before they make sense on a screen.
4. **Ask for a prediction every time.** “What will happen when you press the flag?” is the single most useful question a parent can ask, and it needs no coding knowledge.
5. **Change one thing together.** Pick one number in your child’s project and change it. Ask what changed on screen and why.
6. **Keep the math in sight.** Ask what the code is calculating: steps, a total, a pattern rule. If nobody can say, the project is a cartoon rather than math.
7. **Save the projects.** A folder of finished Scratch or Python files from September to June shows growth far better than a single mark.

### Questions worth asking the teacher

How is coding assessed in math this term? Is it part of an Algebra unit or spread across the year? Which tool, and can my child use it at home? What does a strong piece of coding work look like at this grade?

Teachers usually welcome these questions, and the answers tell you whether coding is a weekly habit in the classroom or a two-week unit.

### Contests and free practice

The University of Waterloo’s CEMC runs the Beaver Computing Challenge. It lists the 2026 BCC for North and South America from Monday, November 9, 2026 to Friday, November 20, 2026, with a Grade 5/6 level, and says the questions “only require familiarity with concepts covered in the mathematics curriculum across all Canadian provinces”. CEMC says “all students must participate through their school.”

CEMC’s Problem of the Week is e-mailed to educators for students “from Grades 3 to 12”. Our page on [Waterloo contests](/cemc-waterloo-contests-preparation) covers the math contests from Grade 7 up. CEMC runs these on its own; we have no part in them.

Where this section comes from (all read on 22 October 2026): [The Ontario Curriculum: Mathematics, Grades 1 to 8 (2020)](https://www.dcp.edu.gov.on.ca/en/curriculum/elementary-mathematics); the Ontario Science and Technology curriculum (2022), Grade 6, A2 and A2.1, through the same content service; CEMC’s [Beaver Computing Challenge](https://cemc.uwaterloo.ca/contests/bcc), [Problem of the Week](https://cemc.uwaterloo.ca/resources/potw) and [How contests work](https://cemc.uwaterloo.ca/contests/how-contests-work) pages.

Where your child is now

## Four stages of an elementary coder

Our own stages, drawn from teaching young children their first lines of code. Grade level and stage often differ, and that is fine.

| Stage | What it looks like |
| --- | --- |
| 1. Follower | Builds a script by copying a model, block by block, and is delighted when it runs |
| 2. Fixer | Spots the wrong step in someone else’s sequence and corrects it |
| 3. Predictor | Says what a loop or condition will do before running it, and is right more often than not |
| 4. Designer | Starts from a math question, plans the code, and explains why it works |

### For parents

Watch for stage 2 at home. A child who says “that block is in the wrong place” has moved past copying, whatever their grade.

Stage 3 is the one that the C3.2 expectations reward, and it grows only with practice at predicting, not with more screen time.

### For young coders

Before you press the green flag, say out loud what you think will happen.

When something goes wrong, change one block, then test. Not three blocks. One.

The catalogue

## More courses for Ontario children in Grades 1 to 8

Each one runs as live video lessons with a teacher your child will see every week, in a group or alone.

I

### The first years

Grades 1 to 3

ONT / EAR / 01

#### Early Math Foundations

Counting, shapes and patterns with objects a child can hold.

[Open the syllabus](/courses/early-math-foundations)

ONT / EAR / 02

#### Mental Math for Kids

Number bonds and estimation, built as real understanding.

[Open the syllabus](/courses/mental-maths-mastery-kids)

ONT / EAR / 03

#### Coding for Kids

From a first Scratch game to apps, at the child’s pace.

[Open the syllabus](/courses/kids-coding-blocks-masterclass)II

### Thinking and building

Grades 3 to 6

ONT / MID / 01

#### Computational Thinking for Kids

Logic puzzles that train decomposition and patterns.

[Open the syllabus](/courses/problem-solving-and-computational-thinking-for-kids)

ONT / MID / 02

#### Python for Kids

Typed code, turtle drawings and small games from age 9.

[Open the syllabus](/courses/python-ai-kids-masterclass)

ONT / MID / 03

#### Game Development for Kids

Loops and conditions inside games children actually play.

[Open the syllabus](/courses/game-development-masterclass-for-kids)III

### Ready for Grade 9

Grades 6 to 8

ONT / SR / 01

#### Middle School Math

Pre-algebra, geometry and data before high school.

[Open the syllabus](/courses/comprehensive-middle-school-mathematics-mastery)

ONT / SR / 02

#### Algebra Foundations

Variables and equations, the bridge into Grade 9 math.

[Open the syllabus](/courses/algebra-foundations-masterclass)

ONT / SR / 03

#### Math Competitions, Grades 5 to 8

Harder problems for children who finish early.

[Open the syllabus](/courses/middle-school-math-competitions-course)

How classes run

## Live coding lessons sized for young children

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

Late afternoon, once homework and snacks are done.

Weekends

Saturday or Sunday mornings, often the calmest slot for a six-year-old.

1-on-1

Paced to one child and one grade’s expectations.

### Short, active sessions

Blocks, talk and unplugged moves mixed.

### Math in every project

Each program computes something real.

### Predict first, always

The habit C3.2 is built on.

### A parent summary

What we did and one task to try.

### Same teacher weekly

Someone who knows your child.

### Batch or private

Fifteen to twenty, or one child.

Student work

## What our students have built

Older students’ work, to show where a Grade 3 Scratch loop can lead. More on the [student labs](/student-labs) page.

![NutriLife AI nutrition coach project screenshot](/images/projects/nutrilife.webp)

AI and ML

#### NutriLife

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

by Bhavya · [Open it](https://nutrilife-bhavya.lovable.app)

![Misti AI chatbot for maths and coding screenshot](/images/projects/misti.webp)

AI and ML

#### Misti

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

by Harshit · [Open it](https://misti.modernagecoders.com)

![GuardianX AI internet safety assistant screenshot](/images/projects/guardianx.webp)

AI and ML

#### GuardianX

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

by Vivaan · [Open it](https://guardianx-cybersaver.lovable.app)

![SkyCast weather forecast application screenshot](/images/projects/skycast.webp)

Web app

#### SkyCast

A weather forecasting site with live conditions for any location.

by Krish

Fees

## Fees

Your first class is free. Families then pay one monthly fee for eight live classes a month; the price box shows the amount with its currency code. Nothing is signed for a term, and a family that wants to stop simply tells us before the next month begins.

Free first class

Free

no card required

- A free first class
- A short placement chat
- No card details

Book it

Group batch

$100 USD

a month, eight live classes

- Fifteen to twenty children
- Grouped by age
- One regular teacher
- Paid month by month

Start here

One to one

$150 USD

a month, eight live classes

- A teacher for one child
- Times that suit your week
- Planned from their grade

Enquire

What families say

## Rated 4.9 across 547 Google reviews

What parents and students wrote on Google, unedited.

★★★★★

"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 Ontario parents

## Coding in Ontario elementary math: common questions

### Is coding part of the Ontario math curriculum?

Yes. The 2020 Ontario elementary mathematics curriculum includes coding in Strand C, Algebra, as overall expectation C3, in every grade from 1 to 8. Students are expected to solve problems and create computational representations of mathematical situations using coding concepts and skills.

### What is the Grade 1 coding expectation in Ontario?

Grade 1 C3.1 asks students to solve problems and represent math situations by writing and executing code that involves sequential events, meaning instructions carried out in order. C3.2 asks them to read and alter existing code with sequential events and describe how the changes affect the outcome.

### What is the Grade 3 coding expectation in Ontario?

Grade 3 C3.1 asks for code that involves sequential, concurrent and repeating events. Repeating events are loops, which the curriculum notes say make code more readable and reduce the number of instructions that need to be written.

### What is the Grade 6 coding expectation in Ontario?

Grade 6 C3.1 asks students to write and execute efficient code that involves conditional statements and other control structures. Grade 6 C3.2 adds that students describe how changes to the code affect both the outcomes and the efficiency of the code.

### What changes in Grades 7 and 8?

Grade 7 C3.1 adds events influenced by a defined count or a subprogram, which means loops that run until a condition is met and reusable pieces of code. Grade 8 C3.1 focuses on code that analyses data in order to inform and communicate decisions.

### Does the curriculum say which coding program to use?

No. The notes say coding can combine pseudocode, block-based coding programs and text-based coding programs, and that students can program a character on a screen, a classmate acting out the code, or a device such as a robot. Neither Scratch nor Python is named in the grade documents we read.

### My child has never coded. Is it too late in Grade 5?

No. Each year's expectation includes the earlier ideas, so a Grade 5 child starts with sequence and loops in the first weeks and reaches conditional statements quickly. Children who start later often move fast because their reading and math are stronger.

### Can I help with coding if I cannot code myself?

Yes. Ask your child to predict what their program will do before running it, change one number together and talk about what changed, and ask what the code is calculating. None of that needs any coding knowledge.

### Is coding tested on the EQAO assessments?

EQAO describes its Grade 3 and Grade 6 assessments as covering reading, writing and mathematics. We have not found an EQAO statement on whether coding questions appear, so we do not claim either way. Ask your school how coding is assessed in class.

### Do you use AI tools with young children?

Not to write their code. In these lessons the child writes every line, in unplugged activities, Scratch and then Python, and we use no chatbots or AI code generators with elementary students. Some of our kids' courses do teach what AI is by having children train small models of their own, with no chatbot accounts.

### When do the lessons happen?

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 book every lesson in your local clock. Ontario's Eastern zone falls back an hour on 1 November 2026 and springs forward on 14 March 2027, and we reconfirm the lesson time in each of those weeks.

### What does it cost?

Nothing for the first lesson. From then on a single monthly fee covers eight live lessons, and no term has to be signed. Look at the fees box on this page for today's figure, shown separately for a batch and for a private teacher.

Elsewhere on this site

## Related pages

More for Ontario families with children in elementary school.

### [Coding classes in Ontario](/coding-classes-in-ontario)

Our main page for the province, all ages.

### [Coding classes in Canada](/coding-classes-in-canada)

Our pages for families across the provinces.

### [Scratch classes for kids](/scratch-coding-classes-for-kids)

How our Scratch course runs, week by week.

### [Online math tutor, Canada](/online-math-tutor-canada)

Math help from Grade 1 through Grade 12.

### [Why coding and math together](/why-coding-and-maths-together)

The case for learning the two side by side.

### [Coding and mathematical thinking](/blog/how-coding-improves-mathematical-thinking-children)

What changes in a child’s math when they code.

### [Waterloo math contests](/cemc-waterloo-contests-preparation)

Gauss in Grades 7 and 8, and what follows.

### [How we teach](/how-we-teach)

Our lesson structure, written out in full.

Start here

## Book a free first class

Tell us your child’s grade, the tool their class uses and how they feel about coding so far. The first lesson starts from where they are, with something they can finish and show you.

Want to see the shape of a lesson first? [How we teach](/how-we-teach) lays it out, and the [Scratch course syllabus](/courses/scratch-programming-complete-course) lists every project.

[WhatsApp us](https://wa.me/919123366161?text=Hello%20Modern%20Age%20Coders%2C%20my%20child%20is%20in%20elementary%20school%20in%20Ontario%20and%20I%20would%20like%20help%20with%20the%20coding%20part%20of%20math.%20Could%20we%20book%20a%20free%20first%20class%3F) · [+91 91233 66161](tel:+919123366161) · [connect@modernagecoders.com](mailto:connect@modernagecoders.com)

Lessons are live video with teachers based in India, timed for Ontario afternoons and weekend mornings. Nobody visits your home, and WhatsApp is the fastest way to reach us.

### 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](/book-demo)

## Keep exploring Modern Age Coders

### By class and age

- [Python for CBSE Class 10 AI (417)](/python-for-cbse-class-10-ai)
- [Java for ICSE & ISC Students](/java-programming-for-icse-students)
- [Python for Class 10: Board-Safe Python for CBSE IT 402 + College Prep](/python-for-class-10)
- [ICSE Class 10 Java Programs Practice](/icse-class-10-java-programs-practice)
- [Python for Class 11 CBSE: CS 083 & IP Aligned, Pandas, SQL, Functions](/python-for-class-11-cbse)
- [ICSE Class 10 Java Classes Online](/icse-class-10-java-classes-online)
- [CBSE Class 10 AI Exam Date 2027 and Paper Pattern (417)](/cbse-class-10-ai-exam-date-and-paper-pattern)
- [ICSE Computer Applications Project and Internal Assessment 2027](/icse-class-10-computer-applications-project-and-internal-assessment)
- [CBSE Computational Thinking for Classes 3-5](/cbse-computational-thinking-classes-3-to-5)

### Learn more

- [Alberta's New Math Curriculum Explained: K to 6 and 7 to 9](/alberta-new-math-curriculum-explained)
- [MTH1W Explained: Ontario De-streamed Grade 9 Math and Coding](/mth1w-grade-9-math-explained)
- [Grade 6 Math and Coding Help, Ontario: Strands and Practice](/ontario-grade-6-math-and-coding-help)
- [MCF3M vs MCR3U: Which Grade 11 Math to Take in Ontario](/mcf3m-vs-mcr3u)

### From the blog

- [Maths Learning Guides](/blog/topic/maths)
- [BODMAS Rule Explained: The Left to Right Step](/blog/bodmas-rule-explained)
- [What JavaScript to Learn Before React (with Examples)](/blog/javascript-to-learn-before-react)
- [Coding Interview Preparation for Freshers: A Plan](/blog/coding-interview-preparation-for-freshers)

### Start here

- [Real projects built by Modern Age Coders students](/student-labs)
- [Browse every live course at Modern Age Coders](/courses)

Free class[Priority demo](/book-demo)[Call us](tel:+919123366161)

---

*Canonical: https://learn.modernagecoders.com/ontario-coding-curriculum-grades-1-to-8*
