Who teaches coding and AI to Ottawa students live, with a real teacher?
Modern Age Coders teaches coding, Python and AI live online to Ottawa learners aged 6 to adult, either one to one or in a group of fifteen to twenty. Children usually start with Python and AI for Kids; teens move to AI and Machine Learning for Teens or our ICS3U and ICS4U companion. The first class is free.
Ottawa is a capital with a provincial border running through its middle. A student in Kanata or Orleans follows the Ontario curriculum, where code turns up in Grade 6 science, in MTH1W, the Grade 9 math course every student now takes, and in a newer Grade 10 technology course that names artificial intelligence. A student a bridge away in Gatineau follows Quebec's program instead, on the same clock. The city itself publishes its open data in English and French, side by side. This page uses all three facts: what Ontario schools ask an Ottawa student to code, what changes across the river, and a data project we built on the City of Ottawa parks file, where the most useful lesson is the moment the English and French columns disagree.
Facts last verified 22 October 2026. Teaching is online; no Ottawa branch is claimed.
Chosen against Ontario school stages, then confirmed against the student in the free first lesson, never assigned by age alone.

Real typed Python for a child ready to leave blocks behind: variables, loops, turtle drawings and small games that answer to their own logic.
See the syllabus
Machine learning built from Python upward on data the student can inspect, so a model's answer is something to test, not to trust.
See the syllabus
Practice and projects that run beside a school ICS3U or ICS4U course. The school grants the credit; this course does not.
See the syllabus
Advanced Functions and Calculus and Vectors taught for understanding, for students whose university plans lean on both.
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 syllabusOttawa's public schools teach the Ontario curriculum. Each expectation below was read on 22 October 2026 through the data feed behind the Ontario curriculum website. The short quotations are the ministry's; everything else is our plain summary.
| Course or grade | Year issued | What it asks, in short |
|---|---|---|
| Grade 6 Science and Technology | 2022 | Expectation A2 has students “use coding in investigations” and to model concepts; A2.1 adds getting input in different ways, such as from a sensor or a user |
| Grade 9 math, MTH1W | 2021 | C2.2 asks students to build code by “decomposing situations into computational steps”, which is the habit every larger program depends on |
| Grade 10, ICD2O (Open) | 2023 | Programming fundamentals plus innovations “including automation and artificial intelligence”, weighed for both benefits and limits |
| ICS3U, then ICS4U (Grades 11, 12) | 2008 | Optional university-stream computer science; ICS4U builds on ICS3U, and each course is worth one credit |
Read together, the rows describe a student who is asked to code in three different subjects before Grade 11 without ever taking a course called computer science. That is a good design and a thin one: the ideas are present, but a science unit or a math strand gives each child only a few hours at the keyboard. Our classes add the missing hours, and we spend them on the part school has least time for, which is building something big enough to break.
EQAO describes its Grade 9 math assessment as online, in two sessions of 54 questions in all, using a “multi-stage computer adaptive” model. The 2026 to 2027 window runs from 12 January to 5 February 2027, and EQAO says results count in the final course mark.
For students who began Grade 9 in 2024 or later, ontario.ca lists one technological education credit among the compulsory ones and names computer studies as one option in a group of STEM choices. We stop there: the page does not say ICD2O fills the technology credit, so neither do we.
PPM 128, in force since 1 September 2024, requires school boards to restrict access to social media platforms on school networks and devices. It is a fair reason to keep a coding class at home, on a laptop, away from the school day.
We teach alongside a student's school courses and we do not grant Ontario credits; ICS3U, ICS4U, MTH1W and every other credit are earned at school. We are not connected with the Ontario Ministry of Education, EQAO, any Ottawa school board or the City of Ottawa.
Families who want the full provincial picture, including how the course codes chain together, can read our Ontario coding classes page and the Ontario computer science pathway. Grade 9 families will find more on MTH1W, and Grade 10 students on ICD2O.
Statistics Canada treats Ottawa and Gatineau as one census metropolitan area, which it names Ottawa - Gatineau and publishes in an Ontario part and a Quebec part. For a family choosing a class, three practical differences follow.
Section 16 of the Constitution Act, 1867 settles where Parliament sits: the Seat of Government of Canada shall be Ottawa. The city that holds that role still runs its schools under a provincial curriculum, like every other Canadian city.
Quebec's secondary program runs from Secondary I to Secondary V, and students then usually go to CEGEP, where a pre-university program takes two years of full-time study. A Gatineau teenager of sixteen is placed by what they can do, not by the Ontario grade they would be in.
Ontario and Quebec keep the same Eastern clock, so a class booked from Gatineau and one booked from Barrhaven start at the same moment. Both provinces move to UTC-5 on 1 November 2026 and back to UTC-4 on 14 March 2027.
Gatineau families with a student in Secondary IV or V can read our pages on Quebec Secondary 4 math options and Secondary 5 math, and students heading to college on preparing for CEGEP computer science. One honest line for every family on either bank: our teaching, our materials and our written feedback are in English.
The City of Ottawa publishes its Parks and Greenspace inventory as open data, with an English and a French version of most columns. Our students decode it, count it, and then check whether the two languages tell the same story. Every figure below is ours, from the file as downloaded on 22 October 2026.
| Code in the file | What the code means | Parks |
|---|---|---|
| 4 | Not Designated (Dogs on Leash) | 631 |
| 1 | Dogs on Leash | 356 |
| 0 | Dogs Allowed (off-leash) | 175 |
| 3 | No Dogs | 119 |
| 2 | Mixed | 69 |
| (blank) | No code recorded | 28 |
The first surprise is that the CSV holds only digits in that column. The meaning of 0 to 4 lives in the city's map service, as a list the service calls a coded-value domain, and a student has to fetch that list before a single count makes sense. The script below carries the list as a Python dictionary, counts the parks, and then runs the audit. It needs nothing beyond Python 3 and the downloaded file in the same folder:import csv
LABELS = {
"0": "Dogs Allowed (off-leash)",
"1": "Dogs on Leash",
"2": "Mixed",
"3": "No Dogs",
"4": "Not Designated (Dogs on Leash)",
}
SWAPPED = {("Active Recreation", "Loisirs passifs"),
("Passive Recreation", "Loisirs dynamiques")}
counts = {}
type_clash = 0
dog_clash = 0
with open("parks-and-greenspace.csv", encoding="utf-8-sig") as parks:
for row in csv.DictReader(parks):
label = LABELS.get(row["DOG_DESIGNATION"], "(blank code)")
counts[label] = counts.get(label, 0) + 1
if (row["PARK_TYPE"], row["PARK_TYPE_FR"]) in SWAPPED:
type_clash += 1
if row["DOG_DESIGNATION"] != row["DOG_DESIGNATION_FR"]:
dog_clash += 1
for label in sorted(counts, key=counts.get, reverse=True):
print(label, counts[label])
print("English and French park type disagree:", type_clash)
print("English and French dog code disagree:", dog_clash)
A dictionary turns "4" into Not Designated (Dogs on Leash). Rows with no code at all fall through to the label we chose, (blank code), so 28 parks are reported as missing rather than silently dropped.
PARK_TYPE says Active Recreation or Passive Recreation; PARK_TYPE_FR should say Loisirs dynamiques or Loisirs passifs to match. On 36 rows the pair is crossed, 18 in each direction, so the English and French park type disagree.
The dog code is stored twice, once per language, and on exactly one park the English column says 1 (on leash) while the French says 3 (no dogs). A dog owner reading the French map and one reading the English map would get different instructions.
| Check | Result |
|---|---|
| Distinct PARK_ID values | 1,378, one per row |
| Wards named in WARD_NAME | 24 |
| Wards with at least one off-leash park | 21; River ward has the most, 23 |
| Park type crossed between English and French | 36 rows |
| Dog code different between English and French | 1 row |
| ACCESSIBLE written as yes/oui, no/non, blank | 269, 1,062 and 47 |
A park coded on-leash can still keep dogs away from its play area: the city's detail text mentions play areas on 981 of the 987 parks coded 1 or 4, which the code alone cannot show. Nor does the file say which of two disagreeing columns is right. The honest finding is a list of 37 rows to report to the city, not a correction we invent.
We use the parks file under the Open Government Licence - City of Ottawa, which the city bases on version 2.0 of the federal licence and which permits commercial reuse with attribution. Contains information licensed under the Open Government Licence - City of Ottawa (licence, dataset page). The City of Ottawa has not endorsed this page or these classes.
Most contests that Ottawa schools enter come from CEMC, the University of Waterloo's Centre for Education in Mathematics and Computing. In a bilingual region the language matters, so the table carries CEMC's own language note beside each date. CEMC gives separate dates by region; these are its dates for the Americas, checked on 22 October 2026.
| Contest | Who it is for | Language CEMC lists | Date |
|---|---|---|---|
| Beaver Computing Challenge | Grade 10 or below, at three levels | English only | 9 to 20 November 2026 |
| The CCC, Canada's national programming contest | Two levels, picked by skill rather than grade | English and French | Wednesday 17 February 2027 |
| Pascal, Cayley and Fermat | Grades 9, 10 and 11 in turn | See each contest page | 23 and 24 February 2027 |
| Euclid | Final year of secondary school, or CEGEP students | See the contest page | Tuesday 6 April 2027 |
In CEMC's words, all students must participate through their school, so nobody registers alone. A student whose own school stays out can ask another nearby school to host them, an option CEMC itself mentions.
The 2027 CCC falls on Wednesday 17 February 2027, according to CEMC, which offers the paper in English and in French. It is written online at school, in C, C++, Python or Java. We coach for it in English.
The last ten years of CEMC papers can be downloaded free, without an account. Students use that archive for real papers, while our lessons run on problems we write ourselves, never on CEMC's.
The parks audit above is quiet CCC training. Reading a file line by line, mapping codes through a dictionary and comparing two fields are the moves of an early Junior problem; doing the same thing fast on a million rows is where Senior begins. Our CCC preparation page sets out both levels, and Waterloo contest preparation covers the math contests. Modern Age Coders has no tie to CEMC or to the University of Waterloo.
Our teachers work from India, which keeps one offset all year; Ottawa and Gatineau change twice. The example hours below are conversions to help a family judge a slot, not a timetable we sell.
| Dates | Ottawa offset | Thursday 5 to 6 pm in Ottawa is, in India | Sunday 10 to 11 am in Ottawa is, in India |
|---|---|---|---|
| Until 1 November 2026 | UTC-4 | Friday 2:30 to 3:30 am | Sunday 7:30 to 8:30 pm |
| After 1 November 2026, until 14 March 2027 | UTC-5 | Friday 3:30 to 4:30 am | Sunday 8:30 to 9:30 pm |
| 14 March 2027 onward | UTC-4 | Friday 2:30 to 3:30 am | Sunday 7:30 to 8:30 pm |
Every class time we confirm is written in Ottawa's own time first. In the week of each change we send the time again, so a family on either side of the river never converts anything.
Ottawa numbers use 343, 613 and 753; Gatineau numbers use 819, 873 and 468. All of them work in the form below as ten digits, with the +1 already filled in.
A Python reminder that adds a fixed four hours to UTC will be an hour wrong from 1 November 2026. Rewriting it with the America/Toronto zone, which covers Ottawa, is a short lesson in why dates are hard.
The grades are a guide. The free class sets the real starting rung.
Short block programs a child can read aloud, with the order of steps as the first big idea.
Coding for KidsScratch Coding for KidsPython by about Grade 5, with conditions, functions and input, ahead of the Grade 6 science expectation that asks for it.
Python and AI for KidsAI Literacy for Kids (Ages 8 to 14)Files, functions and data, algebra through code for MTH1W, and a first Junior CCC for students who want one.
Python for TeensCCC Junior and Senior Preparation (Canadian Computing Competition)Support beside ICS3U and ICS4U, Grade 12 university math, and machine learning for future engineers and scientists.
Ontario Computer Science CompanionOntario Grade 12 University MathThe part where someone notices that the French column and the English column disagree.
Give an AI assistant the Ottawa parks file and ask for a count of off-leash parks, and you will get working code and a number. You will probably not be told that one park says on-leash in English and no dogs in French, or that 36 rows swap their park type between languages. The tool answered the question asked. Knowing which question to ask next is the skill.
That is why we teach students to reason first and type second: plan the steps, write the loop, then interrogate the output. As they get older they use AI tools within age rules we follow, and they use them to check and extend their own thinking, never to hand in someone else's.
Ontario put coding into science and math so that students learn to break a problem into steps; an AI tool can follow those steps, but only a student who understands them can tell when it has followed the wrong ones. The longer argument is in our essay on why writing code still pays off for a capital-region student.
Because every class is online, a student in Stittsville and one in Hull can share a teacher without a bridge crossing.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
A group of fifteen to twenty learners working at the same stage, or private lessons with one teacher for ICS4U projects, contest work or a quicker pace.
Ontario students are placed by grade and course code, Quebec students by secondary level; both join the same live lesson when their level matches.
Lessons, code comments and written feedback are in English. Bilingual students are welcome; French-language teaching is something we do not offer.
A laptop or desktop with a microphone and a connection steady enough for video. Tablets struggle with typed code, so we ask for a keyboard.
A full lesson at no charge that ends with a suggested level, course and time. No card details are taken.
No Ottawa centre
Modern Age Coders has no office or classroom in Ottawa or Gatineau and claims none. Every lesson is taught live online from India.
Each line shows the fee with its currency code, so there is no guessing.
A complete live lesson, free, after which we suggest a level, a course and a time.
The monthly fee for a place in a group of fifteen to twenty learners at one level.
The monthly fee for one learner with one teacher, at hours the family picks.
An Ottawa family pays what a family in any other Canadian city pays. Nothing is charged until the free lesson is done and the course and time are agreed; the pricing page explains holidays and missed classes.
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 match the first task to the level: a bouncing-ball animation for a young child, a number-guessing game in Python for a middle schooler, or the bilingual parks file for a teen who wants real data.
What Ottawa and Gatineau families ask us before a first class.
Yes. Our classes are live online with a real teacher, so a child in any Ottawa neighbourhood joins from home. We have no Ottawa building; we teach groups of fifteen to twenty or one to one.
Yes. Gatineau and Ottawa share the Eastern clock, so the class starts at the same moment on both banks. We place a Quebec student by secondary level and skill rather than by Ontario grade. Teaching is in English.
Under the Ontario curriculum, Grade 6 science asks students to use coding in investigations, the Grade 9 math course MTH1W uses code for algebra, ICD2O in Grade 10 covers programming and artificial intelligence, and ICS3U and ICS4U are optional computer science courses.
It does not: credits such as ICS3U or ICS4U are earned at school, and we do not grant Ontario credits. Our companion course adds practice and projects alongside the school course.
We teach the programming half of robotics, not robot hardware: Python, logic, sensors as data and debugging. A student who wants to build a physical robot should pair our classes with a school or community robotics team.
AI and Machine Learning for Teens, after a solid start in Python. Under-18 students do not use tools rated 18 and over, such as Claude, and a teen using ChatGPT needs a parent's permission, so we plan lessons around that.
Yes. Adults learn in their own groups or one to one, from a first program to working with real files and data. The Ottawa parks file on this page is a typical first data project.
The contest itself is bilingual: CEMC offers the 2027 CCC, on Wednesday 17 February 2027, in English and French. Our coaching is in English, using problems we write ourselves in Python, C++ or Java, and the student writes the contest through their school.
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 confirm every time in Eastern time and again when the clocks change.
You can. Ottawa numbers with 343, 613 or 753 and Gatineau numbers with 819, 873 or 468 are all accepted. Enter the ten digits after the +1, which the form supplies.
Scroll to the fees section: it lists the free lesson first, then the monthly fee for a group place and for one-to-one teaching, each beside its currency code. Nothing is billed before the free lesson.
Ontario-wide detail sits on our Ontario coding page, and the national overview on the Canada page. Families in the Toronto area have a page of their own. Students aiming at contests have CCC preparation, and for math support see online math tutoring for Canadian students.