How does a Gatineau teenager learn Python and AI properly, on Quebec’s school calendar?
Modern Age Coders teaches Gatineau teens aged 13 to 18 live online, in English, in a class of fifteen to twenty or one to one. Most start with Python for Teens, then move to AI and Machine Learning for Teens, problem solving and algorithms, or preparation for the CCC, which CEMC offers in French or English. Lessons are booked in Eastern time, and the first one is free.
Gatineau sits across the Ottawa River from Ontario’s capital, and the two cities share a clock, but a Gatineau teenager studies in a different system. Quebec’s secondary school runs from Secondary I to Secondary V and is followed by CEGEP, and its 2026 digital competency framework now names computer science and artificial intelligence. Ontario course codes that Ottawa friends mention, such as ICS3U, do not apply on this side of the bridge. This page explains where programming and AI sit for a Quebec teen, quoting the government’s own documents, which contests are open and in which language, which AI tools a teenager may use, and a data project we built on the Ville de Gatineau’s published traffic counts, in which the main job is catching the numbers that cannot be right.
Facts last verified 22 October 2026. Teaching is online; no Gatineau branch is claimed.
All four are taught in English. A free first class shows which one a student is ready for.

Python from the first statement to functions, files and dictionaries, which is what the traffic count project below needs to read and test a public file.
See the syllabus
Models built and then attacked: what they get wrong, why, and how to measure it. Spotting bad data, as on this page, comes before any model.
See the syllabus
Searching, sorting, counting and grids, the problem-solving base for contest work and for CEGEP computer science later on.
See the syllabus
Original problems written by us in the format of the Canadian Computing Competition, practised under real time limits.
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 rows below come from the Quebec government’s own pages and programme documents, read on 22 October 2026. The last column is our reading, not the government’s.
| Stage | What the Quebec document says | Our note for a teen who codes |
|---|---|---|
| Secondary school | The secondary programme “comprises programs of study for students from Secondary I to Secondary V” | Five years, then CEGEP, so a Gatineau teen’s timeline differs from an Ottawa teen’s |
| Math in Secondary IV and V | “They are the Cultural, Social and Technical option, the Technical and Scientific option and the Science option.” | Programming leans on algebra and functions; the choice of option shapes how much |
| After Secondary V | “All of these options allow students to enroll in a preuniversity program.” | No math option closes the CEGEP door on its own |
| CEGEP pre-university | “Program that prepares students for university and that requires two years of full-time study.” | The route most students take before a university computer science degree |
| CEGEP technical | A programme that “requires three years of full-time study” and prepares for the job market | The route for a computer technology diploma straight to work |
| University entry | “Universities use the R score to analyze applications” | CEGEP grades matter; what a teen learns before CEGEP makes those courses easier |
Quebec does not publish a secondary computer science course in the documents we read, so programming reaches a Gatineau teen in other ways. The Digital Competency Framework 2026, from the Ministère de l’Éducation, is the clearest sign of direction: one of its dimensions now “also incorporates computer science and concepts related to AI”, one element asks learners to “Develop or adapt a digital tool using one’s knowledge and skills in computer programming.”, and its sample themes include “Machine learning and deep learning”. A framework is not a timetable, and how a school applies it varies. What it tells families is that the province now treats programming and AI as part of a young person’s digital competence, which is exactly the ground our classes cover, with real code rather than descriptions of it.
Quebec’s secondary cross-curricular competencies say: “Problem solving is not a linear process that can be reduced to the application of an algorithm.” We agree, and teach students to define the problem, try, test and start over, before any code is final.
Across the river, Ottawa students follow Ontario’s curriculum, with course codes such as ICS3U. A Gatineau teen in a Quebec school does not take those courses, so our plan for them follows Secondary and CEGEP instead.
Our CEGEP computer science preparation page covers the jump in detail, and CST, TS or Science explains the Secondary IV math choice.
We teach alongside a student’s school and we do not grant provincial credits; Quebec secondary and CEGEP results come only from the student’s own institutions. Modern Age Coders is not connected with the Ministère de l’Éducation or with any school or school body in Gatineau.
Quebec’s Charter of the French language states that “French is the official language of Québec.” Our classes are taught in English. CEMC’s contests are a useful bridge, because the main programming contest can be written in French.
| Contest | Language, per CEMC | When, per CEMC | Our note |
|---|---|---|---|
| Canadian Computing Competition (CCC) | “This contest is available in English and French.” | Wednesday 17 February 2027 | A student can practise with us in English and write the paper in French |
| Beaver Computing Challenge (BCC) | Available in English only | Monday 9 November 2026 to Friday 20 November 2026 | A short first contest for Grade 10 and below, where a school offers it |
Programming languages are the same in every human language: a Python loop reads the same in a French-language school as in an English one. What changes is the vocabulary around it, and we help students hold both, so that “boucle” and “loop” point at one idea. For the CCC, entry still runs through a school: CEMC states that “all students must participate through their school.” A Gatineau teen whose school has never entered can ask a teacher to order the paper; we prepare them with our own problems, never with copies of CEMC’s past papers or solutions, which students can read in CEMC’s free archive.
The CCC accepts Python, so a Gatineau student does not need a second language to write Junior. Those aiming at the top Senior problems later add C++ with us.
Our practice sets are written by our teachers, in English, with short glossaries of the French terms a student will see on a French-language paper.
The CCC Junior guide and how to register for Waterloo contests explain the format and the school-based entry.
The Ville de Gatineau publishes thousands of 24-hour traffic counts on Données Québec, with French field names such as DEBIT_TOTAL24H and PCENT_V_LOURD. Before training any model on data like this, a careful student hunts for the rows that are impossible or suspicious. Every count of flags in this section is our own result, not the City’s.
| Check | What it looks for | Rows it flags |
|---|---|---|
| Validity rule | A heavy-vehicle share (PCENT_V_LOURD) above 100 per cent, which no real count can have | 25 |
| Validity rule | A 24-hour total of zero | 644 |
| Missing label | No sector recorded | 1,916 |
| City-wide fence | Totals above the upper quartile plus one and a half times the interquartile range (14,100) | 624 |
| Paired check | Two rows for the same corner, approach and year where one is over three times the other | 16 of 1,864 pairs |
This is the program, in standard-library Python. It downloads the GeoJSON file from Données Québec, applies three validity rules, builds one fence for the whole city from the quartiles, then compares each row with its partner row at the same corner. On 22 October 2026 it printed every number in the table:import json, urllib.request
from collections import defaultdict
URL = ("https://www.donneesquebec.ca/recherche/dataset/f1e7f552-278d-47d6-89c9-6aa9d3293bd1/"
"resource/388e4ff5-e1f1-4c81-a734-79b907fcf236/download/comptage.json")
raw = urllib.request.urlopen(URL).read().decode("utf-8-sig")
rows = [f["properties"] for f in json.loads(raw)["features"]]
print(len(rows), "counts from", min(r["ANNEE"] for r in rows), "to", max(r["ANNEE"] for r in rows))
# 1. rules a count must obey
print("heavy-vehicle share above 100%:", sum((r["PCENT_V_LOURD"] or 0) > 100 for r in rows))
print("24-hour total of zero:", sum(r["DEBIT_TOTAL24H"] == 0 for r in rows))
print("no sector recorded:", sum(not r["SECTEUR"] for r in rows))
# 2. one fence for the whole city: quartiles of the positive totals
flows = sorted(r["DEBIT_TOTAL24H"] for r in rows if r["DEBIT_TOTAL24H"] > 0)
q1, q3 = flows[len(flows) // 4], flows[3 * len(flows) // 4]
fence = q3 + 1.5 * (q3 - q1)
print("city-wide fence", fence, "flags", sum(f > fence for f in flows), "rows")
# 3. compare each count with its partner: same corner, same approach, same year
pairs = defaultdict(list)
for r in rows:
pairs[(r["NOMRUE"], r["APPROCHE"], r["ANNEE"])].append(r["DEBIT_TOTAL24H"])
twos = [v for v in pairs.values() if len(v) == 2 and min(v) > 0]
odd = [v for v in twos if max(v) > 3 * min(v)]
print(len(twos), "two-way pairs;", sum(v[0] == v[1] for v in twos), "identical;",
len(odd), "where one side is over three times the other")
print("most lopsided pair:", max(odd, key=lambda v: max(v) / min(v)))
Some values are wrong by definition. A share of heavy vehicles cannot pass 100 per cent, yet 25 rows do, the highest at 324.6, all from 2017 to 2019. No statistics are needed to flag those; a single comparison in code does it.
A fence built from the whole city flags 624 rows, and most of them are simply busy roads. Gatineau mixes quiet residential corners with arterials, so “far from the typical count” mostly means “a main road”, not “an error”.
Comparing each count with its partner at the same corner is far sharper. Of 1,864 pairs, 1,762 match exactly and only 16 differ by more than three times. Those 16 are worth a human look; some will be genuine, such as one-way streets.
At Aylmer / Vanier in 2018, one approach records 127,400 vehicles in 24 hours beside a partner row of 12,700, and 127,400 is the largest value in the whole file, three times the next largest (41,400). At Fournier & Lac Leamy in 2019, a pair reads 243 against 24,300, exactly a factor of one hundred. Both look like slips in entering digits, but the file alone cannot prove it. A flag is a question for the data owner, not a verdict, and a good analyst writes it up that way.
Two patterns are worth noting honestly. In 1,762 of the 1,864 pairs the two directions carry exactly the same total, which suggests the file sometimes repeats one figure on both rows rather than counting each direction separately; we pose that as a question rather than state it. And the sector field is empty on 1,916 rows, including every 2023 row, so any analysis by sector (Aylmer, Buckingham, Gatineau, Hull, Masson-Angers) has to drop the most recent year. The file is published by the Ville de Gatineau on Données Québec under the licence “Attribution (CC-BY 4.0)”; Données Québec explains that this licence lets others “distribuer, remixer, arranger et adapter votre œuvre, même à des fins commerciales”, and the Creative Commons deed says use is allowed “for any purpose, even commercially.” Source: Ville de Gatineau, Débits de circulation, Données Québec. The City has not endorsed this page or our teaching.
Minimum ages are written into each company’s terms, and contest bans into the organiser’s rules. We read each one in the original on 22 October 2026; the third column is our practice.
| Tool or setting | The rule as written | What we do |
|---|---|---|
| ChatGPT, OpenAI Terms of Use (January 1, 2026) | “If you are under 18 you must have your parent or legal guardian’s permission to use the Services.” | Only with a parent’s permission, and only to check work, never to produce it |
| Claude, Anthropic Consumer Terms (Oct 8, 2025) | “You must be at least 18 years old” | Not used with anyone under 18 |
| The CCC, CCC Online Grader rules | “All other Internet use is forbidden.”, naming “generative AI such as CoPilot or ChatGPT” | Contest practice with no assistant open |
Quebec’s own framework now lists AI literacy among its sample themes, and AI literacy starts with knowing what a tool cannot do. The traffic project makes that concrete. Ask a chatbot to summarise Gatineau’s traffic file and it will happily average numbers that include a heavy-vehicle share of 324.6 per cent and a count ten times its partner. It takes a person who has looked at the rows to say that those values should not be in the average at all. We want Gatineau teens to be that person, so our students write the checks themselves first, and any AI tool, where a parent allows one, comes afterwards as something to be checked.
OpenAI’s terms require a parent’s or guardian’s permission under 18. We tell families which lessons could involve the tool and keep every lesson complete without it.
Under Anthropic’s terms Claude is for users aged 18 and over, so it is never part of a teen lesson, and teens are not placed in our adult agentic coding course.
We explain and review. We do not write graded school or CEGEP work, and we point out when code looks pasted rather than understood.
Gatineau and Ottawa share Eastern time and change together, on 1 November 2026 and on 14 March 2027. India does not change. The hours below show the gap; they are not a fixed timetable.
| Part of the year | Gatineau | India ahead by | Sunday 10 to 11:30 am in Gatineau | Weekday 5:30 to 7 pm in Gatineau |
|---|---|---|---|---|
| To 31 October 2026 | UTC-4 | 9 hours 30 minutes | 7:30 to 9 pm in India | 3 to 4:30 am in India, next day |
| 1 November 2026 to 13 March 2027 | UTC-5 | 10 hours 30 minutes | 8:30 to 10 pm in India | 4 to 5:30 am in India, next day |
| From 14 March 2027 | UTC-4 | 9 hours 30 minutes | 7:30 to 9 pm in India | 3 to 4:30 am in India, next day |
Confirmations always give the Gatineau time. When the clocks move in November and March we resend every student’s times in the week before.
Gatineau phones use the 819 area code and its overlays 468 and 873, shared with Sherbrooke and Trois-Rivières. The form below takes the ten digits without a leading 1.
We plan around the student’s own school calendar and exam periods, which the family tells us, rather than assuming Ontario dates from across the river.
The stages are approximate. We place students by what they can already program, which the free class checks.
Complete programs with input, loops, lists and functions, explained in English with French terms alongside.
Python for TeensSearching, 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)Public data checked and cleaned, starting with the Gatineau traffic counts, then first models.
Data Science for TeensAI and Machine Learning for TeensMachine learning tested honestly, and C++ for students aiming at CCC Senior.
AI and Machine Learning for TeensC++ for TeensBecause every model is only as good as the rows it was fed, and only a person checks the rows.
The traffic file is a fair sample of real public data: mostly sound, with a few values that are impossible and a few that are merely strange. A model trained on it without checks would quietly learn from both. A student who has written the checks knows the difference between a rule that is broken, a value that is unusual, and a value that is simply large.
So we teach in a fixed order. Describe the question, inspect the data, write the steps, predict the result, run it and argue with it. AI tools come later, inside the age rules, as a reviewer to be questioned. A teen who learns that order can use any tool well; one who skips it is at the tool’s mercy.
The CCC makes the same point on contest day, with no assistant allowed, so the thinking on the page is the student’s own. The longer argument is in a longer case for learning to code in 2026.
Classes are online, so a teen in Hull and another in Aylmer or Buckingham share a lesson without crossing the city.
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 elsewhere in the Outaouais and across the river in Ottawa can join the same groups, all timed in Eastern time.
Groups of fifteen to twenty at one level, or a private teacher for a student with a set goal such as a CCC paper or a CEGEP project.
Lessons are in English. Teachers give the French terms for key ideas so that school and class vocabulary line up.
A computer that can run Python 3, a microphone and a steady connection. We install Python with the student in the first lesson if needed.
A complete lesson at no charge and with no card details, ending with a suggested course and level.
No Gatineau office
Modern Age Coders has no centre in Gatineau and claims none. Every class is live online, taught by teachers based in India, on Gatineau time.
Each fee shows in your own currency, with the currency code next to it.
One full live lesson at no cost, ending with a placement and a course suggestion.
A monthly fee covering eight live classes with fifteen to twenty teens at one level.
A monthly fee covering one teacher and one teen at times the family picks.
Gatineau families pay the same as families anywhere in Canada. There is no charge before the free class, and none until a course and a schedule are agreed; the pricing page explains missed classes and breaks.
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
Tell us the student’s Secondary year or CEGEP programme and any coding so far. A beginner writes a first full program; a stronger student might start on the Gatineau traffic data or one of our timed CCC-style problems.
What Gatineau parents and teens ask us most often.
In English. Teachers give French terms for the main ideas, and students can still write the CCC in French, since CEMC offers it in both languages.
No. All teaching is live online, in a class of fifteen to twenty or one to one with a private teacher.
No. ICS3U is an Ontario course. A Gatineau student in the Quebec system goes from Secondary I to V and then CEGEP, and we plan around that.
No. We teach alongside school and we do not grant provincial credits; secondary and CEGEP results come from the student's own institutions.
Only with your permission: OpenAI's terms say users under 18 need a parent's or legal guardian's permission. Our lessons never rely on it.
No. Anthropic's consumer terms require users to be at least 18, so we never suggest Claude to students under 18.
No. The grader rules forbid other internet use, including generative AI such as CoPilot or ChatGPT, so contest practice is done with AI off.
Through a school: CEMC says all students must participate through their school. The 2027 CCC is on Wednesday 17 February 2027, and it can be written in French or English.
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 Eastern time.
Yes. It uses the Ville de Gatineau's traffic counts published on Données Québec under CC BY 4.0. Students download the file and write the checks themselves; the City has not endorsed our teaching.
For Quebec school maths, see Secondary V math help. For the national picture, read coding curriculum by province and the CCC preparation page, or start from the Canada hub.