Free resource for Ontario teachers
Ontario coding curriculum, Grades 1–8
Every coding expectation from the Ontario math curriculum on one page, with what it means in plain words. Print it as a checklist for your class or your whole school.
Where coding sits in the curriculum
Since 2020, coding has been part of the Ontario Grades 1–8 Mathematics curriculum. It lives in Strand C, Algebra, under overall expectation C3: students will “solve problems and create computational representations of mathematical situations using coding concepts and skills.”
Every grade has two specific expectations. C3.1 is about writing and running code. C3.2 is about reading someone else's code, changing it, and explaining what the change does. The coding concept gets harder each year, from putting steps in order in Grade 1 to analysing data with code in Grade 8.
Coding also appears in the Science and Technology curriculum (2022), in Strand A, A2 Coding and Emerging Technologies, where students use coding in investigations and to model concepts.
The checklist, grade by grade
The expectation wording below is from the Ontario Curriculum, Grades 1–8: Mathematics (2020). Each grade links to the official page, so you can check the full expectation and its examples.
Grade 1
Sequential events
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves sequential events”
- C3.2 “read and alter existing code, including code that involves sequential events, and describe how changes to the code affect the outcomes”
In plain words: Put instructions in the right order. Students give a robot or a character steps to follow, one after another, and fix the order when it goes wrong.
Official Grade 1 C3 Coding expectations (Ontario.ca)Grade 2
Sequential and concurrent events
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves sequential and concurrent events”
- C3.2 “read and alter existing code, including code that involves sequential and concurrent events, and describe how changes to the code affect the outcomes”
In plain words: Add things that happen at the same time. Two characters move at once, or a sound plays while a sprite moves.
Official Grade 2 C3 Coding expectations (Ontario.ca)Grade 3
Sequential, concurrent and repeating events
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves sequential, concurrent, and repeating events”
- C3.2 “read and alter existing code, including code that involves sequential, concurrent, and repeating events, and describe how changes to the code affect the outcomes”
In plain words: Use loops. Instead of writing “move” ten times, students repeat one instruction, which is also how they model patterns.
Official Grade 3 C3 Coding expectations (Ontario.ca)Grade 4
Adds nested events
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves sequential, concurrent, repeating, and nested events”
- C3.2 “read and alter existing code, including code that involves sequential, concurrent, repeating, and nested events, and describe how changes to the code affect the outcomes”
In plain words: Put a loop inside a loop. For example, repeat “draw a side” four times to make a square, then repeat the square to make a pattern.
Official Grade 4 C3 Coding expectations (Ontario.ca)Grade 5
Conditional statements and other control structures
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves conditional statements and other control structures”
- C3.2 “read and alter existing code, including code that involves conditional statements and other control structures, and describe how changes to the code affect the outcomes”
In plain words: Make decisions in code with if…then. If the sensor reads more than 20, turn on the light; otherwise, keep it off.
Official Grade 5 C3 Coding expectations (Ontario.ca)Grade 6
Efficient code with conditional statements
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing efficient code, including code that involves conditional statements and other control structures”
- C3.2 “read and alter existing code, including code that involves conditional statements and other control structures, and describe how changes to the code affect the outcomes and the efficiency of the code”
In plain words: Get the same result with less code. Students compare two programs that do the same job and explain why one is more efficient.
Official Grade 6 C3 Coding expectations (Ontario.ca)Grade 7
Defined counts and sub-programs
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing efficient code, including code that involves events influenced by a defined count and/or sub-program and other control structures”
- C3.2 “read and alter existing code, including code that involves events influenced by a defined count and/or sub-program and other control structures, and describe how changes to the code affect the outcomes and the efficiency of the code”
In plain words: Use counters and reusable blocks (functions). A student writes a “draw polygon” block once and calls it with different numbers of sides.
Official Grade 7 C3 Coding expectations (Ontario.ca)Grade 8
Code that analyses data
- C3.1 “solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves the analysis of data in order to inform and communicate decisions”
- C3.2 “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”
In plain words: Use code to work with real data: collect sensor readings or survey results, calculate averages and use them to make a decision.
Official Grade 8 C3 Coding expectations (Ontario.ca)What changes from grade to grade
- Grades 1–4 build the basic structures in order: steps in sequence, things at the same time, loops, then loops inside loops.
- Grades 5–6 add decisions (if…then) and ask students to make their code efficient.
- Grades 7–8 add counters, reusable sub-programs and code that works with real data.
- In every grade, C3.2 asks students to read and change existing code, not only write their own. Debugging is part of the expectation.
Teaching it without a coding background
Most elementary teachers were never trained to teach coding, and planning new lessons takes time most schools don't have. Cyber Square sends a trained, police-checked instructor into your school every week. We bring the Micro:bit robotics kits and ready-made lessons that connect to these expectations, and your teachers can observe or learn alongside their students.
See what students build in each grade band on the Programs page. Schools in Oshawa, Whitby, Ajax, Pickering and Clarington can read about our Durham Region program.
Questions teachers ask about the coding curriculum
Where is coding in the Ontario curriculum?
In the Grades 1–8 Mathematics curriculum (2020), coding is part of Strand C, Algebra, as overall expectation C3 with specific expectations C3.1 and C3.2 in every grade. The Science and Technology curriculum (2022) also includes coding in Strand A, A2 Coding and Emerging Technologies.
Do students need computers to meet the coding expectations?
Not always. Early grades can start with unplugged activities, such as giving step-by-step directions on a grid. Most classes then move to block-based tools such as Scratch and physical devices such as the Micro:bit.
What coding tools fit the Ontario curriculum?
Any tool that lets students write, run, read and change code works. Common choices are ScratchJr and Scratch for younger students, MakeCode for the Micro:bit, and Python in the upper grades.
What if our teachers are not comfortable teaching coding?
That is common. Cyber Square sends a trained instructor into the school every week to teach coding and robotics lessons that connect to these expectations, and brings the Micro:bit kits. Teachers can observe or learn alongside their students.
Is coding also in the high school curriculum?
Yes. The Grade 9 de-streamed mathematics course (MTH1W) includes coding, and Technological Education and Computer Studies courses build on it in Grades 10–12.
Want a trained instructor to teach this for you?
Tell us a little about your school. We'll email you a proposal with dates and pricing.
What happens next
- 1We reply by email within 1 business day.
- 2You pick a day and time that suits your timetable.
- 3Our instructor arrives with the kits.
Prefer email or phone? ijas@cybersquare.ca · +1 647-931-3171
