---
title: "Coding Classes in Saskatchewan | Live Online Python, Ages 6+"
description: "Live online coding, Python and AI classes for Saskatchewan students: Computer Science 20 and 30 outcomes, Pre-Calculus 30 help and a parks data project."
canonical: https://learn.modernagecoders.com/coding-classes-in-saskatchewan
source: src/pages/coding-classes-in-saskatchewan.html
---
> Live online coding, Python and AI classes for Saskatchewan students: Computer Science 20 and 30 outcomes, Pre-Calculus 30 help and a parks data project.

Skip to contentCourse picks for Saskatchewan

## Four places Saskatchewan students start

Chosen around Computer Science 20 and 30 and the Grade 12 math year, then checked against the student in the free first lesson.

[![Python and AI for Kids course thumbnail](/images/python-kids.webp)Grades 4 to 7Python and AI for KidsTyped Python for children ready to move past blocks, the step the ministry itself recommends making early in a first programming course.See the syllabus](/courses/python-ai-kids-masterclass)[![Python for Teens course thumbnail](/images/python-teens.webp)Grades 8 to 12Python for TeensPython 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](/courses/python-complete-masterclass-teens)[![Western Canada Grade 12 Math course thumbnail](/images/western-canada-grade-12-math.webp)Grade 12Western Canada Grade 12 MathBuilt 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](/courses/western-canada-grade-12-math-pre-calculus-12-math-30-1-course)[![Waterloo Math Contests course thumbnail](/images/waterloo-math-contests.webp)Grades 7 to 12Waterloo Math ContestsFor contest-minded students: original practice for the Gauss, Pascal, Cayley, Fermat and Euclid contests that Saskatchewan schools can order.See the syllabus](/courses/waterloo-math-contests-gauss-to-euclid-course)

Browse the [course atlas](/course-atlas) for more than one hundred options and use the [coding roadmap](/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.

[![Vibe Coding for Teens course thumbnail](/images/vibe-coding-teens.webp)Vibe codingAges 13 to 17Vibe Coding for TeensPython, web and AI projects where the learner still owns the thinking.See the syllabus](/courses/vibe-coding-for-teens-python-web-ai-projects-course)[![Python Automation Course course thumbnail](/images/python-college.webp)Python and AICollege and adultPython Automation CourseAutomate the work you already do, then let AI carry part of it.See the syllabus](/courses/python-ai-automation-masterclass-college)[![AI and Machine Learning for Teens course thumbnail](/images/ai-ml-teens.webp)AI and MLAges 14 to 18AI and Machine Learning for TeensTrain a model, read what it learned, and be able to say why it is wrong.See the syllabus](/courses/ai-ml-masterclass-teens)[![Codex & Claude Code course thumbnail](/images/codex-claude-code-adults.webp)Agentic codingProfessionalsCodex & Claude CodeRun AI coding agents on real work without losing control of the codebase.See the syllabus](/courses/codex-and-claude-code-ai-coding-agents-masterclass-for-adults-professionals)Computer science in Saskatchewan schools

## Computer Science 20 and 30, outcome by outcome

Saskatchewan'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 teacher picks the language

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.

### Blocks only to begin

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.

### Four ways of thinking

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 place beside the school course

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.

Senior math in Saskatchewan

## Pre-Calculus 30 and Calculus 30, and how they meet programming

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.

### Logarithms in code

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

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.

### How we help

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.

Saskatchewan data project

## How big is a typical Saskatchewan park? Mean and median on the province's own file

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))`

### 1. Convert the units

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.

### 2. Mean against median

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.

### 3. Check the labels

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.

### What the numbers leave 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](https://geohub.saskatchewan.ca/datasets/2dcf3ee92e2c4d25a109eeac74f085af_4/about) ([licence](https://gisappl.saskatchewan.ca/Html5Ext/Resources/GOS_Standard_Unrestricted_Use_Data_Licence_v2.0.pdf)). The calculations and script are ours; the Government of Saskatchewan does not endorse this page.

Contests from Saskatchewan

## Math and computing contests a Saskatchewan school can order for 2027

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](/pascal-contest-preparation), [Euclid](/euclid-contest-preparation) and [Gauss](/gauss-contest-preparation) pages go deeper. Modern Age Coders and CEMC are not connected.

Class times

## Saskatchewan's one clock, and the Time Act, 2026 bill

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 |

### The bill as printed

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.

### A shared Prairie clock

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.

### Phone numbers

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.

Learning ladder

## From first blocks to the Computer Science 30 capstone

Grades are a starting guess; the free class decides the real starting point.

Grades 1 to 3

### Blocks and puzzles

Blockly-style and Scratch projects where the child plans each step before running it.

[Coding for Kids](/courses/kids-coding-blocks-masterclass)[Scratch Coding for Kids](/courses/scratch-programming-complete-course)Grades 4 to 8

### Into Python

Typed Python with loops and functions, and plain-language lessons on how AI systems learn from examples.

[Python and AI for Kids](/courses/python-ai-kids-masterclass)[AI Literacy for Kids (Ages 8 to 14)](/courses/ai-literacy-for-kids-course)Grades 9 and 10

### Ahead of Computer Science 20

Data types, functions and lists in Python or Java, so the CS20 project can be ambitious.

[Python for Teens](/courses/python-complete-masterclass-teens)[Java for Teens](/courses/java-programming-masterclass-for-teens)Grades 11 and 12

### CS30, AI and contests

Files, recursion and a large program, then machine learning and CCC practice for those who want it.

[AI and Machine Learning for Teens](/courses/ai-ml-masterclass-teens)[CCC Junior and Senior Preparation (Canadian Computing Competition)](/courses/ccc-junior-and-senior-preparation-course)Coding and AI

## A mean is easy to compute and easy to misread. So is AI output

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](/blog/is-coding-worth-learning-2026).

Delivery

## Live online for Saskatoon, Regina and everywhere between

Every class is live with a teacher on video, so distance from a city makes no difference to what a student can take.

### When classes run

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

### Around the province

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.

### Two formats

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.

### Saskatchewan courses

Teachers plan around Computer Science 20 and 30, Pre-Calculus 30 and Calculus 30, and know where each sits in the semester.

### School languages

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.

### Start free

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.

Fees

## What classes cost in Saskatchewan

The currency appears next to each fee, so nothing has to be converted by hand.

First class**Free**

A full live lesson that costs nothing and ends with a recommended level, course and time.

Group tuition**$140 CAD**

The monthly fee for a seat in a group batch of fifteen to twenty students at one level.

Private tuition**$210 CAD**

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.

Request placement[Check availability](https://wa.me/919123366161?text=Hello%20Modern%20Age%20Coders%2C%20I%20would%20like%20a%20free%20coding%20class%20for%20a%20student%20in%20Saskatchewan.)Reviews

## What families and students say about us 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

## Tell us about your Saskatchewan student

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.

### Want a class sooner? Book a priority demo

A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.

[Book a priority demo](/book-demo)

### Contact the team directly

WhatsApp or call [+91 91233 66161](tel:+919123366161), or email [connect@modernagecoders.com](mailto:connect@modernagecoders.com). This is Modern Age Coders' actual contact, an Indian number, and not an invented Saskatchewan one.

[WhatsApp Modern Age Coders](https://wa.me/919123366161?text=Hello%20Modern%20Age%20Coders%2C%20I%20would%20like%20a%20free%20coding%20class%20for%20a%20student%20in%20Saskatchewan.)

Submitted details are used for placement and follow-up.

FAQ

## Saskatchewan coding questions

Questions Saskatchewan families send us most often.

### Do you teach coding to students in Saskatchewan?

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.

### Does Saskatchewan have high school computer science courses?

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.

### What programming language is used in Computer Science 20?

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.

### Do your classes give Saskatchewan credits?

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.

### Can you help with Pre-Calculus 30?

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.

### Does Saskatchewan change its clocks?

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.

### What time are classes for Saskatchewan families?

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.

### Can my child write the Waterloo math contests from Saskatchewan?

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.

### Do Saskatchewan phone numbers work in the form?

Yes. Numbers with the 306, 474 and 639 area codes work. Type the ten digits; the country code is already filled in.

### What is a good age to start?

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.

### Where do I find the fees?

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.

Saskatchewan cities

## Our city pages in Saskatchewan

2 pages for Saskatchewan towns and cities, each written for the families there.

[Coding and AI classes in Regina](/coding-and-ai-classes-in-regina)[Coding and AI classes in Saskatoon](/coding-and-ai-classes-in-saskatoon)More for Canada

## Other pages for Saskatchewan students

Begin at [coding classes in Canada](/coding-classes-in-canada), or read how Saskatchewan compares with other provinces in [our curriculum guide](/canada-coding-curriculum-by-province). Neighbouring Alberta has its own page, [coding classes in Alberta](/coding-classes-in-alberta), and every province's high school math is side by side in [Canadian high school math courses compared](/canada-high-school-math-courses-compared).

Book the free class[Book a priority demo](/book-demo)[Message us on WhatsApp](https://wa.me/919123366161?text=Hello%20Modern%20Age%20Coders%2C%20I%20would%20like%20a%20free%20coding%20class%20for%20a%20student%20in%20Saskatchewan.)Free class[Priority demo](/book-demo)[Call us](tel:+919123366161)

## Keep exploring Modern Age Coders

### Coding classes in nearby places

- [Coding Classes in Scheveningen, The Hague](/coding-classes-in-scheveningen)
- [Coding Classes in Rutland](/coding-classes-in-rutland)
- [Coding Classes in Schiedam](/coding-classes-in-schiedam)
- [Coding Classes in Rotterdam Centrum](/coding-classes-in-rotterdam-centrum)
- [Coding Classes in the Scottish Borders](/coding-classes-in-scottish-borders)
- [Coding Classes in Rotterdam](/coding-classes-in-rotterdam)
- [Coding Classes in Amsterdam-Noord](/coding-classes-in-amsterdam-noord)
- [Vibe Coding and AI Agents Classes in Albury-Wodonga](/vibe-coding-and-ai-agents-classes-in-albury-wodonga)
- [Coding and AI Classes in New Mexico](/coding-and-ai-classes-in-new-mexico)

### Learn more

- [Computer Science Class 12 CBSE: Python Data Structures](/computer-science-class-12-cbse)
- [ICS4U Computer Science Help: Recursion, OOP, Python and Java](/ics4u-computer-science-help)
- [Best Coding Classes in Port Lincoln](/best-coding-classes-in-port-lincoln)
- [Edexcel GCSE Computer Science 1CP2 Help](/edexcel-gcse-computer-science-1cp2-help)

### Free resources

- [SQL Tutorial: Databases, Basics to Advanced](/resources/sql)
- [Subqueries (Nested Queries) and EXISTS](/resources/sql/subqueries-and-nested-queries)
- [Your First Python Program](/resources/python/your-first-python-program)
- [Exception Handling in Python](/resources/python/exception-handling)

### From the blog

- [20 Python Programs for CBSE Class 12 Board Exam (083)](/blog/python-programs-for-cbse-class-12)
- [How to Get a 5 in AP Computer Science A (2026)](/blog/how-to-get-a-5-in-ap-computer-science-a)
- [The IB Computer Science IA No Longer Needs a Client](/blog/ib-computer-science-ia-client-rule-2027)

### Start here

- [Modern Age Coders pricing, one honest price per plan](/pricing)
- [How Modern Age Coders teaches, small batches and real projects](/how-we-teach)

---

*Canonical: https://learn.modernagecoders.com/coding-classes-in-saskatchewan*
