What can a Maroondah student learn in an online Python class?
To write Python that copes with real files, not just classroom examples. In our Maroondah project, reading the state's train timetable file whole used 90.1 MB of memory at its peak; reading it line by line with a generator peaked at 0.035 MB and found the same 12,164 rows.
The metropolitan train timetable that Victoria publishes contains a stop_times file of 688,380 rows, 56.6 MB on disk. We wanted only the rows for stations whose timetable points fall inside the ABS outline of Maroondah City Council: Ringwood, Ringwood East, Croydon, Heathmont and Heatherdale. A learner's first instinct is to read everything into a list. Python offers a lazier way, and measuring the difference is the lesson.
Facts last verified 10 October 2026. Teaching is online; no Maroondah branch is claimed.
The courses below all reach real files and real data. A free first lesson tells us where the learner should begin.

Python fundamentals through files, generators and clean code.
See the syllabus
Reading, filtering and charting public data sets in Python.
See the syllabus
From beginner Python to iterators, generators and profiling.
See the syllabus
Practical data analysis with large files for work and study.
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 syllabusCopied on 10 October 2026 from the ABS QuickStats page for Maroondah (LGA24410), 2021 Census.
| Count | Value |
|---|---|
| People | 115,043 |
| Median age | 39 |
| Families | 31,842 |
| Private dwellings | 46,870 |
| People per household (average) | 2.6 |
| Vehicles per dwelling (average) | 1.9 |
| Measure | Maroondah | Victoria |
|---|---|---|
| Separate houses (of dwellings) | 87.2% (37,499) | 73.4% |
| Flats or apartments (of dwellings) | 4.0% (1,711) | 12.1% |
| Bachelor degree or above | 30.1% (28,262) | 29.2% |
| Professionals (of employed people) | 26.5% (15,617) | 25.0% |
Maroondah recorded 7,251 residents in this age band, 6.3% of the council.
6,862 residents, 6.0%, were aged 0 to 4.
The Census was held while Melbourne was in lockdown. 28.7% of Maroondah workers (16,913) worked at home that day, a figure tied to those restrictions.
Published percentages are rounded and small cells are randomly adjusted by the ABS for privacy. We reproduce the numbers exactly and do not combine categories into new totals.
First we found the 82 stop points (platforms, entrances and other station nodes) that fall inside the ABS outline of Maroondah. Then we scanned stop_times for rows at those points in two ways: readlines() into a list, and a plain for loop over the open file, which yields one line at a time. tracemalloc recorded the peak memory of each.
| Approach | Rows found | Peak memory | Median time, 3 runs |
|---|---|---|---|
| Read the whole file into a list | 12,164 | 90.1 MB | 1.1 s |
| Stream line by line | 12,164 | 0.035 MB | 0.92 s |
| First 200,000 lines into a list (islice) | 4,971 | 25.67 MB | not timed |
| First 200,000 lines streamed (islice) | 4,971 | 0.035 MB | not timed |
| Station | Rows in stop_times |
|---|---|
| Ringwood | 3,787 |
| Heatherdale | 2,995 |
| Heathmont | 1,802 |
| Croydon | 1,790 |
| Ringwood East | 1,790 |
Streaming was only a little quicker here, 0.92 s against 1.1 s. The real gain is memory: the list version holds every line at once, while the stream holds one.
A 56.6 MB file fits easily on a laptop, and a list lets you loop twice or jump to row 500. For a file this size, the simple version is a reasonable choice.
Feeds grow, and servers have less memory than laptops. Code written as a stream keeps working when the file is ten times bigger, without a single change.
Heatherdale's two platform points in the timetable feed fall 62 m and 86 m inside the ABS outline of Maroondah by our calculation. The same station's point in the patronage file sits about 50 m outside it. Which council a boundary station "belongs" to depends on whose coordinates you use.
Rows count every scheduled stop in the feed downloaded on 10 October 2026, across all its service days, so they are not trains per day. Taking just the first 200,000 lines with islice found 4,971 of the 12,164 rows, a quick way to test code before the full run.
A Python file object is already an iterator. Looping over it reads one line, hands it over, and forgets it.
| Tool | What it does here |
|---|---|
| for line in f | Reads the file one line at a time. |
| A generator expression | Filters lines without building a list. |
| itertools.islice | Takes only the first N lines, for quick tests. |
| tracemalloc | Reports the peak memory a block of code used. |
The pattern is short enough to remember: open the file, loop, keep only the count. Learners then wrap it in a function that yields matching rows, so the next step of a pipeline can consume them one by one.
Read a story one page at a time instead of photocopying the whole book first, then do it in Scratch with a list.
Measure both versions with tracemalloc and explain the difference in a sentence.
Convert a script that loads a big export into one that streams it.
Taken from the 2025 school locations file and the station entries file for FY24-25.
The 2025 file shows 17 primary, 5 secondary and 1 specific-purpose government school in Maroondah.
Ringwood recorded 1,514,250 entries in FY24-25, ahead of Croydon, Ringwood East and Heathmont among stations inside the outline.
Students at Victorian government schools return on Thursday 28 January 2027, and the term ends on Thursday 25 March.
Area covered
This page uses the ABS boundary of Maroondah City Council, about 61.4 square kilometres. School addresses inside it include Ringwood, Croydon, Heathmont, Warranwood and Bayswater North.
A guide only. The free lesson places each learner properly.
Typed code, loops and reading a small file.
Python and AI for KidsMaths Through CodingFiles, generators and public data sets.
Python for TeensData Science for TeensProfiling, large files and data analysis.
Python MasterclassData Analysis CourseNot for anyone who wants to know whether the code will survive real data.
An AI assistant asked to "count the Ringwood rows" will often write the readlines() version, because it is the most common pattern online. On this file it works. On a file ten times larger, on a small server, it may not.
A learner who has measured 90.1 MB against 0.035 MB recognises the pattern in generated code and asks for the streaming version. Knowing what to ask for is the skill AI cannot supply on its own.
Maroondah learners who understand memory get far more out of AI tools. The longer argument is in why teenagers should still learn to code in 2026.
Lessons run on a video call for learners in Ringwood, Croydon or anywhere in Maroondah.
The learner shares their screen and the teacher guides changes in their own code.
The class calendar follows state school terms, with holiday breaks.
One whole lesson with no charge, ending with our course advice.
Fifteen to twenty learners per group, matched on level rather than location.
Two regular lessons each week, near eight per month.
A 3:30pm Maroondah lesson is 10am India time while Melbourne is on daylight saving, and 11am after it ends.
Time zones
Melbourne daylight saving is in effect from Sunday 4 October 2026 to Sunday 4 April 2027. India has no daylight saving, so we always write lesson times in Melbourne time.
Straightforward fees, the same for everyone.
Your first lesson is free and comes with honest advice.
In a group: a month of lessons, normally eight, with fifteen to twenty learners.
On their own: a month of lessons, normally eight, with a dedicated teacher.
Maroondah families pay in US dollars. Nothing is charged until the trial confirms a course and weekly time; the pricing page explains holidays and missed lessons.
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
Send the learner's age and a couple of interests. A younger child might begin with a Scratch story; a teenager might stream the timetable file.
What Maroondah parents and adult learners ask us.
Maroondah City Council had 115,043 residents at the 2021 Census, and the median age was 39.
A generator produces values one at a time, only when asked, instead of building a whole list in memory. Generator functions use the yield keyword.
itertools.islice takes a slice of any iterator, such as the first 200,000 lines of a file, without reading the rest.
The standard tracemalloc module traces memory allocations; get_traced_memory() returns the current and peak sizes for the code you run.
Most children are ready for typed Python between nine and twelve. Scratch suits younger learners.
Yes. Adults can study Python and data analysis in groups or one to one.
No. Teaching is live online only; we have no office in Australia, and our listed phone number 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.
We match fifteen to twenty learners on level and pace, not age or suburb, and offer one-to-one lessons if no group time suits.
It depends on the data. Timetable platform points fall just inside Maroondah's ABS outline and the patronage file point just outside, by our calculation.
Read the Melbourne page for the city, the Victoria guide for the state, and coding for kids in Melbourne for the youngest learners.