Where can a Toronto student learn coding and AI with a real teacher?
Modern Age Coders teaches coding and AI live online to Toronto students from age 6 to adult, in a batch of fifteen to twenty or one to one. Most begin with Python for Teens or Python and AI for Kids, then AI and machine learning or our ICS3U and ICS4U companion. Classes run on Toronto time, and the first is free.
A Toronto child meets code long before high school. Since the 2020 Ontario math curriculum, writing and reading code has been part of the Algebra strand from Grade 1, and the de-streamed Grade 9 course, MTH1W, asks students to use it again. What school rarely has room for is depth: time to build something large, break it, find the bug and explain the fix. This page sets out what the curriculum actually asks of a Toronto student at each stage, quoting the ministry where it matters. It also lays out a data project we built on a City of Toronto file, the CEMC contests a Toronto student can enter in 2026 to 2027, and how our live classes sit beside school without pretending to replace it.
Facts last verified 22 October 2026. Teaching is online; no Toronto branch is claimed.
Picked to match the stages of the Ontario curriculum, then checked against the student in a free first lesson before any booking.

Typed Python for children who have outgrown blocks: loops, conditions and small games, the same ideas Ontario math asks for from Grade 3 onward, taken further.
See the syllabus
Python from first program to files, functions and data, the foundation behind the Toronto parks project on this page and behind the CCC.
See the syllabus
Machine learning built in Python on data the student can open and check, so a model is something to question rather than trust.
See the syllabus
Runs alongside a school ICS3U or ICS4U course with extra practice and projects. It does not grant an Ontario credit; the school course does.
See the syllabusBrowse the course atlas for more than one hundred options and use the coding roadmap to check prerequisites.
The four we are known for
These run underneath everything above. Every one is live and online, placed by ability rather than by age, and the first class is free.

Python, web and AI projects where the learner still owns the thinking.
See the syllabus
Automate the work you already do, then let AI carry part of it.
See the syllabus
Train a model, read what it learned, and be able to say why it is wrong.
See the syllabus
Run AI coding agents on real work without losing control of the codebase.
See the syllabusEvery Toronto public school follows the Ontario curriculum. We read the expectations from the ministry’s own curriculum service on 22 October 2026; quoted words are the ministry’s, the rest is our summary.
| Grade | What C3.1 adds that year |
|---|---|
| Grade 1 | Solving problems “by writing and executing code, including code that involves sequential events”: instructions that run one after another |
| Grades 2 to 4 | Our summary: concurrent events in Grade 2, repeating events in Grade 3 and nested events in Grade 4, so loops inside loops by about age nine |
| Grade 5 | Code “that involves conditional statements and other control structures”: the first if and else |
| Grade 6 | The same structures, with the new word “efficient”: students now judge how well code runs, not only whether it runs |
| Grade 7 | Our summary: code driven by a defined count or a subprogram, which is a function by another name |
| Grade 8 | Code “that involves the analysis of data in order to inform and communicate decisions” |
The ladder is steeper than many parents expect. A Toronto student who reaches Grade 8 is expected, on paper, to have written code with loops, conditions, subprograms and data. In a busy classroom where coding is one strand among many, the time each child spends actually typing and debugging is small, which is where a live class with a teacher watching the screen earns its place.
The de-streamed Grade 9 math course (2021) keeps coding in. Expectation C2.1 asks students to “use coding to demonstrate an understanding of algebraic concepts including variables, parameters, equations, and inequalities”, and C2.3 has them read code to predict its outcome.
ICS3U, Introduction to Computer Science, has no prerequisite; the ministry says students “will design software independently and as part of a team”. ICS4U follows it and asks for complex, fully documented programs built with modular design. Each is worth one credit.
The ministry’s current list adds ICD2O (2023), an open Grade 10 course on coding, artificial intelligence and cybersecurity. The 2008 document still describes the older ICS2O, which the current list no longer shows.
| Assessment | Who writes it | Window |
|---|---|---|
| Grade 3 Reading, Writing and Mathematics | Grade 3 students | 4 May to 8 June 2027 |
| Grade 6 Reading, Writing and Mathematics | Grade 6 students | 4 May to 8 June 2027 |
| Grade 9 Assessment of Mathematics | Students in Grade 9 math | 12 January to 5 February 2027 |
| OSSLT (literacy test) | From Grade 10 | 3 to 30 November 2026 |
EQAO says Grade 9 math results are to be included as part of a student’s final course mark, so the January to February 2027 window matters to a Toronto Grade 9 student in a way the elementary assessments do not. Our classes do not prepare students for EQAO by drilling the format; they build the algebra and coding that MTH1W expects, and the assessment follows from that.
We teach alongside a student’s school courses and we do not grant Ontario credits. ICS3U, ICS4U and every other credit are earned at school. We are not connected with the Ontario Ministry of Education, EQAO or the Toronto school boards.
The City of Toronto publishes its Parks and Recreation Facilities list as open data. Our students download it, count it in Python and then work out what the count does not say. The figures below are ours, not the city’s.
| Label in the file (column) | Rows |
|---|---|
| Park (TYPE) | 1,519 |
| Community Centre (TYPE) | 277 |
| Civic Centre (TYPE) | 6 |
| Playground (AMENITIES) | 844 |
| Ball Diamond (AMENITIES) | 231 |
| Washroom (AMENITIES) | 219 |
| Sports Field (AMENITIES) | 174 |
| Tennis Court (AMENITIES) | 169 |
| Wi-Fi (AMENITIES) | 136 |
| Basketball Court (AMENITIES) | 121 |
| Pickleball Court (AMENITIES) | 105 |
This is the beginner Python that prints every number in the table. It uses only the standard library, so it runs on any computer with Python 3, in the same folder as the downloaded file:import csv
type_counts = {}
amenity_counts = {}
with open("parks-and-recreation-facilities-4326.csv", encoding="utf-8") as f:
for row in csv.DictReader(f):
kind = row["TYPE"]
type_counts[kind] = type_counts.get(kind, 0) + 1
if row["AMENITIES"] != "None":
for amenity in row["AMENITIES"].split(","):
amenity = amenity.strip()
amenity_counts[amenity] = amenity_counts.get(amenity, 0) + 1
print(type_counts)
top = sorted(amenity_counts.items(), key=lambda pair: pair[1], reverse=True)
for name, count in top[:8]:
print(name, count)
Students open the dataset page on the City of Toronto Open Data portal and download the CSV named parks-and-recreation-facilities-4326.csv. On our download it had ten columns, among them TYPE, AMENITIES and ADDRESS.
The TYPE column holds one label per row, so a dictionary count is enough. AMENITIES holds a comma-separated list, so each row is split, each piece is stripped of spaces, and every label is counted where it appears.
Then they check their own data. Of the 1,802 rows, 1,800 have distinct LOCATIONID values: LOCATIONID 3891 appears twice with every column identical except _id, and LOCATIONID 883 is listed once as a Park and once as a Community Centre.
The file says whether a park lists a playground, not how many play structures it has, how large they are, or what condition they are in. And 667 rows list no amenity at all, which means none is recorded in this file, not that the park is empty. A student who writes that sentence correctly has learned more than one who only prints 844.
A good second step is the Grade 8 expectation in action: compare the 841 Park rows that list a playground with the 3 Community Centre rows that do, and decide what a fair chart would show. The file is used under the Open Government Licence - Toronto. Contains information licensed under the Open Government Licence - Toronto (licence, dataset page). The City does not endorse this page or our classes.
The Centre for Education in Mathematics and Computing (CEMC) at the University of Waterloo runs the contests most Toronto schools use. Dates below are CEMC’s North and South America dates, read on 22 October 2026.
| If the student is in | Contest | CEMC date |
|---|---|---|
| Grade 10 or below | Beaver Computing Challenge, levels 5/6, 7/8 and 9/10; no coding experience needed | 9 to 20 November 2026 |
| Grades 7 and 8 | Gauss math contest | 10 to 21 May 2027 |
| Grades 9, 10, 11 | Pascal, Cayley and Fermat math contests | 23 and 24 February 2027 |
| Grades 9, 10, 11 | Fryer, Galois and Hypatia math contests | 7 April 2027 |
| Final year of high school | Euclid math contest | 6 April 2027 |
| Any grade, by skill | Canadian Computing Competition (CCC), Junior or Senior | Wednesday 17 February 2027 |
CEMC says “all students must participate through their school”, and a student cannot register alone. Where a Toronto school does not take part, CEMC suggests students “look for another local school that will allow them to join as a participant”.
CEMC lists the 2027 CCC for Wednesday 17 February 2027. Students pick Junior or Senior by programming skill, regardless of grade, and may write in C, C++, Python or Java. It is written at school, online and individually.
CEMC keeps ten years of past contests free online, with no registration. We point students to the CEMC archive and teach with original problems of our own, never by copying CEMC’s.
For CCC work in Python, the Toronto parks project above is closer to a contest than it looks: read input, split a string, count with a dictionary, sort by value. We teach that pattern early, then show students where it becomes too slow for a Senior problem. Our CCC preparation page covers the Junior and Senior tracks, and the Waterloo contests page covers Gauss to Euclid. We are not connected with CEMC or the University of Waterloo.
One Toronto event outside CEMC: Skills Ontario lists its 2027 competition for 3 and 4 May 2027 at the Toronto Congress Centre, with a Coding contest and a team Robotics contest among others. Skills Ontario says students cannot register directly; entry goes through the school’s contact person.
Toronto keeps Eastern time, which shifts twice a year; India, where our teachers are, never shifts. The table lines the two up across the 2026 to 2027 school year.
| Period in Toronto | Toronto offset | India is ahead by | 4 to 7 pm weekday in Toronto is, in India | 9 am to noon Saturday in Toronto is, in India |
|---|---|---|---|---|
| 22 October to 1 November 2026 | UTC-4 | 9 hours 30 minutes | 1:30 to 4:30 am the next day | 6:30 to 9:30 pm |
| 1 November 2026 to 14 March 2027 | UTC-5 | 10 hours 30 minutes | 2:30 to 5:30 am the next day | 7:30 to 10:30 pm |
| From 14 March 2027 | UTC-4 | 9 hours 30 minutes | 1:30 to 4:30 am the next day | 6:30 to 9:30 pm |
Every class time we send is written in Eastern time first. Before clocks go back on 1 November 2026 and forward on 14 March 2027, we re-confirm each class in Toronto time, so nobody has to do the arithmetic.
Numbers with the 416, 437, 647 and 942 area codes work in the form on this page. Type the ten digits; the +1 is already there.
Students who write a reminder script with a fixed UTC-4 offset watch it go wrong on 1 November 2026. Fixing it with the America/Toronto zone teaches more about dates than any worksheet.
Grades are a rough guide; the free class places each student by what they can already do.
Blocks, short programs and puzzles the child explains aloud, matching the sequential and repeating events of C3.1.
Coding for KidsScratch Coding for KidsPython by Grade 5 or 6 for most, with conditions, functions and a first data set before Grade 8 asks for one.
Python and AI for KidsAI Literacy for Kids (Ages 8 to 14)Python taken properly, algebra through code, and a first CCC Junior attempt for students who want one.
Python for TeensCCC Junior and Senior Preparation (Canadian Computing Competition)Support beside the school computer science courses, and machine learning for students heading to university programs.
Ontario Computer Science CompanionAI and Machine Learning for TeensBecause someone still has to know whether the code, and the number it prints, is right.
Ask an AI assistant to count playgrounds in the Toronto file and it will hand back a script in seconds. It may not notice the duplicated row, the park that is also a community centre, or that a blank amenity list means unrecorded rather than absent. Those are judgments, and they come from having written the loop yourself.
That is the habit we teach: think through the problem, write the code, then question the output before believing it. Students use AI tools as they grow older, under age rules we follow, but they use them the way an editor uses a spell checker, not the way a student copies an answer key.
Ontario put coding in the math curriculum so that students learn to reason in steps; that reasoning is exactly what an AI tool cannot do on the student’s behalf. The longer argument is in is coding still worth learning in 2026.
Classes are online, so a student in Scarborough and one in Etobicoke share the same teacher without crossing the city.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Families in Mississauga, Brampton, Markham, Vaughan, Richmond Hill and Oakville join the same classes as Toronto students, on the same Eastern time clock.
A batch of fifteen to twenty students at one level, or a teacher to yourself for faster progress or for ICS4U and CCC work.
Teachers plan in Ontario grades, not ages or years, and know where C3.1, MTH1W and ICS3U sit in the school year. Marked school work always stays the student’s own.
Ontario’s PPM 128 has had Grade 7 to 12 phones stored out of view in class time since 1 September 2024. Our classes run on a laptop or desktop, at home, after school.
The first class is a real lesson that ends with a suggested level and course. No card is asked for.
No Toronto office
Modern Age Coders has no centre in Toronto and claims none. Every class is live and online, taught from India, and a student needs a computer with sound and a steady connection.
Three lines, each with the currency code printed beside the fee.
One full live lesson at no charge, finishing with a recommended level, course and time.
The monthly fee for a batch of fifteen to twenty students working at the same stage.
The monthly fee for one teacher and one student, at times you choose.
Toronto families pay the same monthly fee as families anywhere else in Canada. Nothing is billed until after the free lesson, once the course and the time are agreed; the pricing page sets out missed classes and holidays.
Rated 4.9 across 547 Google reviews. These are real reviews, reproduced 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
We set the first task by level: a looping animation for a Grade 2 child, a Python guessing game for a Grade 6 student, or the parks file for a high school student who wants real data.
The questions Toronto parents and students send us most often.
Yes, live and online. Modern Age Coders has no Toronto centre; students join from home with a real teacher, in a batch of fifteen to twenty or one to one.
From age 6, which lines up with Grade 1, the year Ontario math first asks children to write and run code. Adults are welcome too.
Yes. The 2020 Ontario math curriculum includes coding expectations from Grade 1 to Grade 8, and the Grade 9 course MTH1W asks students to use coding for algebra. ICS3U and ICS4U are optional high school computer science courses.
No. We do not grant Ontario credits. Credits such as ICS3U and ICS4U are earned at school; our companion course runs alongside them with extra practice and projects.
Not robot hardware. We teach the coding and AI side: Python, logic and data, which is the programming a robotics team needs. Families who want to build physical robots should look at a school or local robotics club, and our classes pair well with one.
Yes. Python for Teens takes a student from a first program to files, functions and data, and it is the base for our AI, machine learning and CCC courses.
It depends on age, not on a ranking. Under about 9, blocks and Scratch; from about 9 to 12, Python and AI for Kids; from 13, Python for Teens. The free class confirms the right one.
Yes. CEMC lists the 2027 CCC for Wednesday 17 February 2027. Students write it through their school, and we prepare them with original problems in Python, C++ or Java.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Every time is confirmed in Eastern time.
Yes. Toronto numbers with the 416, 437, 647 or 942 area codes work; enter the ten digits without the leading 1.
Yes. Students in Mississauga, Brampton, Markham, Vaughan, Richmond Hill and Oakville take the same online classes on the same Eastern time schedule.
The fees section on this page shows the free first class, the monthly batch fee and the monthly one-to-one fee, with the currency code beside each figure. Billing starts only after the free class.
For the wider province, read coding classes in Ontario, or start from coding classes in Canada. Contest students can go to CCC preparation and Waterloo contest preparation, and math help is on online math tutoring in Canada.