Does anyone teach coding and Python live online to Windsor students?
Modern Age Coders does. Windsor, Ontario students from age 6 to adult learn coding and Python in live online classes where the teacher reads their shared code and helps them find their own bugs, one to one or in a group of fifteen to twenty. Python and AI for Kids and Python for Teens are where most begin, after a free first class.
The clearest way to show what a live online coding class is, is to show one minute of it. So this page starts with a single debugging moment: a Windsor student's program crashes on a City of Windsor data file, and the teacher, reading the student's shared code, does not fix it. What happens instead is the actual teaching. After that comes our Python path, described not as a list of topics but as the kinds of error a student learns to handle, from a missing bracket to a file that is not as tidy as it looks. Then the full project on the playground file, and the contest and school facts a Windsor student should know for 2026 to 2027.
Facts last verified 22 October 2026. Teaching is online; no Windsor branch is claimed.
Each runs live, with a teacher reading the student's own code. The free first class picks the starting course.

Children write real Python, meet their first error messages and learn to read them, through games and drawings.
See the syllabus
From the first program to files, dictionaries and data, the skills behind the playground project on this page.
See the syllabus
Python for Windsor adults starting from zero, aimed at automating tasks and working with real data files.
See the syllabus
Practice beside a school ICS3U or ICS4U course, in Python and Java. We do not grant Ontario credits; the school grants them.
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 syllabusThis is a reconstruction, written by us, of a moment that happens in some form in most of our Python classes. The code and the error are real: we ran them on the City of Windsor playground file on 22 October 2026.
| Moment | On the shared screen | What the teacher says or does |
|---|---|---|
| 1. The crash | The student's parse() function stops with ValueError: not enough values to unpack (expected 2, got 1) | Nothing yet. The teacher waits for the student to read the message aloud |
| 2. Reading it | The student reads the last line, then the line number it points to | “Expected 2, got 1. Two of what?” |
| 3. A guess | The student says key, value = part.split("=") wanted two pieces but got one | “Good. Which row gave it one piece? How could you find out?” |
| 4. Looking | The student prints each description before parsing it and sees a blank one on line 3 of the file | “What does split give you for an empty string?” |
| 5. The fix | The student adds if "=" in part: and runs the program again over all 131 rows | Asks how many rows had nothing to parse. The answer is 14 |
| 6. The habit | The student writes one comment explaining the guard | “Next time a file crashes your program, what will you do first?” |
Six short steps, and the teacher never typed. That is the difference between a live class and a recorded one: the recording would have shown a tidy program that never crashed, and the student would have copied it. In our classes the error is the lesson, and the student leaves knowing how to read the next one without help.
With fifteen to twenty students at one stage, the teacher puts one student's crash on the shared screen and the whole group reasons through it. Often several of them have the same bug.
The same six steps, at the student's own pace. One to one suits students working on an ICS4U project or preparing for the CCC.
A laptop or desktop, a microphone and Python installed with the teacher in the first lesson. The student shares their editor; the teacher never takes the keyboard.
Our path is ordered by the kind of mistake a student can diagnose alone. The right-hand column links each stage to Ontario curriculum wording, read from the ministry's curriculum service and its 2008 computer studies document on 22 October 2026. The stages are ours.
| Stage (ours) | Errors the student can fix alone | Ontario link |
|---|---|---|
| 1. First programs | SyntaxError: a missing bracket, quote or colon | Grades 11 and 12 courses open with the strand “Programming Concepts and Skills” (2008 document) |
| 2. Variables and types | NameError and TypeError: a misspelled name, text added to a number | MTH1W C2: “apply coding skills to represent mathematical concepts and relationships dynamically” |
| 3. Loops and logic | No error at all, but a wrong answer: a loop that stops one step early | ICD2O (2023): students “learn and apply coding concepts and skills to build hands-on projects” |
| 4. Real input | ValueError and KeyError from files that are messier than expected | The second strand of each Grade 11 and 12 course, “Software Development” (2008 document) |
| 5. Larger programs | Bugs that live between functions or classes, found with tests | ICS4C: students “create object-oriented software solutions” |
Stage 3 is the turning point. Up to stage 2, Python tells the student something is wrong. From stage 3 on, the program runs and the answer is simply incorrect, and only a student who predicted the answer first will notice. That is why every class asks for a prediction before the run, from a child's first loop to a teen's data project.
The 2023 Grade 10 course asks students to investigate innovations including automation and artificial intelligence and to assess their benefits and limitations, as well as to build hands-on coding projects.
ICS3U and ICS3C need no prerequisite; ICS4U and ICS4C follow them. The 2008 document says each of the courses listed is worth one credit, earned at school.
Skills Ontario lists a secondary and post-secondary Coding contest at its 2027 competition, 3 and 4 May 2027 in Toronto. Entry is only through the student's institution.
The City of Windsor publishes a playground layer as open data, 131 rows on our download of 22 October 2026. Size and accessibility are not separate columns; they are packed into one text field such as SIZE=MEDIUM, ACCESSIBLE=YES, so a program has to parse them. All figures below are our own output.
| Ward | Playground rows | Marked ACCESSIBLE=YES |
|---|---|---|
| Ward 1 | 16 | 8 |
| Ward 2 | 15 | 6 |
| Ward 3 | 9 | 6 |
| Ward 4 | 12 | 4 |
| Ward 5 | 14 | 4 |
| Ward 6 | 11 | 7 |
| Ward 7 | 19 | 3 |
| Ward 8 | 9 | 3 |
| Ward 9 | 12 | 6 |
| Ward 10 | 14 | 5 |
This is the corrected program from the debugging moment above, with the guard in place. It reads the CSV with the standard csv module, turns each description into a small dictionary, and counts with Counter:import csv
from collections import Counter
def parse(description):
info = {}
for part in description.split(","):
if "=" in part:
key, value = part.split("=")
info[key.strip()] = value.strip()
return info
sizes = Counter()
accessible_by_ward = Counter()
with open("playground.csv", encoding="utf-8-sig", newline="") as f:
for row in csv.DictReader(f):
info = parse(row["asset_description"])
sizes[(info.get("SIZE", "not given"), info.get("ACCESSIBLE", "not given"))] += 1
if info.get("ACCESSIBLE") == "YES":
accessible_by_ward[row["political_ward"]] += 1
for (size, access), n in sorted(sizes.items()):
print(size, access, n)
print(accessible_by_ward.most_common())
Parsed, the descriptions give LARGE with ACCESSIBLE=YES on 28 rows and LARGE with NO on 9; MEDIUM YES 13, MEDIUM NO 33; SMALL YES 10, SMALL NO 23. One row gives accessibility without a size, and 14 give neither.
Twenty-seven rows also carry a THEME, with 24 different values: Forest appears three times and Pirate Ship twice, and single rows include Automotive, Aviation, Dinosaur and Space Ship.
Ward 7 has the most playground rows, 19, and only 3 of them are marked ACCESSIBLE=YES. Ward 3 has 9 rows and 6 marked YES. The next question is why, and the file alone cannot answer it.
It records a label in the City's asset description, not an inspection a student has made, and 14 rows have no description at all, so a missing YES is not a NO. Seven park_id values also end in a stray space, which would split one park into two if a student grouped by park. Reporting the counts with those caveats is the finished project.
The playground file is used under the City of Windsor's open data licence. Contains information licensed under the Open Government Licence - The Corporation of the City of Windsor (licence, City of Windsor open data). No endorsement by the City of Windsor is implied.
CCC and CCO facts are from CEMC at the University of Waterloo, read 22 October 2026; time offsets are from IANA tzdb 2026e.
| Step | What CEMC says |
|---|---|
| Senior questions 1 and 2 | For example sorting and searching |
| Senior questions 3 and 4 | For example careful counting and more advanced mathematical reasoning |
| Senior question 5 | An IOI-level question |
| After the CCC | About 20 top official Senior participants from schools in Canada are invited to the CCO at Waterloo each spring |
| Language at the CCO | C++ only |
This matters to a Python student. CEMC lists the 2027 CCC for Wednesday 17 February 2027 and accepts Python, but it also cautions that a full score is not always reachable in Python or Java, and the invitation-only CCO requires C++. So our Senior students who aim beyond the CCC learn C++ alongside Python. Entry is always through a school; there is no individual registration. We are not connected with CEMC or the University of Waterloo, and our CCC preparation page goes further.
Windsor is on UTC-4 until 1 November 2026, UTC-5 from then to 14 March 2027, and UTC-4 again afterwards, according to IANA tzdb 2026e.
Our teachers are in India. A Monday 4:00 pm Windsor class in February is 2:30 am Tuesday in India; we carry that, and every time we confirm is in Eastern time.
Numbers with the 226, 382, 519 and 548 area codes work in the booking form. Type the ten digits without the 1.
Age is a starting guess only; the code written in the free class sets the level.
Sequences and repeats in blocks, where a bug is a block in the wrong place and easy to see.
Coding for KidsScratch Coding for KidsTyped Python, first error messages read aloud, games and drawings that work by the end of class.
Python and AI for KidsAI Literacy for Kids (Ages 8 to 14)Logic errors, messy files like the playground data, and CCC Junior or Senior for students who want it.
Python for TeensCCC Junior and Senior Preparation (Canadian Computing Competition)The same stages for adults, aimed at the spreadsheets and exports they meet at work.
Python MasterclassPython Automation CourseIt can fix this bug. It cannot teach the student to find the next one.
Paste the ValueError into an AI assistant and it will suggest the same guard our student wrote. What it will not do is make the student look at line 3 of the file, count the 14 blank descriptions, or notice the stray spaces in park_id. The fix arrives; the understanding does not.
We teach the reasoning first: read the error, form a guess, test it, then fix. Older students use AI tools later within the age rules we follow, as a second opinion to check, never as the place answers come from.
A Windsor student who can explain why a missing ACCESSIBLE=YES is not the same as a NO has learned the part of coding that stays human. The longer argument is in what students still need to learn about code.
Lessons are online, so a student in South Walkerville and another in LaSalle share a 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.
Students in LaSalle, Tecumseh, Amherstburg and Lakeshore join the same classes, all on Eastern time like Windsor.
Teachers know ICD2O, ICS3U, ICS3C, ICS4U and ICS4C, so a parent never has to explain the school course. Marked school work stays the student's own.
A group of fifteen to twenty at one stage, or a student with a teacher to themselves. The course is the same in both.
Each program a student writes, bugs and fixes included, stays in their own files, so progress is visible at home.
A real lesson with real code. It ends with a suggested course and level, and no card is requested.
No Windsor office
Modern Age Coders has no office or classroom in Windsor and claims none. Classes are live online, taught from India.
Each fee appears in your own currency, its code beside the figure.
Your student's first live lesson costs nothing and finishes with a course and level we recommend.
The monthly fee for a group of fifteen to twenty students at one stage.
The monthly fee for one to one lessons with a single teacher.
Windsor families pay the same as families in any other Canadian city. Nothing is billed until after the free lesson, when the course and time are settled; 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
Tell us the grade or age. A Grade 2 child might fix a block that runs in the wrong order, a Grade 6 student a first Python error, and a teen or adult the playground file crash.
What Windsor families ask before the first lesson.
A teacher at a set time who can see the student's own code and responds to it. When the program crashes, the teacher asks questions until the student finds the cause.
No. There is no Windsor classroom. All lessons are live online, so students in LaSalle, Tecumseh or South Walkerville join from home.
Fifteen to twenty at the same stage. A one to one class is one student with one teacher, following the same course.
About 9 for most children. From age 6 we use blocks, then move to typed Python when reading and typing are comfortable.
Yes. ICD2O asks students to apply coding concepts in hands-on projects and to look at AI and automation critically. Our Python stages give the coding a firmer base.
The CCC accepts Python, but CEMC says the CCO requires C++. Students who aim that high learn C++ as well. Entry is through a school.
No. We do not grant Ontario credits. The school awards ICS3U and ICS4U credits; our companion course adds practice beside them.
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.
Yes. Adults start from zero if they need to and work towards automating tasks or handling data files, in a group or one to one.
Yes, and 382 and 548 as well. Enter the ten digits; the +1 is already shown.
The fees section shows the free first lesson, the monthly group fee and the monthly one to one fee in your own currency. You pay nothing before the free lesson.
For the province, see coding classes in Ontario. Grade 10 families can read ICD2O explained, and contest students CCC preparation. The rest of Canada is on coding classes in Canada.