What does a Redlands Python project teach?
To let a tool check your assumptions before your users do. Redland City has 691 stop records in the Translink feed, and 11 of their IDs are words, not numbers. A function that treats every ID as a number is wrong, and the type checker mypy says so in one line before the program ever runs.
Redland City stretches from Thorneside and Capalaba out to the Southern Moreton Bay Islands. On Wednesday 21 October 2026 the Translink timetable has 16,809 stop visits inside the council area on 31 routes: 16,167 by bus, 540 by train and 102 by ferry. Every one of those stops carries an ID, and that is where the lesson starts.
Facts last verified 12 October 2026. Teaching is online; no Redlands branch is claimed.
All taught live, in level-matched groups or one to one. The trial lesson finds the right fit.

Python in depth, including type hints and testing.
See the syllabus
Python projects on real files and data.
See the syllabus
A gentle start in Python with games and AI.
See the syllabus
Logic and sequencing with blocks before typing.
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 syllabusFigures for the Redland local government area (ABS LGA36250) from its 2021 Census QuickStats, read on 12 October 2026.
| Measure | Redland City |
|---|---|
| People | 159,222 |
| Median age | 43 |
| Families | 45,763 |
| Private dwellings | 65,165 |
| People per household | 2.6 |
| Motor vehicles per dwelling | 2 |
| Share | Redland City | Queensland |
|---|---|---|
| Separate house | 83.9% (49,276) | 74.8% |
| Aged 10 to 14 | 6.8% (10,750) | 6.6% |
| Car as driver to work | 61.6% (47,296) | 59.5% |
| Train to work | 1.0% (780) | 1.1% |
Redland City had 9,447 residents aged 5 to 9 at the Census, 5.9% of its people.
Semi-detached homes, terraces and townhouses made up 11.4% of dwellings, flats 4.4%.
The August 2021 Census was held during the pandemic, so travel and work answers describe that week only.
The bureau rounds its percentages and slightly perturbs small counts for confidentiality. We print the published values and never sum rows into totals the bureau did not publish.
Of the 691 stop records inside Redland City, 680 have numeric IDs. The other 11 group platforms and berths under a name: Birkdale, Cleveland, Ormiston, Thorneside and Wellington Point stations, Capalaba station, Victoria Point Central, three island ferry terminals and Redland Bay Marina.
| Version | mypy before running | When it runs |
|---|---|---|
| is_station(stop_id: int), called with text IDs | 1 error: incompatible type "str"; expected "int" | TypeError on the first comparison |
| Same code, no type hints | nothing to check | the same TypeError, found only at run time |
| "Fixed" with int(stop_id) | no issues found | ValueError on place_birsta |
| is_station(stop_id: str) using startswith("place_") | no issues found | runs: 691 IDs, 11 grouped places |
The loader promises a list of strings and the checker promises an integer. mypy reads both promises and reports the clash at line 11 without touching the data.
Wrapping each ID in int() satisfies the types, so mypy is happy. The data still contains "place_birsta", and the program fails on it. Types check shapes, not values.
Keep IDs as text, as the feed defines them, and test for the place_ prefix. The checker passes and all 691 records load.
Sorting IDs as text instead of numbers can scramble their order. Here it does not matter: 679 numeric IDs have six digits and one, 11370, has five. We checked rather than assumed.
The stop IDs are real Translink records placed in Redland City by our own point-in-polygon test. The four code versions and their outputs come from our run in an isolated environment.
A type hint such as stop_id: str tells readers and tools what a function expects. Python itself ignores hints when running; mypy reads them and reports mismatches.
| Step | Learner task |
|---|---|
| 1 | Load stop IDs from the feed and count numeric and text ones. |
| 2 | Write is_station with an int hint and run mypy. |
| 3 | Try the int() shortcut, then watch it fail on real data. |
| 4 | Rewrite with str and a prefix test; rerun both checks. |
Many teams run a type checker on every change, next to their tests. Tests check behaviour on chosen examples; a type checker checks every call site at once. They catch different mistakes, so learners use both.
Sort cards into number and word piles, then find the card that broke the rule.
Add hints to a real script and fix each mypy message one at a time.
Introduce gradual typing to an existing codebase without stopping work.
Translink counts for Wednesday 21 October 2026 and 2027 dates from the Queensland Department of Education.
The 102 ferry visits counted inside the outline that Wednesday are all at Redland Bay Marina, under one route code, SMBI.
Train visits total 540 at the five stations from Thorneside to Cleveland.
Queensland state school Term 1 runs from Wednesday 27 January to Thursday 25 March 2027.
Area used
Redlands here is the ABS outline of Redland City local government area, about 537 square kilometres. Stops are assigned to it with our own point-in-polygon test, and address-style data appears only as counts.
Ages are a guide; the free lesson places each learner.
Block programs that sort numbers from words.
Coding for KidsScratch Coding for KidsVariables, types and friendly error messages.
Python and AI for KidsProblem Solving and Computational Thinking for KidsFiles, hints and checks on real data.
Python for TeensData Science for TeensTyping, testing and maintainable code.
Python MasterclassPython Automation CourseYes, and often more than hand-written code.
AI assistants guess at data shapes from names. Ask for a function about stop IDs and you may well get one that treats them as integers, because many IDs look like numbers.
Running mypy over generated code is a cheap second opinion. A Redlands learner who has seen int() pass the checker and still crash also knows its limit, and tests the data as well.
In Redlands classes, learners check AI output with real tools, not hope. The longer argument is in is learning to code still worth it.
Lessons are live video sessions, so learners on the mainland or the islands join the same way.
Every lesson is taught live, with the learner's screen shared.
Classes follow Queensland terms and stop over the holidays.
One full lesson without charge, then a written course suggestion.
Groups of fifteen to twenty at one level, or one to one.
About eight lessons each month.
A 6:30pm Redlands lesson is 2pm in India.
Fixed offset
Queensland ended its last daylight saving period in March 1992, the IANA time zone database records, so lessons never move with clock changes.
Fees are identical for every learner.
The first lesson is free and ends with a recommended plan.
Group study: about eight lessons a month, fifteen to twenty learners.
Private study: about eight lessons a month, one to one.
Redlands fees are billed in US dollars, after the trial has fixed a course and a 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
Share the learner's age and interests. A younger child might sort cards in block code; a teenager might type-check the stop loader.
Questions Redlands parents and adult learners ask us.
The 2021 Census counted 159,222 people in the Redland local government area, with a median age of 43.
mypy is a free static type checker for Python. It reads type hints in the code and reports calls that do not match them, without running the program.
No. Python ignores hints at run time. They help readers and tools such as mypy and code editors.
Usually after they are comfortable with functions, often in the teen or adult Python courses.
Yes. Classes are online, so any home with a stable internet connection works.
Our point-in-polygon count finds 691 Translink stop records inside the council area, 680 with numeric IDs and 11 grouped places.
No. Lessons are live online only, we have no Australian office, 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.
Fifteen to twenty learners at a similar level and pace, not sorted by age or suburb. One-to-one lessons suit anyone no group time fits.
Birkdale, Cleveland, Ormiston, Thorneside and Wellington Point stations sit inside the council outline in the Translink feed.
Read the Brisbane page for the region, the Queensland guide for the state, and kids coding in Brisbane for younger learners.