What do online Python classes look like for Casey learners?
A live teacher, the learner's own code on screen, and real data to test it against. Casey counted 365,239 residents in the 2021 Census, with a median age of 34 and 28,849 children aged 5 to 9.
Beaconsfield station sits just outside the City of Casey, about 119 metres beyond the ABS boundary by our measure. That makes it a perfect test case. A function that decides "inside or outside" can pass a dozen easy checks and still be wrong at the edge, and Python's unittest module, with subTest, is how a learner proves which version is right.
Facts last verified 10 October 2026. Teaching is online; no Casey branch is claimed.
Every course below reaches writing and testing real functions, at a pace that suits the learner. Book the free lesson and we will suggest one.

Python from scratch to functions, files, classes and tests.
See the syllabus
Logic, data structures and algorithms, checked with test cases.
See the syllabus
A full Python course, including unittest and good testing habits.
See the syllabus
Preparation for the Python Institute PCEP and PCAP certificates.
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 syllabusTotals for the City of Casey council area (ABS LGA21610), read from the 2021 Census QuickStats page on 10 October 2026.
| Item | Casey |
|---|---|
| Population on Census night | 365,239 |
| Median age (years) | 34 |
| Families recorded | 97,338 |
| Private homes | 122,583 |
| Residents per household, average | 3.1 |
| Vehicles per home, average | 2.1 |
| Share | Casey | Victoria |
|---|---|---|
| Detached houses | 90.1% (102,149) | 73.4% |
| Flats and apartments | 0.9% (1,007) | 12.1% |
| Degree holders (bachelor or above) | 22.0% (61,966) | 29.2% |
| Professional workers | 17.2% (29,881) | 25.0% |
27,841 Casey residents, 7.6%, were under five.
26,361, or 7.2%, were between 10 and 14, when many learners take up Python.
Melbourne was in lockdown on Census night; the 17.9% of Casey workers at home (31,089) reflects those weeks.
The bureau rounds its percentages and adjusts small numbers for privacy. Every figure here is printed as QuickStats shows it, and no bands have been added together.
The ABS publishes the council outline as a polygon with 7,437 corner points. A ray-casting function decides whether a point is inside. We wrote one test case per station: the six with FY24-25 entries inside the boundary must come back True, and four nearby stations outside the line must come back False.
| Station | Expected | Distance to the boundary |
|---|---|---|
| Lynbrook | inside | 0.50 km |
| Berwick | inside | 1.73 km |
| Hallam | inside | 1.81 km |
| Merinda Park | inside | 2.10 km |
| Cranbourne | inside | 3.92 km |
| Narre Warren | inside | 4.97 km |
| Beaconsfield | outside | 0.12 km |
| Dandenong | outside | 1.53 km |
| Officer | outside | 2.59 km |
| Yarraman | outside | 3.44 km |
| Version | Cases failed | Corner point | Edge midpoint |
|---|---|---|---|
| Strict comparisons (< and >) | 0 | outside | outside |
| Inclusive comparisons (<= and >=) | 0 | inside | inside |
| Latitude and longitude swapped | 6 (all the inside stations) | outside | outside |
A plain loop with assert stops at the first failure. Wrapping each case in self.subTest(station=name) runs all ten and reports each failing station by name, so the swapped version shows six labelled failures at once.
The strict and inclusive versions agree on every station. They disagree only on points exactly on the outline, which no station is.
We added a corner of the polygon and the midpoint of one edge. The suite then forces a decision: are boundary points in or out? The outline has 28 perfectly horizontal edges, which is where that choice bites.
Passing every real station proved nothing about the edge. Writing the two boundary cases made the team choose a rule and write it down, which is the real value of tests.
Station positions come from the department's patronage file and boundary distances are measured to the ABS outline, so a station near the line is placed by those two sources alone. Nothing here says which council a station "belongs" to in any official sense.
unittest ships with Python, so no install is needed. A subTest block runs once per case and remembers which case failed.
| Step | What the learner writes |
|---|---|
| 1 | A list of (station, longitude, latitude, expected) tuples. |
| 2 | One test method that loops over the list. |
| 3 | Inside the loop, a with self.subTest(station=name) block. |
| 4 | An assertEqual comparing the function's answer to the expected one. |
pytest offers the same idea through its parametrize marker, and many teams use it. We start with unittest because it is part of the standard library and its failure messages name each case clearly.
Draw a fence on grid paper and test which toy animals are inside, including one standing on the fence.
Write the ten cases, break the function on purpose, and read the subTest report.
Turn a spreadsheet of known answers into a labelled test suite for a work script.
Counted from the 2025 school locations list and the metropolitan entries file, with the state term dates.
The 2025 file places 69 government schools in the council: 49 primary, 14 secondary, 3 combined primary and secondary, and 3 specific-purpose schools.
Berwick, Narre Warren, Hallam, Cranbourne, Merinda Park and Lynbrook have FY24-25 entries inside the boundary; Cranbourne recorded 1,054,250.
Government school students in Victoria begin the year on Thursday 28 January 2027, with Term 1 closing on Thursday 25 March.
Council boundary
All counts follow the ABS outline of the City of Casey, about 409.4 square kilometres. School addresses inside it include Berwick, Cranbourne, Narre Warren, Clyde North and Endeavour Hills.
Use these ages loosely. The trial lesson decides where each learner starts.
Games with rules, then checking the rules by playing them.
Scratch Coding for KidsCoding for KidsFunctions, if statements and the first simple checks.
Python and AI for KidsMaths Through CodingReal functions, test suites and small algorithms.
Python for TeensProblem Solving for TeensPackages, testing and certificates for study or work.
Python MasterclassPCEP and PCAP Python Certification CourseBecause tests are how anyone, human or machine, shows that code is right.
Ask an assistant for a point-in-polygon function and you will usually get one that works on easy points. Whether it calls a boundary point inside or outside depends on which comparison it happened to use, and the code will not mention that it made a choice.
A learner who has written the ten station cases plus two boundary cases can paste in any version, generated or not, and know within a second whether it matches the rule the team agreed. That is what makes AI-written code safe to use.
For Casey learners, the skill that lasts is proving code right, whoever wrote it. The longer argument is in why teenagers should still learn to code in 2026.
Classes run on a video call, so learners in Berwick, Cranbourne or Hampton Park all join from home.
The learner shares their screen and the teacher reads and runs their code with them.
The schedule tracks the Victorian school terms and pauses for the holidays.
A full first lesson for free, then a suggested course and weekly slot.
Fifteen to twenty learners of similar level, from many different places.
Two set lessons each week, about eight per month, for steady progress.
A 4:30pm Casey class is 11am India time under Melbourne daylight saving, and noon once it ends in April.
Melbourne time first
Daylight saving in Melbourne lasts from Sunday 4 October 2026 to Sunday 4 April 2027. India does not change its clocks, so we write every time in Melbourne time.
Simple and the same for every family.
The first lesson is free, and we finish it with clear advice.
A month of group lessons, normally eight, with fifteen to twenty learners at one level.
A month of private lessons, normally eight, just the learner and a teacher.
Casey families pay in US dollars, as all families outside India do. No charge is made before the trial fixes a course and a time; holidays and missed lessons are covered on the pricing page.
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
Give us the learner's age and a hobby or two. A younger child could start with a Scratch game; an older one could write the station tests.
What Casey families and adult learners ask before booking.
The 2021 Census counted 365,239 residents in Casey, with a median age of 34.
self.subTest is a context manager in unittest that runs a block once per case and reports each failing case separately, with its label, instead of stopping at the first failure.
It decides whether a map point lies inside an outline. Ray casting counts how many edges a line from the point crosses: an odd count means inside.
By the ABS boundary and the station position in the patronage file, no: it sits about 119 metres outside, by our calculation.
Usually between nine and twelve, once typing is comfortable. Scratch builds the same logic earlier.
Yes. Our PCEP and PCAP course prepares learners aged 13 and over for the Python Institute exams; results depend on the learner.
No. Classes are live online only, there is no Australian office, and the phone number we list is Indian.
The first lesson is free. Group classes cost USD 100 a month for two live lessons a week, about eight a month, in groups of fifteen to twenty, and one-to-one classes cost USD 150 a month. You agree the course and time before paying.
Fifteen to twenty learners, matched by level, pace and goals, not by age or suburb; private lessons are offered when no group time works.
Yes. Adults study in adult groups or privately, often testing scripts they already use at work.
The Melbourne page covers the whole city, the Victoria guide covers the state, and younger learners can start with coding for kids in Melbourne.