Skip to content
Home/Canada/Alberta/Lethbridge
Lethbridge, Alberta

AI and Python classes for teens in Lethbridge

Where can a Lethbridge teenager learn Python and AI from a real teacher, live?

Modern Age Coders runs live online Python and AI classes for Lethbridge teenagers aged 13 to 18, either in a class of fifteen to twenty or with a private teacher. A typical path is Python for Teens, then AI and Machine Learning for Teens or CCC preparation, with Grade 12 math support for students facing Math 30-1. Classes are scheduled on Alberta time, which no longer changes, and the first one is free.

Alberta is rewriting what its students learn, and artificial intelligence is now named in the plan. The province describes its renewed curriculum as integrating topics like artificial intelligence and computer science, with the drafts moving through pilot years before they become mandatory. For a Lethbridge teenager today that means school will talk more about AI, while the deep practice of building and testing programs still mostly happens outside class. This page quotes the Alberta government on the renewal, the diploma exams and the province’s new all-year clock, explains how CEMC’s contests work for a student in southern Alberta, sets out the AI tool age rules, and walks through a project in which our students teach a computer to recognise arterial roads from the City of Lethbridge’s own street records, and then find out what it misses.

Facts last verified 22 October 2026. Teaching is online; no Lethbridge branch is claimed.

Course picks for Lethbridge teens

Four courses that fit a Lethbridge student between Grade 8 and Grade 12

Three are coding courses; one supports the Grade 12 math that machine learning and university programmes lean on. The free class shows where to start.

Browse the course atlas for more than one hundred options and use the coding roadmap to check prerequisites.

The four we are known for

Python, AI, vibe coding and agentic coding

These run underneath everything above. Every one is live and online, placed by ability rather than by age, and the first class is free.

Alberta, 2026 to 2029

What Alberta’s curriculum renewal says about AI and computer science

The quotes in this section are the Alberta government’s, from alberta.ca as we read it on 22 October 2026. Where we explain what a line means for a teenager, we say so.

Alberta curriculum and assessment facts relevant to a Lethbridge teen (alberta.ca, read 22 October 2026; the third column is ours)
TopicAlberta government wordingWhat we take from it
AI in the renewal“By integrating topics like artificial intelligence, computer science and money management, Alberta’s renewed curriculum will help students prepare for high-demand jobs in an evolving economy.”Said of the draft science 7 to 9, CALM 10 and physical education and wellness 10 curriculums
When those drafts arrive“Optional piloting of these draft curriculums will occur in 2027/28, followed by mandatory implementation in 2028/29.”A teen in Grade 8 today may finish junior high before the change is compulsory
Grades 7 to 9 mathOptional classroom piloting in 2026/27 “ahead of mandatory implementation in September 2027”Math changes sooner than science
Diploma exams“70% of the final mark comes from course work. The remaining 30% comes from the diploma exam.”Math 30-1 and 30-2 are on the diploma list; the exam matters, but course work matters more
Provincial tests“Provincial Achievement Tests (PATs) are administered annually to all Alberta students in grades 6 and 9.”, written “in a digital environment rather than pencil and paper”Grade 9 students meet a digital provincial test the year before high school

The renewal sentence is worth reading carefully, because it is easy to over-read. Alberta is saying that artificial intelligence and computer science are topics the renewed curriculum integrates, in drafts that are still being piloted, with the science drafts not mandatory until 2028/29. It is not saying that every Lethbridge junior high student will build a model next year. Families who want their teenager to do that, to write Python that learns from data and then test it honestly, have a few years before school catches up. That gap is where our lessons sit. We also note what we could not verify: Alberta’s high school computing course descriptions sit on a site we could not read as plain text, so we do not describe them here.

Junior high

Grade 7 to 9 students start with complete Python programs and short data tasks, so that when AI appears in school science it is something they have already built a small piece of.

Grade 10 and 11

Students move to algorithms and real datasets, and many try a first CCC paper. The street classifier below is a typical Grade 10 or 11 project with us.

Grade 12

Math 30-1 carries a diploma exam worth 30 per cent of the final mark. Students heading for computer science often pair our math support with coding. See Math 30-1 help.

Alberta credits come from school

Our classes run alongside a student’s school courses and we do not grant provincial credits; Alberta course credits and diploma exam marks come only through the school. We are not connected with Alberta’s education ministry or with any Lethbridge school division.

Contests from southern Alberta

CEMC contests for a Lethbridge teen: what they are, and what they are not

CEMC at the University of Waterloo runs Canada’s main school computing contest, the CCC. The quotes are CEMC’s, read on 22 October 2026; the advice is ours.

CEMC contest facts for a student in Alberta (CEMC pages, read 22 October 2026; our advice in the right-hand column)
QuestionCEMC’s answerOur advice
Is it a test?“Our contests are not tests or exams. There is no passing or failing score.”Write it for practice and for the feedback; nothing on a transcript depends on it
Who else writes?Educators order CEMC contests “for over 300 000 students worldwide, reaching students in over 85 countries”Alberta students are writing the same papers as students across Canada and beyond
Can I sign up myself?“It is not possible for students to individually register for a contest”Ask a teacher at school to order the CCC early in the new year
Which language?“CCC participants may use C, C++, Python 2, Python 3, or Java.”Python 3 for almost every first-time writer
When?Wednesday 17 February 2027 for North and South AmericaOn Alberta time, untouched by any clock change

The first line in that table is the one we repeat most to anxious teenagers. A CEMC contest is a measuring tape, not a gate: a Grade 10 student who solves two Junior questions in February 2027 has learned exactly where they stand and what to practise next. Many of our Lethbridge students treat the CCC as one checkpoint in a longer year that also includes data projects and school courses. For students who outgrow the CCC, the USACO competition is another route; our USACO page for Canadian students covers it.

No borrowed problems

We never copy CEMC problems or solutions into lessons. CEMC’s free archive is for students to read independently; class time uses problems our teachers write.

Practice with AI off

The CCC bans AI helpers outright, so contest practice with us happens in a plain editor from the first week, and students learn to debug by reading their own code.

Start with Junior

Our CCC Junior guide explains the first paper. Students move up to Senior when Junior practice papers stop being a challenge.

City of Lethbridge data project

Can one simple rule spot Lethbridge’s arterial roads, and what does it miss?

The City of Lethbridge publishes its street network with each segment’s type, posted speed, lanes, signals and sanding priority. Our students hide the type, let a program learn which single yes-or-no question does most to pick out arterials, and then measure it three ways. Every figure here is our own result, not the City’s.

Our results on the City of Lethbridge Street Network (4,830 Local, Collector and Arterial segments fetched 22 October 2026; 3,622 to learn from, 1,208 held back, 247 of them arterial)
RuleAccuracyPrecision (when it says arterial, how often it is right)Recall (share of real arterials it finds)
Never say arterial79.6%none (it never says arterial)0%
Learned rule: speed limit over 5088.7%99.1%44.9%
Hand rule: sanding priority 1 or 286.8%63.7%83.0%

Below is everything, written with Python’s standard library only. The program pages through the City’s street service 1,000 segments at a time, keeps only local, collector and arterial streets, shuffles them with a fixed seed, and tries seven candidate questions. For each it measures how mixed the two resulting groups are (the Gini impurity used in decision trees) and keeps the question that separates arterials most cleanly. Run on 22 October 2026, it printed the three rows above:import json, random, urllib.request, urllib.parse URL = ("https://gis.lethbridge.ca/gisopendata/rest/services/OpenData/" "odl_streets/MapServer/0/query?") ask = {"where": "FDESC IN ('Local','Collector','Arterial') AND SPEED IS NOT NULL", "outFields": "FDESC,SPEED,NumOfLanes,RedLight,SandPriority", "returnGeometry": "false", "orderByFields": "OBJECTID", "f": "json", "resultOffset": 0, "resultRecordCount": 1000} roads = [] while True: batch = json.load(urllib.request.urlopen(URL + urllib.parse.urlencode(ask)))["features"] if not batch: break for f in batch: a = f["attributes"] roads.append({"speed": a["SPEED"], "lanes": int(a["NumOfLanes"] or 0), "signal": a["RedLight"] is not None, "sand": a["SandPriority"], "arterial": a["FDESC"] == "Arterial"}) ask["resultOffset"] += len(batch) random.seed(2026) random.shuffle(roads) cut = len(roads) * 3 // 4 train, test = roads[:cut], roads[cut:] QUESTIONS = {"speed limit over %d" % t: (lambda r, t=t: r["speed"] > t) for t in (30, 40, 50, 60)} QUESTIONS.update({"more than %d lane" % t: (lambda r, t=t: r["lanes"] > t) for t in (1, 2)}) QUESTIONS["has a traffic signal"] = lambda r: r["signal"] def impurity(group): p = sum(r["arterial"] for r in group) / max(1, len(group)) return len(group) * 2 * p * (1 - p) def split_cost(rule): yes = [r for r in train if rule(r)] return impurity(yes) + impurity([r for r in train if not rule(r)]) def report(name, rule): hit = [r for r in test if rule(r)] tp = sum(r["arterial"] for r in hit) every = sum(r["arterial"] for r in test) right = sum(rule(r) == r["arterial"] for r in test) print("%s: accuracy %.1f%%, precision %.1f%%, recall %.1f%%" % (name, 100 * right / len(test), 100 * tp / max(1, len(hit)), 100 * tp / every)) winner = min(QUESTIONS, key=lambda q: split_cost(QUESTIONS[q])) print(len(roads), "street segments;", len(train), "to learn from,", len(test), "to test") report("never say arterial", lambda r: False) report("learned rule '" + winner + "'", QUESTIONS[winner]) report("sanding priority 1 or 2", lambda r: r["sand"] in ("1", "2"))

1. Accuracy can lie

Only about one segment in five is an arterial, so a rule that never says arterial is still right 79.6 per cent of the time while finding none of them. That is why we never judge a classifier by accuracy alone on an uneven dataset.

2. Precision against recall

The learned rule, a posted speed above 50, is almost never wrong when it fires, at 99.1 per cent precision, but it finds fewer than half the arterials, because 532 arterial segments are posted at 50. Sanding priority finds 83 per cent of them, at the cost of many false alarms.

3. Which mistake is worse?

There is no single right rule. If a wrong label is expensive, use the precise one; if missing an arterial is worse, use the one with more recall. Students write down a situation for each and defend their choice.

A deeper tree did not help

We also let the program ask a second question inside each branch, making a two-level decision tree. On this split it made exactly the same test predictions as the single rule. More model is not always more learning; sometimes the data simply does not hold the extra information. And notice that sanding priority is itself a decision someone made about each road, so a rule built on it partly copies an earlier human label rather than discovering anything new.

Some details for careful readers. The layer holds 5,833 segments in all; we kept the 4,830 typed Local, Collector or Arterial with a speed recorded (2,133 local, 1,645 collector, 1,052 arterial) and left out ramps, private, provincial, county, park and gravel segments. Only 8 of the kept non-arterial segments are posted above 50, which is why the speed rule is so precise. Posted speed is a reasonable clue, not a definition: the City decides street types for its own planning reasons. The data is published under the City of Lethbridge Open Data License, Version 2.0, which grants “a worldwide, royalty-free, non-exclusive license to use the information” and lets users use it “in any medium, mode or format for any lawful purpose”. Source: City of Lethbridge, Street Network, Lethbridge Open Data Catalogue. The City does not endorse this page or our classes.

AI tools and teenagers

Which AI tools a Lethbridge teen may use, by the companies’ own rules

Each rule is copied word for word from the organisation behind it, as checked on 22 October 2026. The third column records what we do.

AI tool rules for under-18s (each organisation’s own page or terms, checked 22 October 2026)
Tool or settingThe organisation’s ruleHow we handle it
ChatGPT, OpenAI Help Center“ChatGPT is not meant for children under 13, and we require that children ages 13 to 18 obtain parental consent before using ChatGPT.”Only with a parent’s consent; every lesson stands without it
Claude, Anthropic Consumer Terms (Oct 8, 2025)A minimum age: “You must be at least 18 years old”Never part of teen lessons
During the CCC, CCC Online Grader rules“All other Internet use is forbidden.”, including “generative AI such as CoPilot or ChatGPT”Contest practice without assistants

The street project is a good test of what an AI tool adds for a teenager. Asked to classify Lethbridge roads, a chatbot would likely report a high accuracy and stop there. It would not, unless pushed, point out that a never-arterial rule scores 79.6 per cent, that the top-scoring simple rule misses most arterials posted at 50, or that sanding priority is a human label in disguise. Those three observations are the skill. We want a Lethbridge teen to be able to make them unprompted, so our students write and explain their own code first. A tool, where a parent consents, comes in later as a second opinion that gets checked like any other.

Consent comes first

Between 13 and 18, OpenAI wants a parent to consent. Families decide; we name in advance any lesson where it might be used, and none depends on it.

Over-18 tools stay out

Claude is an adults-only product under Anthropic’s terms. It is absent from teen lessons, and teenagers cannot join our adult agentic coding course.

Their own work

We explain and review, and we do not write marked school assignments. A smaller program a student can defend beats a larger one they cannot.

Alberta time, all year

Lethbridge keeps UTC-6 all year: live class times against India and Ontario

Alberta’s Official Time Act now defines official time as 6 hours behind Coordinated Universal Time, so Lethbridge does not change its clocks on 1 November 2026. India never changes; Ontario does. The sample hours show the gaps and are not a timetable.

Lethbridge (America/Edmonton) beside India and Ontario. Offsets from the Official Time Act and IANA tzdb 2026e; conversions are ours
PeriodLethbridgeIndia ahead bySaturday 8 to 9:30 am in Lethbridge, in IndiaWeekday 5 to 6:30 pm in Lethbridge, in IndiaOntario ahead by
To 31 October 2026UTC-611.5 hours7:30 to 9 pm4:30 to 6 am, next day2 hours
1 November 2026 to 13 March 2027UTC-6, unchanged11.5 hours7:30 to 9 pm4:30 to 6 am, next day1 hour
From 14 March 2027UTC-611.5 hours7:30 to 9 pm4:30 to 6 am, next day2 hours

One gap all year

With Alberta and India both fixed, a Lethbridge class time sits at the same India hour every week of the year. Long-term schedules stay put.

Eastern events move

National webinars and contest briefings often run on Eastern time. After 1 November 2026 they are one hour ahead of Lethbridge, not two, so check the time again.

Lethbridge numbers

Lethbridge phones use 403 and Alberta’s overlay codes 368, 587 and 825. Type the ten digits in the form without a leading 1.

Learning ladder

From a first program in Grade 8 to a classifier a Grade 12 student can argue for

Treat the stages as a guide. We place students on evidence, the code they write in the free class, not on age.

Grades 8 and 9

Programs that work

Input, loops, lists and functions in full programs, with output predicted before every run.

Python for Teens
Grades 9 and 10

Algorithms and the CCC

Searching, sorting and counting, and a first CCC Junior paper for students who want one.

Problem Solving for TeensCCC Junior and Senior Preparation (Canadian Computing Competition)
Grades 10 and 11

Data and decisions

Open data from Alberta cities, classifiers judged by precision and recall, honest test sets.

Data Science for TeensAI and Machine Learning for Teens
Grade 12

Math 30-1 and models

Grade 12 math support beside the diploma course, and a larger machine learning project of the student’s own.

Western Canada Grade 12 MathAI and Machine Learning for Teens
Measure before trusting

Why a Lethbridge teen should learn to measure a model before trusting AI

Because the street rule looked excellent on accuracy and still missed most of what it was looking for.

Precision and recall sound like jargon, but they are the plainest questions anyone can ask of a prediction: when it says yes, is it right, and of all the real cases, how many did it catch? A teenager who has measured both on a rule they wrote will ask the same questions of every AI system they meet, including the ones in the news.

That is why our teaching runs in a fixed order. Frame the question, look at the data, write the steps, predict, run, measure, and argue. AI tools come later, within the age rules, as one more model to measure. Students who learn this way stop being impressed by a single big number.

Contest day asks for the same habit: the CCC allows no AI at all, so every line must be understood by the person who typed it. The longer argument is in why coding is still worth learning in 2026.

Delivery

Live online classes for Lethbridge, Coaldale and Taber

Teaching is online, so a teen on the west side of Lethbridge and one in Coaldale or Taber share a lesson without a drive across the Oldman River.

Times

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.

Southern Alberta

Students from Coaldale, Taber, Raymond and the rest of southern Alberta join the same groups, all on Alberta time.

Formats

A group of fifteen to twenty at one level, or a private teacher for a student working towards a CCC paper or a Math 30-1 exam.

Code they own

Every project stays in the student’s own files. Teachers explain and review; graded school work remains the student’s.

What to have ready

A computer that runs Python 3, a microphone and a dependable connection. We set Python up together in the first class if needed.

First class free

A full lesson at no charge, with no card requested, closing with a recommended course and level.

No Lethbridge office

Modern Age Coders has no premises in Lethbridge and claims none. Every class is live online, taught by teachers in India, on Alberta time.

Fees

Fees for Lethbridge families

Every fee is shown in the visitor’s own currency, labelled with its code.

First classFree

A full live lesson with no charge, ending with a placement and a course suggestion.

Group tuition$140 CAD

One monthly fee for eight live classes in a group of fifteen to twenty at one level.

Private tuition$210 CAD

One monthly fee for lessons with a private teacher at hours the family chooses.

The fee in Lethbridge is the same as in any other Canadian city. Billing starts only after the free class, once a course and a schedule are agreed; see the pricing page for missed classes and holidays.

Reviews

Parents and students on Google

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

Free placement class

Free first class for a Lethbridge teen: book it here

Tell us the grade and any coding so far. Beginners leave the first class with a working program of their own; a more experienced student might start on the Lethbridge street data or a timed CCC-style problem of ours.

+1

FAQ

Lethbridge parents and teens ask

The questions we hear most from families in Lethbridge and southern Alberta.

Do you teach in person in Lethbridge?

No. All classes are live online, so Lethbridge teens join from home, in a group of fifteen to twenty or with a private teacher.

Is Alberta adding AI to the school curriculum?

Alberta says its renewed curriculum integrates topics like artificial intelligence and computer science. For the draft science 7 to 9 curriculum, it lists optional piloting in 2027/28 and mandatory implementation in 2028/29.

Do your classes earn Alberta credits?

No. We teach alongside school and do not grant provincial credits; credits and diploma exam marks come through the student's school.

How much does the Math 30-1 diploma exam count?

Alberta says 30 per cent of the final mark comes from the diploma exam and 70 per cent from course work.

Can my 15 year old use ChatGPT?

Only with parental consent, which OpenAI's help centre asks for from age 13 to 18. Our lessons never require ChatGPT.

Do you use Claude with teenagers?

No. Anthropic's terms require users to be at least 18, so Claude is not used with anyone younger.

Is the CCC a test my teen can fail?

No. CEMC says its contests are not tests or exams and have no passing or failing score. Students enter through a school.

Did Alberta stop changing the clocks?

Yes. Alberta's Official Time Act sets official time at 6 hours behind UTC, so Lethbridge stays on UTC-6 and keeps the same time when Ontario falls back on 1 November 2026.

When are classes for Lethbridge students?

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. All times are confirmed in Alberta time.

Is the street project real City data?

Yes. It uses the City of Lethbridge's published street network, with the City's open data licence covering its use. Students build and measure the rule themselves; the City does not endorse our teaching.

More for Alberta

Other pages for Lethbridge and Alberta students

Start with coding classes in Alberta, then read Alberta’s new math curriculum explained, Math 30-1 or Math 30-2 and Math 30-1 diploma exam preparation.

Free classPriority demoCall us

Keep exploring Modern Age Coders

Coding classes in nearby places

Learn more

Free resources

From the blog

Start here