Where does a London, Ontario student learn coding and AI from a live teacher?
Modern Age Coders teaches coding and AI live online to students in London, Ontario, from age 6 to adult, in a class of 15 to 20 or one to one. Senior students take our ICS3U and ICS4U companion or our MHF4U and MCV4U math course beside school; younger ones start with Python. The first lesson is free.
For a London, Ontario teenager, Grades 11 and 12 come down to two chains of courses. One runs from ICS3U to ICS4U in computer science; the other runs from MCR3U to MHF4U and on to MCV4U in math, and university computing programs ask for the second chain by name. We do not grant Ontario credits: those are earned at school, and our companion courses run beside them. This page sets out both chains in the ministry’s own words, what one university’s computer science page asks of an Ontario applicant, a project we built on the City of London’s park amenities file, the Waterloo contests that matter in Grade 12, and how our classes fit London’s Eastern clock.
Facts last verified 23 October 2026. Teaching is online; no London branch is claimed.
The two companion courses sit beside school courses and grant no credit. The free first lesson confirms which fits.

Weekly practice, code review and projects beside a school ICS3U or ICS4U course. It does not grant an Ontario credit; the school course does.
See the syllabus
Advanced Functions and Calculus and Vectors explained properly, for students taking MHF4U and MCV4U at school. No credit is granted here.
See the syllabus
Python from the first line to files and data, the right start before ICS3U and the language of the London park project below.
See the syllabus
Machine learning in Python, with the math of MHF4U and MCV4U showing up in the models, and every result questioned.
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 syllabusLondon schools follow the Ontario curriculum. We pulled each course record from the Ontario curriculum content service on 22 October 2026; quoted words are the ministry’s, the summaries are ours.
| Course | Grade and type | Needs first | In the ministry’s words, or our summary |
|---|---|---|---|
| ICS3U Introduction to Computer Science | Grade 11, university | No prerequisite | “Students will design software independently and as part of a team” |
| ICS4U Computer Science | Grade 12, university | ICS3U | “Students will use modular design principles to create complex and fully documented programs” |
| MCR3U Functions | Grade 11, university | Principles of Mathematics, Grade 10, Academic | Our summary: the course that opens the senior math chain |
| MHF4U Advanced Functions | Grade 12, university | MCR3U, or Mathematics for College Technology, Grade 12 | Our summary: the Grade 12 function course that university computing programs name |
| MCV4U Calculus and Vectors | Grade 12, university | MHF4U, before or at the same time | The ministry says MHF4U “must be taken prior to or concurrently with” MCV4U |
The two chains meet in university admission. The University of Waterloo’s computer science page, read on 22 October 2026, lists Advanced Functions, Calculus and Vectors, any Grade 12 U English and one other 4U course for Ontario applicants, and names Grade 11 U Introduction to Computer Science as recommended. In other words, a London student aiming at computing needs MHF4U and MCV4U, and ICS3U is the course that page encourages, not the one it demands. The ministry allows MCV4U to be taken at the same time as MHF4U, and a student who does that finds a weak function or a shaky limit costing marks in both.
Ontario’s current list also holds ICD2O, a 2023 open course for Grade 10 in which students apply coding concepts to hands-on projects and investigate artificial intelligence and cybersecurity. It is a gentle first look, not a prerequisite for ICS3U.
EQAO describes the Grade 9 Assessment of Mathematics as an online test of 54 questions over two sessions, using a multi-stage computer adaptive model, and says the results are included in the student’s final course mark. The 2027 window is 12 January to 5 February 2027.
For students who began Grade 9 in 2024 or later, one compulsory credit must come from a STEM group that includes computer studies, so a computer studies course such as ICS3U can count toward that requirement as well as being an elective.
We teach alongside a London student’s school courses, and we do not grant Ontario credits. ICS3U, ICS4U, MHF4U and MCV4U credits are earned only through the school. We are not connected with the Ontario Ministry of Education, EQAO, the University of Waterloo or any London school board.
The City of London publishes a Park Amenities file: soccer fields, ball diamonds, play structures, courts and more, each with an owner and a year built. Our students chart the years and find a spike that needs explaining. All counts below are ours.
| Decade | Rows | Note from our analysis |
|---|---|---|
| 1920s to 1950s | 9 in all (1, 1, 2, 5) | The oldest entry is 1927 |
| 1960s | 27 | |
| 1970s | 12 | |
| 1980s | 13 | |
| 1990s | 181 | 141 of them in 1996 alone |
| 2000s | 279 | |
| 2010s | 290 | |
| 2020s | 262 | 203 of them carry the single year 2021 |
This script prints the decade chart as rows of hash marks, then breaks down the 2021 rows by owner. Run it with Python 3 next to the downloaded CSV:import csv
from collections import Counter
decades = Counter()
by_owner_2021 = Counter()
no_year = Counter()
sizes = Counter()
with open("park-amenities.csv", encoding="utf-8-sig") as f:
for row in csv.DictReader(f):
year = row["YearConstructed"].strip()
owner = row["Owner"] or "(blank)"
if year.isdigit():
decades[int(year) // 10 * 10] += 1
if year == "2021":
by_owner_2021[owner] += 1
else:
no_year[owner] += 1
if row["AmenityType"]:
sizes[row["AmenityType"].lower()] += 1
for decade in sorted(decades):
print(decade, "#" * (decades[decade] // 10), decades[decade])
print("built in 2021, by owner:", dict(by_owner_2021))
print("no year, by owner:", dict(no_year))
print("peewee after lower():", sizes["peewee"])
A text histogram, one hash mark per ten rows, shows the shape at a glance: almost nothing before 1990, then a broad plateau. Then one year inside the plateau stands out, with 203 rows dated 2021.
Split the 2021 rows by the Owner column and the spike changes character: 164 are school-owned, 32 city-owned and 7 private. Most are ball diamonds (124) and tennis courts (42).
The file lists 276 school-owned rows in total. Every one is dated 2021 or has no year at all (112). Not a single school row carries any other year.
Our reading, and it is ours, not the city’s: 2021 is probably the year school fields were added to the city’s records, not the year 164 diamonds and courts were built. The file cannot prove that. A good student writes “dated 2021 in this file” instead of “built in 2021”, and says why.
The last line of the script teaches a smaller lesson. The AmenityType column spells one size as Peewee 25 times and as PeeWee once; lowercasing first gives the honest count of 26. For a stronger student, the next step is mapping the soccer fields (254 rows) and ball diamonds (194) with the X and Y columns, which hold projected map coordinates rather than latitude and longitude. The data comes from the City of London under its Terms of Use for City of London open data, which allow use for any lawful purpose; the file is publicly available from the City under those terms (dataset page). The City has not approved or endorsed this page or our classes.
CEMC at the University of Waterloo runs both. Facts below come from CEMC’s contest pages, read on 22 October 2026.
| Item | Junior | Senior |
|---|---|---|
| Who it suits | Beginner to intermediate programmers | Intermediate to advanced programmers |
| Format | 5 questions, 3 hours, score out of 75 | 5 questions, 3 hours, score out of 75 |
| Opening questions | Basic loops and conditions | Sorting and searching |
| Last question | Recursion, two-dimensional arrays, efficient algorithms | An IOI level question |
| 2026 average score | 42.65 | 15.56 |
The Senior average sitting near a fifth of the marks tells a London student something useful: the paper is meant to stretch even good programmers. CEMC lists the 2027 CCC for Wednesday 17 February 2027, and notes that with some language choices, Python or Java for example, a perfect score may not always be possible, which is why our Senior students learn to judge an algorithm’s speed before writing it. ICS4U students meet that same idea when the course asks for efficient, modular programs.
CEMC lists the Euclid for Tuesday 6 April 2027, for students in their final year of secondary school. Its full-solution questions reward the clear written reasoning MHF4U and MCV4U ask for.
Waterloo’s computer science page says a contest such as the Euclid is not required for admission, but is required for some Faculty of Mathematics scholarships. Its Admission Information Form, due 15 February 2027, asks about Waterloo contests written.
CEMC does not take entries from individual students; a London student writes through their own school, or through another local school that agrees to host them.
We prepare students with problems we write ourselves and point them to CEMC’s free past contests for the real thing; we never reproduce CEMC questions or solutions. For deeper reading see the CCC Senior guide, MHF4U help and MCV4U help. Modern Age Coders is independent of CEMC and of the University of Waterloo.
London keeps the same Eastern clock as Toronto. Our teachers work from India, which does not change its clocks, so the gap is an hour wider in winter.
| Period | London offset | Gap to India | 6:30 pm weekday in London | 10 am Sunday in London |
|---|---|---|---|---|
| To 1 November 2026, and again from 14 March 2027 | UTC-4 | 9 hours 30 minutes | 4:00 am, following day | 7:30 pm |
| 1 November 2026 to 14 March 2027 | UTC-5 | 10 hours 30 minutes | 5:00 am, following day | 8:30 pm |
We plan around the EQAO window, the February CCC and June exams, and lighten homework-heavy weeks when a family asks. The class time itself stays fixed unless you move it.
Numbers in the London area use 519, 226, 548 or 382. Type the ten digits into the form; the +1 for Canada is already set.
Before Ontario falls back on 1 November 2026 and springs forward on 14 March 2027, we send each London family a short note with its class times restated in Eastern time.
The grades are a rough guide; the free lesson places each student by what they can already do.
Visual coding, sequences and loops, with the child explaining the plan before running it.
Coding for KidsScratch Coding for KidsPython with conditions, functions and small games, plus a first, careful look at how AI learns.
Python and AI for KidsAI Literacy for Kids (Ages 8 to 14)Real Python, data files such as the London one above, and a first try at the CCC Junior.
Python for TeensCCC Junior and Senior Preparation (Canadian Computing Competition)Support beside ICS3U and ICS4U and beside MHF4U and MCV4U, with no credit granted by us.
Ontario Computer Science CompanionOntario Grade 12 University MathNo. It makes understanding the code more valuable, not less.
Give an AI assistant the London amenities file and ask how many were built each year, and it may well plot 2021 as a building boom. The tool did the counting correctly and the interpretation wrongly. Spotting that the spike is almost all school rows, and that school rows have no other year, is a human judgment that comes from writing the cross-tab yourself.
That is how we teach: reason through the problem, write the code, then challenge the result. Teens meet AI tools as part of the work, within each tool’s age rules, and use them to explain and check rather than to produce what they hand in.
ICS4U asks for programs that are fully documented, and documenting code well means understanding every line of it. The longer argument is in why understanding beats generating, in our longer essay.
Everything happens on a home computer, so a student in north London and one in the south end share one teacher with no driving.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Teachers plan in Ontario grades and course codes and know where ICS3U units, MHF4U tests and the Grade 9 EQAO fall. Marked school work stays the student’s own.
A class of 15 to 20 students at one stage, or one to one for faster progress, contest work or a hard term in MCV4U.
Students elsewhere in southwestern Ontario join exactly the same classes; nothing depends on where in the region a family lives.
A laptop or desktop with a headset and a stable connection. Senior students install Python and an editor in the first lesson, with the teacher watching the screen.
A real lesson, ending with a recommended course and time. We ask for no payment details at this stage.
Online only
Modern Age Coders has no London, Ontario office or classroom. Every lesson is taught live online from India, in English.
Three options, priced in the currency your browser shows.
One complete live lesson, free, finishing with a suggested level and course.
The monthly fee for a class of 15 to 20 students at the same stage.
The monthly fee for a private teacher, at times that suit the student.
The monthly fee in London is the same as anywhere else in Canada. Billing begins only after the free lesson and once a course and time are agreed; the pricing page explains 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
Tell us the grade and the courses. A Grade 4 child might build a looping animation, a Grade 9 student a Python quiz, and an ICS3U student the decade chart from the London file.
The questions London families send us most often.
Yes, taught live over video rather than in a local centre. Students from age 6 join from home, in a class of 15 to 20 or one to one.
Yes. Our companion course runs beside the school course with practice, code review and projects in Python and Java. We do not grant Ontario credits; the credit is earned at school.
Yes. Our Grade 12 university math course covers Advanced Functions and Calculus and Vectors alongside school. Ontario lists MHF4U as needed before or at the same time as MCV4U, and we plan lessons in that order.
Not always. The University of Waterloo computer science page lists MHF4U and MCV4U as requirements and ICS3U as recommended. Each university sets its own rules, so check its admission page.
EQAO describes it as an online, adaptive test of 54 questions in two sessions, with results included in the final course mark. The 2027 window is 12 January to 5 February 2027.
Yes, through a school, since CEMC does not accept individual entries. CEMC lists the 2027 CCC for Wednesday 17 February 2027, at Junior or Senior level.
From 6, with block coding. Most move to typed Python between 9 and 11, and adults are welcome at any age.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Times are always confirmed in Eastern time.
Yes. London-area numbers with 519, 226, 548 or 382 all work; enter the ten digits without the leading 1.
In the fees block on this page: the free trial lesson, the monthly class fee and the monthly private fee, each in your own currency. No charge is made before the trial.
For the whole province see coding classes in Ontario; for the country, coding classes in Canada. Course-by-course help is on ICS3U help, ICS4U help and MHF4U help, and contest students can start at CCC preparation.