Where can a Nanaimo teen or adult learn to build with AI, safely?
Modern Age Coders teaches vibe coding and AI agents classes in Nanaimo live online. Nanaimo teens aged 13 to 17 learn in Vibe Coding for Teens, and adults learn AI agents in a separate Codex and Claude Code course that accepts over-18s only. Classes run live in groups of fifteen to twenty or privately, and every agent a learner builds gets a step budget and a completeness check.
Nanaimo, on the east coast of Vancouver Island, has more than two thousand mapped trail segments in its open data, and they make a fine test of an AI agent. Vibe coding means describing the code you want to an AI model and letting it write the draft; an agent is the next step, where the model decides on its own to call a tool, read the result and call again. The two classic agent failures are going round in circles and stopping too soon with a confident answer. Here we build a small trail agent that pages through the City's segments, show both failures with stand-in plans, and add the two guards that catch them: a step budget, and a rule that the agent may not answer until it has read every page. You will also find the age limits on AI tools, the BC computing courses a Nanaimo student can take, and how Pacific time works now that BC no longer changes its clocks.
Facts last verified 23 October 2026. Teaching is online; no Nanaimo branch is claimed.
Courses are split by age because AI companies split their tools by age. Level is settled in the free lesson.

Building Python and web projects with AI help that teens are permitted to use, and learning to say exactly when a program has finished its job.
See the syllabus
Loops, lists and functions written by hand, including the loop that never ends, which is the first thing an agent loop can get wrong.
See the syllabus
Commits, branches and pull requests, so that anything an assistant changes in a teen's project can be seen and reversed.
See the syllabus
Agentic coding on real repositories for working adults. Anthropic permits Claude Code only from age 18, so teens are not admitted.
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 City of Nanaimo publishes its trails as open data, split into short segments with a name, a surface type and a length in metres. Our agent answers one question by paging through them. The code, the stand-in plans and every figure are ours, run on the City's layer as downloaded on 23 October 2026.
| What we counted | Result |
|---|---|
| Segments in the layer | 2,190, of which 147 have no trail name |
| Surface types | Wilderness 725, Hard 637, Soft 564, Stairs 141, Boardwalk 84, Bridge 39 |
| Segments named Bowen Park | 219, more than any other name |
| Segments named Westwood Lake Park | 158 |
| Sum of the Bowen Park segment lengths (our calculation) | 7,535 m, about 7.53 km |
The design: the agent's only tool hands back at most 50 segment lengths at a time, plus the number of segments the trail has. With 219 Bowen Park segments, a correct answer needs five calls. The loop has two guards. A step budget of eight stops a plan that never finishes, and an answer is accepted only if the agent has read every segment and its total matches the sum of what its own tool calls returned.
The full program, with three plans written by us in place of a model:# Nanaimo trail agent with a step budget, and a check that redoes the sum (our teaching example)
import json
SEGMENTS = []
for page in ("trails-p0.json", "trails-p2000.json"):
SEGMENTS += [f["attributes"] for f in json.load(open(page, encoding="utf-8"))["features"]]
PAGE = 50
def get_segments(name, offset):
"""Tool: up to 50 segment lengths (metres) of one named trail, from offset, plus the trail's row count."""
rows = [s for s in SEGMENTS if s["NAME"] == name]
return {"lengths_m": [s["Shape__Length"] for s in rows[offset:offset + PAGE]], "total_rows": len(rows)}
def run(plan, max_steps=8):
"""Execute tool calls until the plan answers; stop when the step budget is spent."""
seen, total = [], None
for step, call in enumerate(plan, start=1):
if step > max_steps:
return "STOPPED: budget of %d steps spent, no answer" % max_steps
if call["type"] == "answer":
recomputed = round(sum(seen) / 1000, 2)
if len(seen) != total:
return "REJECTED: read %d of %d segments" % (len(seen), total)
if call["km"] != recomputed:
return "REJECTED: claimed %s km, tool results add to %s km" % (call["km"], recomputed)
return "OK: %s km from %d segments" % (call["km"], total)
result = get_segments(call["name"], call["offset"])
seen += result["lengths_m"]
total = result["total_rows"]
return "plan ended without an answer"
# Three stand-in plans in place of a model, so the loop and its checks run with no AI service.
name = "Bowen Park"
rows = get_segments(name, 0)["total_rows"]
calls = [{"type": "tool", "name": name, "offset": o} for o in range(0, rows, PAGE)]
honest = calls + [{"type": "answer", "km": 7.53}]
stuck = [calls[0]] * 20 # asks for the first page again and again
early = calls[:2] + [{"type": "answer", "km": 3.26}] # answers after two pages of five
for label, plan in (("honest", honest), ("stuck", stuck), ("early", early)):
print(label, "->", run(plan))
What it printed:honest -> OK: 7.53 km from 219 segments
stuck -> STOPPED: budget of 8 steps spent, no answer
early -> REJECTED: read 100 of 219 segments
It asks for the first page twenty times. Without a budget the loop would run until someone noticed; with one, it stops after eight steps and says plainly that it has no answer. An honest stop is a result.
It reads two pages of five and answers 3.26 km. That number is the true sum of what it read, so a check that only re-adds its tool results would pass it. The completeness rule catches it: 100 of 219 segments is not the trail.
Five calls, every segment read, a total that matches the tool results: 7.53 km. The figure is our sum of the City's segment lengths, not a published trail length, and segments without a name are not included.
Bowen Park segments include 13 of stairs and 2 of bridge, so the 7.53 km mixes surfaces a walker and a cyclist would treat very differently. The layer has no date column, and a trail split across two names would need a person to decide whether to merge them. We report the sum for one name and stop there.
Used under the Open Government Licence - Nanaimo, which grants use including for commercial purposes (Open Data Catalogue Licence). Contains information licenced under the Open Government Licence - Nanaimo. No endorsement by the City of Nanaimo is implied.
Anthropic, describing how it builds agents, notes that it is common to include stopping conditions, such as a maximum number of iterations, to maintain control. We teach that as a rule, not an option, and add a second one: define what finished means before the agent starts.
| Guard | Question it answers | In the Nanaimo agent |
|---|---|---|
| Step budget | When do we give up? | Eight steps, then an explicit STOPPED message |
| Completeness rule | Has the agent seen everything it needs? | Segments read must equal the trail's segment count |
| Recomputation | Does the answer follow from the evidence? | The claimed total must equal the sum of the tool results |
| Plain failure messages | Can a person tell what went wrong? | Each rejection says why, in numbers |
Vibe coding meets the same ideas in a smaller form. When a Nanaimo teen asks an assistant for a loop, we ask what makes it end, and what proves it ended for the right reason. A while loop that relies on a condition the data never meets is the stuck plan in miniature, and a for loop over the first page of results is the early plan.
All of this rests on the owner's promise: we teach people to think a problem through and solve it, never to copy an answer, and an AI's answer is no exception. Whether the learner is in Grade 10 or runs a small business in Nanaimo, the closing question of every exercise is the same: how do you know it is finished, and how do you know it is right?
Every company that makes an AI coding tool sets its own minimum age. We went through those pages on 22 October 2026, and the result below sets the course each Nanaimo learner can enter.
GitHub accounts are open from age 13, and GitHub Education gives Copilot free to verified students. It is the assistant our teen course leans on.
ChatGPT and OpenAI's other services are open to 13 to 17 year olds only with a parent or guardian's say-so, under the company's current terms. We collect that say-so first.
Anthropic's consumer terms set a minimum age of 18. Nanaimo teens therefore never see either tool in class; they belong to the adult course.
One more rule applies to everyone: the Canadian Computing Competition forbids generative AI and AI features built into code editors, so contest practice is done with every assistant switched off. Terms belong to the companies and are revised from time to time; we look them over again ahead of every intake, and anyone opening an account should read the live version.
Nanaimo public schools follow the BC curriculum. Quoted phrases are from the ministry's curriculum site and from CEMC, read on 22 October 2026; the rest is our own summary.
A Nanaimo child first meets computing in Grades 6 and 7, when the BC curriculum asks for at least three Applied Design, Skills, and Technologies modules a year; the computational thinking module mentions “simple algorithms” and “visual programming” with tools such as Kodu and Scratch. By secondary school the options widen into Web Development 10, Computer Programming 11 and 12, and Robotics 11 and 12 on the ADST side, and Computer Science 11 and 12 on the mathematics side.
By Grade 12 the BC programming course expects students to organise code into functions, methods or classes. The trail agent is built that way on purpose: one tool function with a clear contract, one loop function holding its guards, and nothing hidden. We tutor beside the school course rather than in place of it; marks and credits come from the school, and we award no BC credit ourselves.
| Contest | Details | Date |
|---|---|---|
| Beaver Computing Challenge | 15 multiple-choice questions at the Grade 7/8 and 9/10 levels, 45 minutes, no coding needed | 9 to 20 November 2026 |
| Canadian Computing Competition | Junior or Senior, chosen by skill regardless of grade; C, C++, Python or Java | Wednesday 17 February 2027 |
| Canadian Computing Olympiad | By invitation: about 20 top official CCC Senior participants | Each spring, after the CCC |
Registration for CEMC contests goes through schools only. For more detail, read our guide to BC Computer Programming 11 and 12 or the Beaver Computing Challenge guide.
British Columbia moved to permanent Pacific daylight time in March 2026, so Nanaimo is seven hours behind UTC in summer and winter alike. Our teachers are in India, 12 hours 30 minutes ahead of Nanaimo through every season.
| Nanaimo | India | Example learner |
|---|---|---|
| Weekday 5:00 to 6:30 pm | 5:30 to 7:00 am, next day | Teens after school |
| Weekday 8:00 to 9:30 pm | 8:30 to 10:00 am, next day | Working adults |
| Saturday 9:00 to 10:30 am | 9:30 to 11:00 pm, same day | Families and adults |
Eastern Canada sets its clocks back on 1 November 2026. Nanaimo does not, so October class times carry straight through the winter.
The booking form takes Island and BC numbers on 250, 778, 236, 672 or 257. Leave off the country code and give ten digits.
Every schedule we send is written in Pacific time first. Teachers in India do the conversion so that families do not have to.
The age bands are rough. Each Nanaimo learner's first lesson decides the true starting point.
Python by hand, with loops, conditions and functions, and the habit of asking what stops each loop.
Python for TeensGit & GitHub Course for TeensVibe coding with permitted assistants, and machine learning with honest evaluation.
Vibe Coding for TeensAI and Machine Learning for TeensAutomation and generative AI for students and adults changing careers.
Python Automation CourseGenerative AI CourseCoding agents on real repositories, with budgets, checks and rollback. Adults only.
Codex & Claude CodeVibe Coding for CollegeBecause someone has to decide when the work is done.
The early plan in the trail example gave an answer that was arithmetically perfect and factually wrong: it summed exactly what it had read, and it had read less than half the trail. No model can tell you that by itself, because it does not know what you meant by the whole trail. A person who has written a paging loop knows to ask.
That is the part our classes protect. A fifteen-year-old practises it with a permitted assistant, a forty-year-old with an agent on a work repository; both must explain, unaided, why the program stops and why the answer covers everything.
An agent with no budget and no finish line is not autonomous; it is unsupervised. The longer argument is in is coding still worth learning in 2026.
No ferry, no drive. A live teacher works through the lesson with each learner over video and asks them to explain their code as they go.
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 shared class holds fifteen to twenty learners of one age band and level; private lessons suit anyone who wants their own pace.
The companies' terms give teens and adults different tools, so the two groups always take different courses.
Learners in Lantzville, Ladysmith, Parksville and Victoria join the same online groups on the same Pacific clock.
A computer with a modern browser, a microphone, and a connection that holds a video call. No paid AI subscription is needed for teens.
The first lesson is a full class at no cost and ends with a placement. No card is taken.
No Nanaimo centre
We have no premises in Nanaimo and claim none. Teaching is live over video from India, and we are not connected with the City of Nanaimo, the BC ministry or CEMC.
Three lines, each priced in your own currency by the anchor.
A full first lesson, free, ending with a level and a suggested course.
The monthly fee for a group of fifteen to twenty, eight live classes a month.
The monthly fee for private lessons at times that suit you.
Island learners pay the same monthly fee as learners on the mainland or anywhere else in Canada. Billing begins only after the first lesson.
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
Lesson one hands the learner an AI-written loop that either never finishes or finishes too soon. Diagnosing which, then adding the guard, is how our teacher judges level and age track.
What Nanaimo families and adult learners ask us most.
Yes, live online. Nanaimo teens from 13 to 17 take the teen course, adults take separate courses, and every class has a real teacher on video. There is no classroom in Nanaimo.
Building software by describing what you want to an AI model and letting it write the code. We teach it as the first draft, followed by testing, checking and explaining.
A limit on how many actions the agent may take before it must stop. In our Nanaimo trail agent the budget is eight steps; a plan stuck repeating itself is stopped and reports that it has no answer.
Not with us. Anthropic's consumer terms set 18 as the minimum age, which keeps Claude Code inside the adult course.
No. Because OpenAI wants a parent to agree for users under 18, we bring it in only after you say yes; otherwise teens work with GitHub Copilot, free to verified students.
Yes, online. Agent building with Codex and Claude Code is taught to adults only, on Git repositories, and every agent a learner writes carries a budget and a completeness check.
Our sum of the 219 segments named Bowen Park in the City of Nanaimo trails layer is about 7.53 km. That is our calculation from the segment lengths, not a figure published by the City.
Yes. That course is about organising code into functions and similar structures, which is how the trail agent is written. We work beside the school, which alone awards the credit.
Not allowed in the CCC, whose rules forbid generative AI and editor plug-ins. CEMC lists the 2027 CCC for Wednesday 17 February 2027, written at school.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Our schedules show Pacific time, unchanged by any November switch.
Our Canada-wide page, vibe coding and AI agents classes in Canada, gives the national picture, and coding classes in British Columbia for the province. Families can read what is vibe coding? and the parent's guide to vibe coding; adults may want AI agents explained.