How can a Fredericton teenager learn Python and AI with a live teacher, around a New Brunswick timetable?
Modern Age Coders teaches Python and AI to Fredericton teenagers between 13 and 18 in live online classes, in a group of fifteen to twenty or one to one. Students normally begin with Python for Teens, then take AI and Machine Learning for Teens, Data Science for Teens or CCC preparation. Every class is booked on Atlantic time, and the first lesson is free.
Fredericton is New Brunswick’s capital and sits in Canada’s only officially bilingual province, so a teenager here often moves between English and French in a single day. New Brunswick’s high school computer science course now mentions artificial intelligence directly, and even lists AI-assisted debugging tools as one way to test and refine an algorithm. At the same time, the national programming contest bans AI inside the editor. A Fredericton student therefore needs both habits: using AI tools carefully where they are allowed, and thinking without them where they are not. This page quotes New Brunswick’s curriculum and CEMC’s rules, explains the age limits on AI tools for younger teens, and walks through a text classifier our students build on the City of Fredericton’s bilingual list of recreation amenities.
Facts last verified 22 October 2026. Teaching is online; no Fredericton branch is claimed.
Python is the base for all four. The free class tells us whether a student starts there or one step later.

Full Python from first statements to functions, sets and dictionaries, which is all the bilingual text model on this page needs.
See the syllabus
Classifiers built by hand and tested fairly, including naive Bayes for text, before any library does the work for the student.
See the syllabus
Reading, cleaning and summarising public data, with municipal files from Atlantic Canada among the exercises.
See the syllabus
Problems of our own in the CCC format, sat under the three-hour limit with every AI helper switched off.
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 quoted lines are from curriculum.nbed.ca, the New Brunswick curriculum site, as read on 22 October 2026. Comments in the right-hand column are ours.
| Item | New Brunswick wording | Our comment |
|---|---|---|
| Courses in the subcluster | “Computer Science 110”, “Computer Science 120”, “Cybersecurity 120”, “Cybersecurity and Technical Support 110” and “Technology 9” | Two computer science courses and two cybersecurity courses after a Grade 9 technology course |
| CS 110 aim | “Learners will gain a strong foundation in coding while demonstrating operational skills, using computational thinking” | Coding first, with problem solving and teamwork alongside |
| CS 110 scope | “Computer science also encompasses topics such as computer architecture, programming languages, artificial intelligence, and human-computer interaction.” | AI is named as part of the field, not a separate subject |
| CS 110 achievement indicator | Testing and refining algorithms “using coding environments or AI‑assisted debugging tools” | AI help is allowed in this school task, which makes the contest rule below a contrast worth teaching |
That last row is unusual. Most curriculum documents we read in 2026 mention artificial intelligence as a topic; New Brunswick’s Computer Science 110 also lists AI-assisted debugging tools as an accepted way to refine an algorithm. For a Fredericton teen this is a reasonable rule for school work, and it sits beside a stricter rule elsewhere: in the CCC, AI help inside the editor is banned. We teach students to handle both. In practice that means writing and testing code by hand until they can find their own bugs, then learning how an AI debugger can speed up that work without replacing it, and how to check what it suggests. A student who can only debug with an assistant is stuck in February; one who can debug alone uses an assistant far better.
Younger teens start with complete Python programs and the habit of predicting output, so that Computer Science 110 builds on code they already trust.
We work alongside both courses with extra practice, explanations and project feedback, and with algorithm work that goes beyond a single school project.
Students drawn to Cybersecurity 120 benefit from strong programming first. The coding curriculum by province page compares New Brunswick with other provinces.
We teach beside a student’s courses and no provincial credit is granted by us; Computer Science 110 and 120 credits come only from the school. We are independent of New Brunswick’s education department or any Fredericton-area school district.
CEMC at the University of Waterloo runs the Canadian Computing Competition. These details are CEMC’s, read on 22 October 2026; the advice is ours.
| Detail | CEMC says | What to do |
|---|---|---|
| Contest date | Wednesday 17 February 2027 | Plan practice backwards from that date, on Atlantic time |
| School ordering deadline | Thursday 11 February 2027 | Ask a teacher well before then; the school places the order |
| Who can enter | “all students must participate through their school.” | There is no individual entry, so the school route is the only one |
| Choosing a level | “each participant can choose the best level for them, regardless of their grade.” | Junior for most first-time writers, whatever their grade |
| Language | CEMC offers the paper in both official languages | A Fredericton student in French immersion can write the paper in French |
For a bilingual city that last line matters. A student who learns Python with us in English can still read the CCC paper in French if that is the language they think in at school; the code itself is identical in both. The ordering deadline is the detail families most often miss. CEMC lists it for Thursday 11 February 2027, only six days before the contest, and a school that has not entered before needs time to set up. We suggest raising it with a teacher before the winter break. In class we prepare students with problems we write ourselves; CEMC’s past papers and solutions stay in CEMC’s free archive, where students read them independently.
The grader rules rule out AI features inside the coding editor as well as chatbots. We run every contest session in a plain editor, so the school habit of AI debugging does not follow a student into the CCC.
Python is one of the accepted CCC languages and the one we start with. Students heading for the hardest Senior questions later add C++.
The CCC Senior guide covers the harder paper, and the CCC preparation page describes how our course runs.
The City of Fredericton lists its recreation amenities, from playgrounds and ball diamonds to dog parks, with a description in English, a description in French and a season. Our students hide the season and train a naive Bayes classifier on the words. All accuracy figures here are our own results; the descriptions and seasons are the City’s.
| Model | What it reads | Share of amenities whose season it guesses right |
|---|---|---|
| Baseline | Nothing: always says Year-Round, the commoner season | 54.1% |
| Naive Bayes, English | The words of the English description | 88.7% |
| Naive Bayes, French | The words of the French description | 85.2% |
This is the complete program, using only Python’s standard library. It downloads the amenity list, turns each description into a set of lower-case words, and for every amenity in turn trains on all the others and guesses the left-out one, a method called leave-one-out that suits a small dataset. The add-one in the formula keeps a word the model has never seen with a season from zeroing out the whole calculation. Its output on 22 October 2026 is the three-row table above:import json, math, re, urllib.request
from collections import Counter
URL = ("https://services2.arcgis.com/iLWAxhpxafhOza2U/arcgis/rest/services/"
"Recreation_Amenities_view/FeatureServer/0/query?where=1%3D1"
"&outFields=Description,DescriptionFR,Season&returnGeometry=false&f=json")
rows = [f["attributes"] for f in json.load(urllib.request.urlopen(URL))["features"]]
rows = [r for r in rows if r["Season"] in ("Summer", "Year-Round")]
def words(text):
return set(re.findall(r"\w+", (text or "").lower()))
def train_and_guess(train, sample):
seasons = Counter(season for _, season in train)
counts = {s: Counter() for s in seasons}
for bag, season in train:
counts[season].update(bag)
vocab = set().union(*(bag for bag, _ in train))
def score(s):
total = sum(counts[s].values())
return math.log(seasons[s] / len(train)) + sum(
math.log((counts[s][w] + 1) / (total + len(vocab))) for w in sample if w in vocab)
return max(seasons, key=score)
def leave_one_out(field):
data = [(words(r[field]), r["Season"]) for r in rows]
right = sum(train_and_guess(data[:i] + data[i + 1:], bag) == season
for i, (bag, season) in enumerate(data))
return round(100 * right / len(data), 1)
top = Counter(r["Season"] for r in rows).most_common(1)[0]
print(len(rows), "amenities; always", repr(top[0]), "is right",
round(100 * top[1] / len(rows), 1), "% of the time")
print("naive Bayes on English descriptions:", leave_one_out("Description"), "%")
print("naive Bayes on French descriptions:", leave_one_out("DescriptionFR"), "%")
Naive Bayes treats each word as a small piece of evidence. In the English descriptions, “diamond” and “ball” appear 25 times each, always on summer amenities, while “playground” appears 57 times on year-round amenities and only twice on summer ones.
The word “drop”, from “drop-in”, appears 31 times, every time on a summer amenity. The model has no idea what drop-in means; it only learned that the word travels with summer. That is the strength and the weakness of statistical learning.
The French descriptions give 85.2 per cent against 88.7 in English. Students investigate why: French joins words with apostrophes, uses more forms of each word, and spreads the same evidence over more spellings. Handling that is real natural language processing.
The English model makes 32 mistakes. Seven are summer parking areas called year-round and four are year-round parking areas called summer: a parking description says little about the season, and the City lists 28 parking rows as year-round and 11 as summer. Six more are community school gyms. When a model fails on one category again and again, the honest conclusion is that the text does not contain the answer, not that a cleverer model is needed.
A few notes on the data. Of the 295 amenities in the layer, 11 are tagged Winter and one has no season, so the model compares only Summer (130) and Year-Round (153). The descriptions were written by people, not generated, which is why identical amenities often share a template sentence and why the model does well on them. The dataset sits in the City’s Fredericton Open Data catalogue, published under the Open Government License - City of Fredericton, version 1.0, which the City says is based on the Open Government Licence - Canada and whose grant extends to use “including for commercial purposes”. Source: City of Fredericton, Recreation Amenities, City of Fredericton open data. Nothing here carries the City’s endorsement.
Minimum ages are set in company terms and contest limits in organiser rules; we checked each original on 22 October 2026 and describe our own practice alongside.
| Where it applies | Published rule | How our classes handle it |
|---|---|---|
| ChatGPT, under OpenAI’s January 1, 2026 terms | “You must be at least 13 years old or the minimum age required in your country to consent to use the Services”, plus a parent’s or guardian’s yes below 18 | Allowed once a parent agrees, and then as a checker, never as the author |
| Claude, under Anthropic’s consumer terms dated Oct 8, 2025 | Adults only: users “must be at least 18 years old” | Kept out of every class for under-18s |
| AI debugging in NB Computer Science 110 | Testing algorithms “using coding environments or AI‑assisted debugging tools” | Taught only after a student can debug unaided, and only with tools the student may legally use |
| The CCC, per its online grader rules | Chatbots and editor AI are both prohibited during the contest | Mock contests run in a plain editor |
The bilingual classifier shows what a student learns by building rather than asking. A chatbot asked to predict the season of Fredericton’s amenities would likely give a confident answer. It would not tell the student that the parking descriptions carry no seasonal signal, that “drop” is a clue only by accident, or that the French model does slightly worse for reasons rooted in how French is written. Those findings come from reading output line by line. Where a parent allows ChatGPT, it enters our lessons late, as something to test against the student’s own reasoning, which is also what New Brunswick’s debugging indicator implies: the student refines the algorithm, and the tool assists.
Below 18 the choice belongs to the family under OpenAI’s terms. Any lesson that might use the tool is named beforehand, and none needs it.
Claude carries an 18-plus rule, so teen lessons never touch it, and our agentic coding course, written for adults, does not take teenagers.
We explain, question and give practice. We never complete graded assignments, and we say so plainly when a piece of code looks pasted.
Fredericton moves its clocks on 1 November 2026 and 14 March 2027, the same days as Ontario, so it stays one hour ahead of Eastern time all year. India never changes. The hours below are examples, not a fixed timetable.
| Dates | Fredericton | India ahead by | Saturday 9:30 to 11 am in Fredericton | Weekday 6:30 to 8 pm in Fredericton |
|---|---|---|---|---|
| Up to 1 November 2026 | UTC-3 | eight and a half hours | India: 6 to 7:30 pm | India: 3 to 4:30 am the following day |
| Winter, 1 November 2026 to 14 March 2027 | UTC-4 | nine and a half hours | India: 7 to 8:30 pm | India: 4 to 5:30 am the following day |
| Spring 2027 onward, after 14 March | UTC-3 | eight and a half hours | India: 6 to 7:30 pm | India: 3 to 4:30 am the following day |
Each confirmation gives the Fredericton time. Families hear from us before each change in November and March, with every class time restated.
National webinars and contest briefings are often set in Eastern time; in Fredericton they start an hour later on the clock, all year.
New Brunswick numbers use the 506 area code and its overlay 428. Enter all ten digits in the booking form; skip the country code.
The stages are a guide. We place each student by the code they can write today, which the free class checks.
Whole Python programs, from reading input to writing functions, with every output guessed before it appears.
Python for TeensSearching and sorting drills, careful counting, then a first CCC Junior sitting if the student wishes.
Problem Solving for TeensCCC Junior and Senior Preparation (Canadian Computing Competition)Real public data in English and French, cleaned and modelled, from counts to word-based classifiers.
Data Science for TeensAI and Machine Learning for TeensA larger machine learning project, and C++ for students aiming at the top of CCC Senior.
AI and Machine Learning for TeensC++ for TeensBecause New Brunswick allows the tool in class, the CCC forbids it, and only a student who can do both is ready for either.
An AI debugger is useful in the hands of someone who knows what a correct program should do. In the hands of someone who does not, it just moves errors around. A teen who has found a dozen bugs by reading their own output knows what to ask a tool, and knows when its answer is wrong.
So we keep a fixed order. Understand the problem, write the steps, predict the output, run it, find the mistakes, and only then, within the age rules, try a tool and compare its suggestion with your own. Students taught this way get more from AI, not less.
In the CCC the order is enforced for everyone: no AI in the editor, so every fix has to come from the student. The longer argument is in a fuller case for coding in 2026.
Classes are online, so a teen on the north side of the Saint John River and another in Oromocto or New Maryland share the same lesson.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Students from Oromocto, New Maryland and the wider valley join the same groups, all on Atlantic time.
Join a class of fifteen to twenty peers, or book a private teacher when a date is fixed, for example the CCC or a Computer Science 120 submission.
Teaching happens in English; key terms come with their French names, which helps immersion students connect class and school.
Any computer that runs Python 3, plus a headset and decent internet. If Python is missing, setting it up is part of lesson one.
A complete class with no charge and no card details, finishing with a recommended course and level.
No Fredericton centre
Modern Age Coders has no office or classroom in Fredericton and claims none. Lessons are live on the internet, given by our teachers in India and timed to Fredericton’s clock.
Fees are displayed in your own currency, each marked with its currency code.
A full live class free of charge, finishing with a placement and a suggested course.
Eight live group sessions each month, among fifteen to twenty teens of similar level, for one monthly fee.
A single monthly fee for a private teacher at times that suit the family.
Fredericton is charged the same fee as every other Canadian city. Payment only begins after the free class, when the family has settled on a course and times. Rules on missed sessions and holidays are on our 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
Let us know the grade, any French immersion, and what the student has coded so far. Beginners finish the first lesson with a working program; experienced students may start on the Fredericton amenity list or a timed contest problem we wrote.
What parents and teenagers in Fredericton ask us most.
Online and live. There is no Fredericton centre; teens join from home, in a group of fifteen to twenty or with a private teacher.
English, with French vocabulary given for the main ideas. The CCC paper itself can be written in French, which CEMC allows.
No. We teach alongside school and do not grant provincial credits; Computer Science 110 and 120 credits come from the school.
Yes, once a student can debug without them, and only using tools the student may legally use at their age. Contest practice stays AI-free.
Fourteen is above OpenAI's minimum of 13, but until 18 a parent or guardian has to give permission. We involve it only after that yes.
No. Claude is restricted to adults of 18 and over by Anthropic's terms, so teen lessons leave it out.
CEMC lists the ordering deadline as Thursday 11 February 2027, for a contest on Wednesday 17 February 2027. Students enter only through a school.
Yes. Both change clocks on the same dates, 1 November 2026 and 14 March 2027, so Atlantic time stays one hour ahead of Eastern.
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 Atlantic time.
Yes. The amenity list comes straight from the City of Fredericton's open data, in both languages, under its open government licence, and students write the classifier on their own. No City endorsement is implied.
For timing, read the Canada time zones guide. For university plans, see computer science prerequisites at Canadian universities. For contests, the CCC Junior guide, and the national Canada page for the rest.