Who teaches coding live to Saskatchewan students, beyond what school offers?
Modern Age Coders runs live online coding, Python and AI classes for Saskatchewan learners aged 6 to adult, in a group batch of fifteen to twenty or with a private teacher. Children usually begin with Python and AI for Kids, teens with Python for Teens, and Grade 12 students add our Pre-Calculus companion. Times follow Saskatchewan's year-round clock, and the first class is free.
Saskatchewan publishes its two computer science courses outcome by outcome. Computer Science 20 and Computer Science 30 sit with the sciences in the Ministry of Education's curriculum, the language is the teacher's choice, and Python heads the list of languages the ministry's guide suggests. Where a school runs them, a single semester leaves little time for the large project the outcomes describe. This page lists what the two courses ask for in the ministry's words, sets out the senior math courses beside them, walks through a Python project on the province's parks data, and explains the bill that would write Saskatchewan's single clock into a new Time Act.
Facts last verified 22 October 2026. Teaching is online; no Saskatchewan branch is claimed.
Chosen around Computer Science 20 and 30 and the Grade 12 math year, then checked against the student in the free first lesson.

Typed Python for children ready to move past blocks, the step the ministry itself recommends making early in a first programming course.
See the syllabus
Python from data types and functions to files and libraries, which covers the Fundamentals of Programming outcomes in both Computer Science 20 and 30.
See the syllabus
Built for BC and Alberta, and close to Pre-Calculus 30: the unit circle, trigonometric equations, logarithms, transformations and permutations. We map each lesson to the P30 outcomes.
See the syllabus
For contest-minded students: original practice for the Gauss, Pascal, Cayley, Fermat and Euclid contests that Saskatchewan schools can order.
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 syllabusSaskatchewan's curriculum site publishes every outcome for both courses. We read them on 22 October 2026; quoted outcomes are the ministry's wording, the right-hand column is our plain reading.
| Outcome | Ministry wording | In practice |
|---|---|---|
| CS20-FP1 | “Utilize different data types, including integer, floating point, Boolean and string, to solve programming problems.” | Knowing why 0.1 + 0.2 is not exactly 0.3, and when to use text instead of a number |
| CS20-FP3 | “Construct and utilize functions to create reusable pieces of code.” | Writing a function once and calling it everywhere, the first real step toward clean code |
| CS20-FP4 | “Investigate one-dimensional arrays and their applications.” | Lists of values, looping over them and finding the largest or the average |
| CS20-CS2 | “Investigate the impacts of information technologies on privacy, including digital security practices.” | Passwords, permissions and what an app can learn about its user |
| CS30-FP2 | “Create programs that utilize external files.” | Reading a data file, such as the parks file on this page, instead of typing values in |
| CS30-CC1 | “Explore recursion and investigate sorting algorithms.” | Functions that call themselves, and why some sorts are far faster than others |
| CS30-CC2 | “Explore number systems and character encoding used in computing.” | Binary, hexadecimal and how a letter becomes a number |
| CS30-CAP1 | “Create a large-scale computer program to demonstrate proficiency in procedural or object-oriented programming.” | The capstone: one big program, planned, built and documented |
The ministry's January 2018 guide says the choice of language for both courses is left to individual teachers. Its suggestions for Computer Science 20 are Python, Java, PHP, JavaScript and Visual Basic; for Computer Science 30 it lists Python, Processing, Java, PHP and JavaScript.
Blockly and Scratch are suggested as a starting environment, but the guide says a visual tool should not be the core language of Computer Science 20, and that students should start coding as soon as possible. It even suggests a Karel the Robot style language as the bridge.
The guide names four dimensions of computational thinking: decomposition, pattern recognition, abstraction and algorithm design. They are the habits we teach from the first class, long before a student meets either course.
Computer Science 20 has five goals, from core principles and programming fundamentals to computing and society, career exploration and a student-directed project. The last one is the most demanding: outcome CS20-SD1 asks students to develop a coding project or research a topic of their own choice. A student who arrives in Computer Science 20 already comfortable with functions and lists can spend that project on something ambitious, rather than on learning syntax in the last weeks of the semester.
Our classes run alongside Computer Science 20, Computer Science 30 and the math courses, and we do not grant Saskatchewan credits. Credits are earned at school. We are not connected with the Saskatchewan Ministry of Education or any school division.
The same curriculum site lists the senior math courses: Foundations of Mathematics, Pre-Calculus, Workplace and Apprenticeship Mathematics, and Calculus 30. Two of them matter most to students heading for computer science or engineering.
| Course | Outcomes | What the outcomes cover |
|---|---|---|
| Pre-Calculus 30 | P30.1 to P30.5 | Angles in degrees and radians, the unit circle and six trigonometric ratios, trigonometric graphs, equations and identities |
| Pre-Calculus 30 | P30.6 to P30.11 | Operations on and compositions of functions, transformations, inverses, logarithms, polynomials up to degree 5, radical and rational functions |
| Pre-Calculus 30 | P30.12 and P30.13 | Permutations with the fundamental counting principle, combinations and the binomial theorem |
| Calculus 30 | C30.3 to C30.6 | Limits and continuity, differentiation as a rate of change, curve sketching, optimization and related rates |
Counting is where Pre-Calculus 30 and Computer Science 30 overlap most. P30.12 asks students to demonstrate understanding of permutations, including the fundamental counting principle, and a short recursive function that lists every arrangement of four letters makes the formula visible: 24 arrangements, printed one by one. We use exactly that exercise in our own classes, written by us, to connect the two courses.
P30.9 covers evaluating logarithms, laws of logarithms and solving equations. A binary search that halves a sorted list each step finishes in about log base 2 of n steps, which turns an abstract outcome into a number a student can measure.
Calculus 30 adds limits, derivatives and their applications. Students who write a few lines of Python to estimate a slope from shrinking intervals see what a limit is doing before they are asked to prove anything about it.
Our Pre-Calculus support follows the P30 outcome order a Saskatchewan school uses, with practice sets written by us. We do not reproduce school or ministry assessments.
The Government of Saskatchewan publishes its parks boundaries on GeoHub. Our students download the 172 records, convert the areas to square kilometres and find that the average tells a misleading story. All the figures here are ours.
| PARKTYPE in the file | Rows | Mean area | Median area |
|---|---|---|---|
| RS, recreation site | 104 | 3.22 | 0.58 |
| PA, protected area | 24 | 2.37 | 0.49 |
| PP-N, natural environment provincial park | 12 | 583.02 | 235.42 |
| PP-R, recreation provincial park | 11 | 24.27 | 5.73 |
| PP-H, historic provincial park | 9 | 0.40 | 0.13 |
| HS, historic site | 8 | 0.02 | 0.01 |
| PP-W, wilderness provincial park | 4 | 1,207.50 | 1,151.70 |
| All 172 rows | 172 | 72.61 | 0.61 |
This short script produces the table from the downloaded file, using only Python 3 and its built-in statistics module:import json
import statistics
with open("parks.json", encoding="utf-8") as f:
parks = [feature["attributes"] for feature in json.load(f)["features"]]
by_type = {}
for park in parks:
km2 = park["Shape__Area"] / 1_000_000
by_type.setdefault(park["PARKTYPE"], []).append(km2)
for kind, areas in sorted(by_type.items(), key=lambda p: len(p[1]), reverse=True):
print(kind, len(areas),
"mean", round(statistics.mean(areas), 2),
"median", round(statistics.median(areas), 2))
every = [a for areas in by_type.values() for a in areas]
print("all", len(every), "mean", round(statistics.mean(every), 2),
"median", round(statistics.median(every), 2))
The Shape__Area field is in square metres, because the service stores the boundaries in a metric map projection. Dividing by 1,000,000 gives square kilometres. Writing the divisor as 1_000_000 lets Python read it while a person can still count the zeros.
Across all 172 rows the mean is 72.61 km2 but the median is 0.61 km2. A few huge northern parks pull the mean up: Lac La Ronge Provincial Park alone is about 3,191.9 km2, while 99 of the 172 rows are under 1 km2. The median is the honest answer to how big a typical park is.
The dataset description lists protected areas as PR, but the file itself uses PA for those 24 rows. A careful student trusts the data over the description, then writes the mismatch down so the next reader is not caught out.
Areas come from the service's map projection, so treat the second decimal as approximate. The description says the boundaries were last updated on 22 September 2021, so a park created since then may be missing. And a park's area says nothing about how many people visit it or what it offers.
For a stronger student the next step is a chart: a histogram of park areas on a normal scale is one tall bar and a long empty tail, while the same data on a logarithmic scale spreads out neatly, which ties straight back to the logarithms of Pre-Calculus 30. Contains information licensed under the Government of Saskatchewan Standard Unrestricted Use Data Licence (Version 2.0). Data: Saskatchewan Parks Boundaries, Saskatchewan Ministry of Parks, Culture and Sport, on the Saskatchewan GeoHub (licence). The calculations and script are ours; the Government of Saskatchewan does not endorse this page.
The University of Waterloo's CEMC sets contests that schools anywhere in Canada can order for their students. The winter and spring 2027 dates below are CEMC's, read on 22 October 2026.
| Contest | Who it is for | CEMC date |
|---|---|---|
| Canadian Computing Competition (CCC) | Junior or Senior, chosen by programming skill | Wednesday 17 February 2027 |
| Pascal, Cayley and Fermat | Grades 9, 10 and 11 | 23 and 24 February 2027 |
| Euclid | Final year of secondary school | Tuesday 6 April 2027 |
| Gauss | Grades 7 and 8 | 10 to 21 May 2027 |
Entry runs through a school, never through an individual sign-up, so the first step is asking a teacher whether the school will place an order; CEMC also allows a student to join another local school that is taking part. The CCC accepts C, C++, Python and Java, which suits a student whose Computer Science 20 class used Python or Java. CEMC's past contests are free to read, and we teach from original problems we write rather than copying CEMC's. Our Pascal, Euclid and Gauss pages go deeper. Modern Age Coders and CEMC are not connected.
Saskatchewan does not change its clocks, and the time zone database has it at UTC-6 through the year. Neighbouring provinces changed in 2026, which matters for anyone scheduling across the Prairies.
| Place | Offset all year | A 4 pm class in Saskatchewan is, there | Same moment in India |
|---|---|---|---|
| Saskatchewan | UTC-6 | 4:00 pm | 3:30 am the next day |
| Alberta | UTC-6 | 4:00 pm | 3:30 am the next day |
| Manitoba | UTC-5 | 5:00 pm | 3:30 am the next day |
Bill No. 58, The Time Act, 2026, defines central standard time as UTC-6 hours and says Saskatchewan includes the City of Lloydminster. Its last section says it comes into force by order of the Lieutenant Governor in Council, and the assent line on the copy we read is blank, so we treat it as a bill, not yet as law in force.
With Alberta at UTC-6 all year and Manitoba at UTC-5 all year from November 2026, Regina and Calgary now always read the same time and Winnipeg is always an hour ahead. Saskatoon families can schedule with Alberta relatives without a seasonal adjustment.
Saskatchewan numbers with the 306, 474 and 639 area codes work in our booking form. Enter the ten digits; the +1 is supplied.
For our teachers in India, a Saskatchewan class is the simplest in Canada to plan: India is eleven and a half hours ahead every week of the year. A Saturday class at 9 am in Regina is 8:30 pm the same day in India, all year, which is why weekend mornings are a comfortable fit. We still write every confirmation in Saskatchewan time.
Grades are a starting guess; the free class decides the real starting point.
Blockly-style and Scratch projects where the child plans each step before running it.
Coding for KidsScratch Coding for KidsTyped Python with loops and functions, and plain-language lessons on how AI systems learn from examples.
Python and AI for KidsAI Literacy for Kids (Ages 8 to 14)Data types, functions and lists in Python or Java, so the CS20 project can be ambitious.
Python for TeensJava for TeensFiles, recursion and a large program, then machine learning and CCC practice for those who want it.
AI and Machine Learning for TeensCCC Junior and Senior Preparation (Canadian Computing Competition)The parks project shows the habit we care about most: checking whether a correct-looking number answers the question asked.
Ask an AI tool for the average size of a Saskatchewan park and it may compute 72.61 km2 correctly and still mislead, because the typical park is under a square kilometre. Spotting that takes a student who knows what a mean and a median do, and who looks at the data before trusting a summary of it.
Our students write their own analysis first, then compare it with what a tool produces, and explain any difference. Teens use AI tools only within each provider's age rules, with parental permission where a provider requires it; younger children learn how AI predicts things by building small programs, not by using adult tools.
Computer Science 20 lists privacy and the impact of technology among its outcomes; judging AI output is the newest part of that same job. The longer argument is in is coding still worth learning in 2026.
Every class is live with a teacher on video, so distance from a city makes no difference to what a student can take.
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 learner in Saskatoon, Regina, Prince Albert, Moose Jaw, Swift Current, Yorkton or North Battleford can sit in the same class, on the same Saskatchewan time.
A group batch of fifteen to twenty students at one level, or a private teacher for a student who wants a faster pace or help on the CS30 capstone.
Teachers plan around Computer Science 20 and 30, Pre-Calculus 30 and Calculus 30, and know where each sits in the semester.
Python is our default, as it heads the ministry's suggested list. Students whose school uses Java or JavaScript can learn in that language instead.
The first class is a full lesson, free, ending with a recommended level, course and time.
No Saskatchewan office
Modern Age Coders has no centre in Saskatchewan and claims none. Teaching is live and online from India, and a student needs a computer with a microphone, speakers and a steady internet connection.
The currency appears next to each fee, so nothing has to be converted by hand.
A full live lesson that costs nothing and ends with a recommended level, course and time.
The monthly fee for a seat in a group batch of fifteen to twenty students at one level.
The monthly fee for one-to-one teaching on a schedule built around the student.
Saskatchewan families pay the same monthly fee as families elsewhere in Canada. We bill only after the free lesson, once the course and the time are fixed; the pricing page covers holidays and missed classes.
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
We choose the first task by level: a block-coding maze for Grade 2, a Python quiz game for Grade 6, or the parks file for a Computer Science 20 student who wants real data.
Questions Saskatchewan families send us most often.
Yes, live and online, from Grade 1 to adult. There is no Saskatchewan classroom; students join from home, in a group batch of fifteen to twenty or with a private teacher.
Yes. The Ministry of Education publishes Computer Science 20 and Computer Science 30, filed with the science courses. Whether a particular school offers them is up to that school.
The teacher chooses. The ministry suggests Python, Java, PHP, JavaScript or Visual Basic for Computer Science 20, and says block tools such as Scratch should not be the core language.
No. We do not grant Saskatchewan credits. Credits for Computer Science 20, Computer Science 30 and math courses come from the school; we teach alongside them.
Yes. We teach the P30 outcomes in school order, from the unit circle and trigonometry to logarithms, permutations and combinations, with practice we write ourselves.
No. Saskatchewan stays at UTC-6 all year. The Time Act, 2026 bill would set central standard time as UTC-6 and comes into force by order of the Lieutenant Governor in Council.
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 Saskatchewan time.
Yes, if their school orders them. CEMC lists Pascal, Cayley and Fermat for 23 and 24 February 2027 and Euclid for 6 April 2027. Students cannot sign up on their own.
Yes. Numbers with the 306, 474 and 639 area codes work. Type the ten digits; the country code is already filled in.
Age 6 or Grade 1 for block coding. Most children are ready for typed Python by Grade 4 or 5, and adult beginners are welcome.
In the fees section of this page, which lists the free first class, the monthly group fee and the monthly private fee, each shown with its currency. Nothing is billed before the free class.
2 pages for Saskatchewan towns and cities, each written for the families there.
Begin at coding classes in Canada, or read how Saskatchewan compares with other provinces in our curriculum guide. Neighbouring Alberta has its own page, coding classes in Alberta, and every province's high school math is side by side in Canadian high school math courses compared.