Can a Richmond teen or adult learn vibe coding and AI agents properly?
Yes. Modern Age Coders teaches vibe coding and AI agents live online to Richmond, British Columbia learners: Vibe Coding for Teens for ages 13 to 17, and our Codex and Claude Code course for adults only. Learners join a class of fifteen to twenty or work with a teacher alone, and nothing an AI writes is kept until it passes the learner's own tests.
This page is for Richmond in British Columbia, the island city between the two arms of the Fraser, not Richmond Hill in Ontario. Vibe coding means describing what you want and letting an AI model write the code; an AI agent goes further and decides which tools to run. Both save time, and both hand back code that looks finished before it is. Our answer is a habit we teach from the first class: write the test first, then let the AI try to pass it. Below you will see that habit on a real file, Metro Vancouver's greenway network filtered to Richmond, where a tidy first draft fails two of three tests. You will also find which AI tools a teen may legally use, what BC schools already teach, and how class times work on permanent Pacific time.
Facts last verified 23 October 2026. Teaching is online; no Richmond branch is claimed.
The tools a person may use depend on age, so the course does too. The free first class confirms the level.

Build Python and web projects with AI help that a teen is allowed to use, then explain every line and prove it with tests. Twelve weeks.
See the syllabus
For a teen who has never written a loop: the Python that makes AI-written Python readable, from variables to files and functions.
See the syllabus
Agentic coding tools on real repositories for working adults. Claude Code is 18 and over under Anthropic's terms, so no teen joins this course.
See the syllabus
For university students and career changers: full stack projects built with AI assistance, plus the data structures that let you judge what it wrote.
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 syllabusThe word for the method is old; the reason for it is new. When a model can write fifty lines in a few seconds, the slow part of programming moves to deciding whether those fifty lines are right.
Before a prompt is typed, the learner writes down two or three checks the answer must pass, in plain code. A check is a promise that can be tested, not a feeling that the output looks sensible.
Only then does the assistant write the function. Teens use a tool their age allows; adults may use an agent that edits files and runs commands. Either way the draft is treated as a suggestion from a fast, careless colleague.
The tests run. Any failure is read and understood before anything is changed, and the repair is written or approved line by line by the learner. A line nobody can explain does not stay in the project.
This is how we keep the owner's promise in a subject where it is easy to break: we teach students to think a problem through, not to copy an answer, and AI output is an answer like any other. A Richmond Grade 10 student and a Richmond software tester will meet the same three steps; the teen practises them in Python with permitted tools, the adult on a larger codebase with an agent.
| The agent can | The person still has to |
|---|---|
| Write a working-looking function in seconds | Decide, before reading it, what the function must and must not return |
| Read tool results and code output as it goes | Make sure those results are real: Anthropic says agents need “ground truth” from the environment at each step |
| Repeat a fix across many files | Review each change in version control and undo the ones that went wrong |
| Explain its own code fluently | Check the explanation against what the code actually does when it runs |
Metro Vancouver publishes its Regional Greenway Network 2050 as open data. The file splits each route into segments and gives every segment a status. Our learners ask one question of the Richmond rows, write the tests first, and then watch an AI-style draft fail them. The code and every count below are ours, run on the file downloaded on 23 October 2026.
| Status in the file | What Metro Vancouver says it means | Richmond segments |
|---|---|---|
| Operational - Class 1 | “complete routes that are available to the public for walking and cycling” | 23 |
| Operational - Class 2 | “interim routes” that “do not meet the 3m wide width goal and/or are not separated from traffic” | 13 |
| Planned | Future routes already in providers' plans, still needing planning, land, design, funding or construction | 12 |
| Proposed New | Conceptual routes proposed to fill gaps in the network | 3 |
The question: which named Richmond routes are open along their whole length? The 51 segments carry only 13 route names, and one of them, Steveston Greenways / South Dike / East Richmond Trails+, is split into 24 segments: 11 in Class 1, 6 in Class 2, 5 Planned and 2 Proposed New. That single route is where a hasty answer goes wrong.
Here is the whole exercise as one Python file. It uses only the standard library and runs beside the downloaded JSON:# Tests first, then the AI-style draft, then the fix (Modern Age Coders, written for this page)
import json
DATA = json.load(open("mv_regional_greenway_network_2050_all.json", encoding="utf-8"))
SEGMENTS = [f["attributes"] for f in DATA["features"] if f["attributes"]["Municipality"] == "Richmond"]
# Step 1: the learner writes the tests before asking for any code. A tiny route of our own invention:
FIXTURE = [{"Name": "Test Route", "Status": "Operational - Class 1"},
{"Name": "Test Route", "Status": "Planned"}]
def run_tests(open_routes):
results = []
results.append(("half-built test route is not open", "Test Route" not in open_routes(FIXTURE)))
every = open_routes(SEGMENTS)
results.append(("open routes are a subset of route names", set(every) <= {s["Name"] for s in SEGMENTS}))
results.append(("no open route has a Planned segment",
all(s["Status"].startswith("Operational") for s in SEGMENTS if s["Name"] in every)))
return results
# Step 2: the draft, the kind an assistant returns first. It reads well and is wrong.
def draft_open_routes(segs):
return sorted({s["Name"] for s in segs if s["Status"].startswith("Operational")})
# Step 3: the version that passes, written after a test failed.
def open_routes(segs):
names = {s["Name"] for s in segs}
return sorted(n for n in names if all(s["Status"].startswith("Operational") for s in segs if s["Name"] == n))
for label, fn in (("draft", draft_open_routes), ("fixed", open_routes)):
print(label, [("PASS" if ok else "FAIL") + ": " + name for name, ok in run_tests(fn)])
| Version | Test 1: half-built route | Test 2: real names only | Test 3: no Planned segment |
|---|---|---|---|
| AI-style draft | FAIL | PASS | FAIL |
| Fixed version | PASS | PASS | PASS |
It keeps a route if any one segment is operational. In Python that is the difference between any() and all(), and it is the most common shape of mistake in AI-written data code: correct syntax, wrong meaning. The draft names 10 routes; only 6 are open end to end.
Six routes have every Richmond segment operational: Cambie Skytrain Bridge, Delta South-Surrey Regional Greenway, Knight St. Bridge, Oak St Bridge, Railway Ave. Greenway and West Dike Trail. The four the draft added wrongly include the 24-segment Steveston route and the Sea Island Recreational Trail.
The two-row Test Route is ours, invented on purpose. A small case whose right answer you know by heart catches a wrong idea faster than a 51-row file whose answer you are still trying to find.
Three segments, OBJECTID 618, 812 and 1005, were Operational in the PreviousStatus column and are Planned now; the file does not say why, so we do not guess. Six rows carry the placeholder NA as their route description. And Metro Vancouver says the dataset reflects progress between 2020 and 2023, so a route opened since may still read Planned here.
The file is Metro Vancouver's, not the City of Richmond's: we could not find a City of Richmond dataset published under an open licence, so we used the regional district's, filtered to the rows tagged Richmond. Some of those rows are bridges at the city's edge, which is why we count routes and never print a total length. Used under the Open Government Licence - Metro Vancouver, which allows use including for commercial purposes (licence). Contains information licensed under the Open Government Licence - Metro Vancouver. Metro Vancouver does not endorse this page or our classes.
Most vibe coding videos skip this part. We read the terms of the tools our learners use on 22 October 2026; the age rules below decide which course a Richmond learner joins.
| Tool | What the terms say | Richmond teens, 13 to 17 | Adults |
|---|---|---|---|
| GitHub and GitHub Copilot | GitHub requires users to be at least 13. GitHub Education lists Copilot as “Available for free to verified students, teachers, and open-source maintainers”. | Allowed from 13, free once verified as a student | Allowed |
| ChatGPT and other OpenAI services | Minimum age 13; under 18 needs a parent's or legal guardian's permission (terms effective 1 January 2026). | Only with a parent's permission | Allowed |
| Claude and Claude Code (Anthropic) | Users must be at least 18 (consumer terms effective 8 October 2025). | Never used or recommended | Allowed, in the adult course |
| Canadian Computing Competition | Contest rules ban generative AI outright, including assistants built into a code editor. | Practise contest problems with no assistant | Not relevant |
Your teen will not be asked to sign up for any tool their age rules out. If a class uses an OpenAI tool, we ask for your permission first, because the company's own terms require it for anyone under 18.
Adults practise with agents like Claude Code and Codex inside a Git repository: whatever the agent edits shows up as a diff a person reviews, tests and can roll back.
Because the CCC bans AI help, teen classes include regular practice with every assistant switched off. The test-first habit transfers to contest day; the crutch does not.
Richmond public schools follow the BC curriculum. We went through the ministry's curriculum site on 22 October 2026; text in quotation marks comes from it, and the plain descriptions are our own.
| Stage | What the curriculum includes | Where test-first vibe coding helps |
|---|---|---|
| Grades 6 and 7, ADST | At least three ADST modules each year; the computational thinking module lists “simple algorithms” and “visual programming”, for example Scratch | Too early for AI coding tools; logic and testing ideas start here |
| Grades 10 to 12, ADST courses | Computer Studies 10, Web Development 10, Computer Programming 11 and 12, Robotics 11 and 12, among others | Web Development 10 projects are natural first vibe coding work |
| Computer Programming 11 | “programming language constructs to support input/output, logic, decision structure, and loops” | The any() versus all() bug above is exactly a decision-structure question |
| Computer Programming 12 | “higher-level structures, such as functions, methods, or classes, that help improve the organization of source code” | Tests per function are how you check AI-written functions |
| Mathematics: Computer Science 11 and 12 | Separate computing courses filed under mathematics, beside Pre-calculus and Calculus | Algorithm reasoning that lets a student judge an AI's approach |
Two practical notes for a Richmond Grade 10 to 12 student. First, our classes sit beside a school course and never replace it; marked school work stays the student's own, and we do not grant British Columbia credits. Second, the contests most BC schools use are CEMC's. CEMC lists the Beaver Computing Challenge for 9 to 20 November 2026 (open to Grade 10 or below, 45 minutes, English only) and the 2027 Canadian Computing Competition for Wednesday 17 February 2027, where students choose Junior or Senior by skill regardless of grade. Entry is arranged by schools: CEMC does not let students register on their own. Our Computer Programming 11 and 12 page covers the BC courses in depth, and the CCC preparation page covers the contest.
British Columbia stopped changing its clocks in 2026. The BC government said the province would adopt permanent daylight time after clocks moved forward on 8 March 2026, with Pacific time set seven hours behind UTC.
| Richmond time | India time | Example of who might pick it |
|---|---|---|
| Weekday 4 to 7 pm | 4:30 to 7:30 am the next day | Teens after school |
| Weekday 7 to 9 pm | 7:30 to 9:30 am the next day | Adults after work |
| Saturday 9 am to noon | 9:30 pm to 12:30 am | Teens and adults who prefer mornings |
Ontario and Quebec families change clocks on 1 November 2026; Richmond does not. A reminder that worked in October still works in December, and our teachers confirm times in Pacific time only.
Numbers with the 604, 778, 236, 672 or 257 area codes work in the form below. Enter all ten digits; the country code is supplied for you.
Our teachers work from India, which is twelve and a half hours ahead of Richmond all year. That is why Richmond evenings and weekend mornings are the easiest slots to arrange.
Ages are a guide; the free class places each learner by what they can already read and explain.
Python by hand: loops, conditions, functions, and the first tests a learner writes themselves.
Python for TeensGit & GitHub Course for TeensWeb and Python projects built with assistants a teen may use, every change checked by tests.
Vibe Coding for TeensAI and Machine Learning for TeensFull stack work with AI assistance, data structures, and generative AI from first principles.
Vibe Coding for CollegeGenerative AI CourseAgentic coding tools on a live repository, with review, testing and safe rollback. Adults only.
Codex & Claude CodePython Automation CourseThe part that decides whether the code is any good.
In the greenway example the draft was short, readable and confident, and it named four routes as open that are not. Nothing in the code looked wrong. The only reason anyone noticed is that a person had already decided, in a test, what a half-built route must return. That decision is not something a model can make for you, because it depends on what you mean by open.
So our classes spend less time on typing and more on judgement: choosing the question, writing the check, reading the failure, and owning the fix. Teens build that judgement with tools their age allows; adults apply it to agents that act on their behalf. In both groups, the person stays the author.
A Richmond learner who can write the test before the code will still be useful when the tools change again next year. The longer argument is in is coding still worth learning in 2026.
Nobody crosses a bridge for a lesson. Every class is live, online and taught by a teacher who watches the learner's screen.
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 batch of fifteen to twenty learners of the same age group and level, or one teacher for one learner, which suits adults bringing their own codebase.
Teen and adult classes never mix, because their permitted tools differ. A sixteen-year-old and a forty-year-old are placed in different courses even at the same level.
Learners in Vancouver, Burnaby, Surrey and Delta join the same classes on the same Pacific time clock as Richmond.
A laptop or desktop with a current browser, a microphone, and a steady connection. Teens need no paid AI subscription; adults are told in advance which tools the course uses.
Your first session costs nothing and is taught like any other, then closes with a recommended level and course. We take no payment details at that stage.
No Richmond office
Modern Age Coders has no centre in Richmond and claims none. Teaching is live and online from India, and we are not connected with the City of Richmond, Metro Vancouver, the BC ministry or CEMC.
Three lines, each shown in your own currency by the price anchor.
A full live lesson at no cost, ending with a placement and a course suggestion.
The monthly fee for a batch of fifteen to twenty learners of one age group, eight live classes a month.
The monthly fee for one teacher and one learner, at times that suit you.
Richmond pays the same monthly fee as the rest of Canada. Nothing is billed before the free lesson, and adults working around shifts can pause between months.
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
The first class begins with a short AI-written function that hides one mistake. Spotting it and writing a test that exposes it shows the teacher where you stand, and which of the age-based courses suits you.
What Richmond teens, parents and adults ask us most.
Yes, live online. Richmond teens aged 13 to 17 take Vibe Coding for Teens, and adults take separate courses. There is no Richmond classroom; every lesson is with a real teacher over video.
Richmond, British Columbia, in Metro Vancouver. Richmond Hill is a different city in Ontario with different school courses and a different time zone.
Describing the program you want in ordinary language and letting an AI model write the code. Our classes treat that as the first step and teach the rest: testing, reading and fixing what the AI wrote.
No. Anthropic sets 18 as the minimum age for its consumer services, so Claude and Claude Code appear only in our adult courses and are never suggested to anyone under 18.
No. OpenAI's terms say anyone under 18 needs a parent's or guardian's permission, so we ask you first. Teens can work with GitHub Copilot instead, which GitHub offers free to verified students.
Yes. Our Codex and Claude Code course is for adults only and works on real repositories with version control. Vibe Coding for College suits learners aged 18 and up who want full stack projects.
Before asking an AI for code, you write a few small checks the code must pass. Then you run them. On this page a first draft about Richmond greenways failed two of three checks, which is how the mistake was found.
It sits beside them. The courses ask for logic, decisions, loops and functions, which are what tests check. We teach alongside the school course and do not grant British Columbia credits.
No. Contest rules ban generative AI, editor plug-ins included. CEMC lists the 2027 CCC for Wednesday 17 February 2027, written through a school, so contest practice is done without assistants.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Times are confirmed in Pacific time, which BC keeps all year.
Scroll to the fees block above the reviews. It lists the free trial lesson, the monthly group fee and the monthly private fee, converted to your currency automatically. Payment comes only after the trial.
For the national picture read vibe coding and AI agents classes in Canada, or the province-wide coding classes in British Columbia. Parents of teens may want a parent's guide to vibe coding and the AI tools age guide; adults can start from agentic coding classes.