OHSD / G09 / 01
Middle school math mastery
Firm foundations before Grade 9 math.
Open the syllabusOntario · Grades 9 to 12 · The OSSD, explained
The Ontario Secondary School Diploma, the OSSD, is built from credits, and the rules for which credits count depend on one fact: the year a student started Grade 9. This page sets out both rule sets from the province’s own graduation requirements page, explains the STEM-related course group and the technological education credit that arrived for newer students, and shows where computer studies fits. It is information, not advice about any one student; the school’s guidance office confirms individual plans. Our role is teaching coding and math next to those courses; we do not grant Ontario credits.
Live online since 2020 · 10,000+ students · Coding and math beside school courses
The short version
For students who started Grade 9 in 2024 or later, the Ontario Secondary School Diploma needs 17 compulsory credits and 13 optional credits, plus literacy and financial literacy requirements, 2 online learning credits and 40 volunteer hours. Modern Age Coders teaches coding and math beside them, live online, with Ontario Computer Science Companion.
Beside the diploma courses
We teach alongside school courses rather than replacing them. These three match the computer studies and math credits families ask us about most.

OHSD / 01
Help with ICS3U and ICS4U, the computer studies credits that can count in the STEM-related group.
Open the syllabus →
OHSD / 02
MHF4U and MCV4U support for students earning those Grade 12 math credits at school.
Open the syllabus →
OHSD / 03
A first programming language for Grade 9 and 10 students before their first computer studies credit.
Open the syllabus →Start here
The province’s page opens with the sentence that matters most: “What you need to earn an Ontario Secondary School Diploma depends on the year you started Grade 9.” Students who started in 2023 or earlier follow one set of rules; students who started in 2024 or later follow another. Here they are side by side.
| Requirement | Started Grade 9 in 2023 or earlier | Started Grade 9 in 2024 or later |
|---|---|---|
| Compulsory credits | 18 | 17 |
| Optional credits | 12 | 13 |
| Literacy requirement | Yes | Yes, the provincial secondary school literacy requirement |
| Financial literacy requirement | Not listed for this group | Yes, the provincial financial literacy graduation requirement |
| Online learning credits | At least 2 | At least 2 |
| Community involvement | 40 hours | 40 hours |
| How the choice credits work | One credit from each of Groups 1, 2 and 3 | One credit from the STEM-related course group |
| Technological education | Group 3 option only | 1 compulsory credit, Grade 9 or Grade 10 |
For the newer group, the page says: “You need the following 17 compulsory credits to get your” diploma, and “You must earn 13 optional credits by successfully completing courses from your school’s program and course calendar.” We report the two parts as the page gives them.
For students who started in 2023 or earlier, the same page lists 18 compulsory and 12 optional credits. In the newer rules, the three group credits of the earlier ones give way to two lines, one technological education credit and one credit from the STEM-related group, which is why the compulsory figure is one lower and the optional figure one higher.
A student who started Grade 9 in September 2024 or later must take a technological education credit in Grade 9 or 10, and one credit from the STEM-related course group at some point. An older sibling may have followed the earlier rules, so the two can have different checklists.
Guidance counsellors work from the student’s own record. This page is a map of the rules, not a ruling on any one transcript.
Source: Earning your high school diploma, ontario.ca (the address high-school-graduation-requirements now opens the page Earning your high school diploma), updated September 02, 2026 and read 22 October 2026. Modern Age Coders is not linked with the Government of Ontario or any school board.
For students who started Grade 9 in 2024 or later
The province lists the compulsory credits for the newer group in eleven lines plus the STEM-related group. The middle column is quoted from the page; the last column is our note.
| Subject | As the page lists it | Note (ours) |
|---|---|---|
| English | “4 credits in English (1 credit per grade)” | One in each of Grades 9 to 12 |
| Mathematics | “3 credits in mathematics (Grade 9, Grade 10 and 1 credit in Grade 11 or 12)” | The senior credit can be any Grade 11 or 12 math course |
| Science | 2 credits in science | |
| Technological education | “1 credit in technological education”, followed by (Grade 9 or Grade 10) | New for this group |
| Canadian history | 1 credit (Grade 10) | |
| Canadian geography | 1 credit (Grade 9) | |
| The arts | 1 credit | |
| Health and physical education | 1 credit | |
| French as a second language | 1 credit | |
| Career studies | 0.5 credit | Also where the financial literacy requirement sits |
| Civics and citizenship | 0.5 credit | |
| STEM-related group | 1 credit from the group | Explained in the next section |
English language learners may count up to 3 credits in English as a second language or English Literacy Development toward the 4 English credits; the page adds that the fourth credit must be a Grade 12 compulsory English course.
The same page lists particular English and arts courses that can meet those compulsory lines too. The school course calendar shows which of them a school offers.
Career studies and civics are worth half a credit each, which is why they appear as 0.5. Other courses can sometimes be offered as half credits too; the 2008 Computer Studies document sets at least 55 scheduled hours for each half-credit course in that subject.
Two half credits in the same subject make one credit. Our tally program further down handles half credits for exactly that reason.
The new choice credit
For the newer group, one compulsory credit is a choice from a list. The page puts it this way: “Of the 17 compulsory credits, you must complete 1 from the following group:”. The list is short, and three of its lines carry an important condition.
| Option | Condition on the page | Note (ours) |
|---|---|---|
| Business studies | None | |
| Computer studies | None | ICD2O, ICS3U, ICS3C, ICS4U and ICS4C are the computer studies courses on the current Ontario curriculum website |
| Cooperative education | None | |
| Mathematics | “in addition to the 3 compulsory credits currently required” | A fourth math credit |
| Science | “in addition to the 2 compulsory credits currently required” | A third science credit |
| Technological education | “in addition to the 1 compulsory credit required” | A second tech ed credit |
A math, science or technological education credit only counts toward the STEM-related group if it is extra: beyond the subject’s own compulsory credits. The third math credit fills the math line; a fourth can fill the STEM-related line.
Business studies, computer studies and cooperative education have no such condition, because none of them has a compulsory line of its own. Any one full credit in computer studies can count toward the group.
The new compulsory technological education credit and the computer studies option in the STEM-related group are separate lines on the page. On the Ontario curriculum website, the five computer studies courses all carry codes beginning IC.
We found no source saying a computer studies course such as ICD2O meets the technological education credit, so we do not say it. If a family is unsure which subject a course belongs to, the school course calendar or the counsellor will know.
For students who started Grade 9 in 2023 or earlier
Students who started Grade 9 in 2023 or earlier need 18 compulsory credits, and three of them come from three groups: “Of the 18 compulsory credits, you must complete 1 from each of the following groups:”. Computer studies sits in Group 3.
| Group 3 option | Note (ours) |
|---|---|
| Science (Grade 11 or 12) | The 2008 footnote calls it an additional course in science |
| Technological education | An option here, not a compulsory line |
| French as a second language | Counted under a limit across the groups |
| Computer studies | Any computer studies course |
| Cooperative education | Counted under a limit across the groups |
| American Sign Language as a second language | |
| Langue des signes québécoise langue seconde | Offered only in French-language schools, the page notes |
The page sets two limits. French as a second language can count as a compulsory group credit at most twice, one from Group 1 and one from Group 2 or 3. Cooperative education also counts at most twice: “You can count a maximum of 2 credits in cooperative education as compulsory credits from any of the above 3 groups.”
The 2008 Computer Studies document described the same Group 3 option when it was written: “To meet the Group 3 additional compulsory credit requirement, students have the choice of earning one credit for a course in computer studies (Grades 10 to 12) or technological education (Grades 9 to 12), or one credit for an additional course in science (Grade 11 or 12), or one credit for a cooperative education course.”
The earlier rules ask for “3 credits in mathematics (at least 1 credit in Grade 11 or 12)”. The newer rules are more specific, naming Grade 9 and Grade 10 math as well.
Under both sets of rules, students aiming at university computer science plan more math than the minimum, because programs such as Waterloo’s and U of T’s computer science list Grade 12 math courses by name. Our online math tutoring for Canadian families covers those courses.
Beyond credits
Credits are only part of the diploma. These requirements sit beside them, and some have dates or conditions families miss.
| Requirement | What the source says | Who it applies to |
|---|---|---|
| Literacy | For most students, meeting it means passing the Ontario Secondary School Literacy Test (OSSLT); EQAO says “Successful completion of the literacy test is one of the requirements to earn an Ontario Secondary School Diploma.” | Both groups |
| When the OSSLT can be taken | EQAO: “Students can take the test starting in Grade 10.” EQAO lists its next window as 3 to 30 November 2026 | Both groups |
| Financial literacy | Earned with “a mark of at least 70%” on modules in Grade 10 Career Studies, a mark that makes up 5% of that course’s final mark, with 2 attempts. “This requirement takes effect in the 2026-2027 school year.” | The newer group; the page also ties it to students who began Grade 9 in 2025 to 2026 or later |
| Online learning | At least 2 online learning credits for students who started Grade 9 in the 2020 to 2021 school year or later, with an exemption process through the school board | Both groups, from the 2020 to 2021 start year |
| Community involvement | “Everyone needs 40 hours of” community involvement activities; “You can start collecting volunteer hours in the summer before you begin Grade 9.” | Everyone |
| Dual credits | “Optional credits may include up to 4 credits earned through approved dual credit programs” | Both groups |
The province’s page describes financial literacy in two places. A summary list includes it for students who started Grade 9 in 2024 or later. A sentence further down speaks of students who began Grade 9 in the 2025 to 2026 school year or later, completing it in Grade 10 Career Studies, with the requirement taking effect in 2026 to 2027.
Both appear on the same page, so we show both. A family whose teen started Grade 9 in 2024 should ask the school how it applies to them.
The 40 hours can begin in the summer before Grade 9, and school boards publish which activities qualify. The page also suggests that students under 18 plan their activities with their parents, and that the guidance counsellor can help.
Online learning credits are worth noting for families who already use online courses: they are a requirement, not just an option, for recent start years.
Sources: Earning your high school diploma, ontario.ca, read 22 October 2026; EQAO’s OSSLT and assessments pages, as saved in our research copies on the same date (a fresh request to EQAO that day was refused, so we did not retry). EQAO’s date window is paraphrased.
What one credit is
Families often ask what “one credit” actually means for a course like ICS3U. The 2008 Computer Studies document answers in three short rules.
The course table carries a note: “Each of the courses listed above is worth one credit.” That includes ICS3U, ICS3C, ICS4U and ICS4C.
A credit is granted and recorded for every course in which the student’s grade is 50% or higher, so the credit line sits at the bottom of level 1 on the achievement chart.
Most courses in the document may be split into half credits of at least fifty-five scheduled hours each. The Grade 12 university preparation course, ICS4U, may not.
A credit is granted by the school or credit provider that teaches the course and evaluates the student: a day school, a board’s night or summer program, or an Ontario credit provider. Those are the only places a credit can come from.
Modern Age Coders is a teaching school, not a credit provider. We do not grant Ontario credits. Our classes sit beside the school course: we teach the material, practise it and prepare for tests, and the school awards the credit.
Most of our Ontario students come to us for a computer studies course, ICS3U or ICS4U, or for Grade 11 and 12 math. Both can matter for the diploma: computer studies through the STEM-related group or Group 3, and math through the compulsory math line and university plans.
For anything about a specific student’s credits, transfer credits or graduation date, the guidance office is the right place to ask. We help with the learning; the school keeps the record.
A worked example, ours
This program is ours, a teaching example of counting with conditions, for a made-up student. It is not a graduation audit and it simplifies the rules, as its comments say. It shows how a rule such as “in addition to” becomes a line of code. It was run in Python 3.13.
# Tally compulsory OSSD credits for a made-up student (ours, a teaching
# example of counting with conditions, not a graduation audit).
# Rules: ontario.ca, students who started Grade 9 in 2024 or later.
# Simplified: it ignores which grade each credit was earned in.
COMPULSORY = {"english": 4, "math": 3, "science": 2, "tech_ed": 1,
"canadian_history": 1, "canadian_geography": 1, "arts": 1,
"health_pe": 1, "french": 1, "career_studies": 0.5,
"civics": 0.5}
STEM_GROUP = ["business", "computer_studies", "coop",
"math", "science", "tech_ed"] # math, science, tech_ed only beyond their own minimum
def tally(transcript):
"""transcript: list of (subject, credit) pairs. Returns totals."""
totals = {}
for subject, credit in transcript:
totals[subject] = totals.get(subject, 0) + credit
return totals
def check(transcript):
totals = tally(transcript)
missing = []
for subject, needed in COMPULSORY.items():
if totals.get(subject, 0) < needed:
missing.append(subject + ": " + str(totals.get(subject, 0)) + " of " + str(needed))
stem_ok = False
for subject in STEM_GROUP:
spare = totals.get(subject, 0) - COMPULSORY.get(subject, 0)
if spare >= 1: # a full credit left over after its own minimum
stem_ok = True
if not stem_ok:
missing.append("STEM-related group: none yet")
return missing
student = [("english", 1), ("english", 1), ("english", 1), ("english", 1),
("math", 1), ("math", 1), ("math", 1), ("science", 1), ("science", 1),
("tech_ed", 1), ("canadian_history", 1), ("canadian_geography", 1),
("arts", 1), ("health_pe", 1), ("french", 1),
("career_studies", 0.5), ("civics", 0.5)]
print(check(student))
student.append(("computer_studies", 1)) # ICS3U, say
print(check(student) or "all compulsory credits counted")Output: first ['STEM-related group: none yet'], because the third math credit only fills the math line; then, with one computer studies credit added, all compulsory credits counted.
| Added to the transcript | Result | What it shows |
|---|---|---|
| A fourth math credit | all compulsory credits counted | Extra math counts toward the group |
| A third science credit | all compulsory credits counted | Extra science counts too |
| Half a credit of computer studies | STEM-related group: none yet | A half credit is not yet a full credit |
| Two half credits of computer studies | all compulsory credits counted | Two halves make one |
| A co-op credit, but no French credit | french: 0 of 1 | The group cannot cover a missing compulsory line |
| Nothing at all | Every line listed as missing | No crash on an empty transcript |
It ignores grades: the real rules say which grade some credits must come from, such as English in each grade and technological education in Grade 9 or 10. It also adds credits per subject, so half a credit of business and half of computer studies would not count toward the group here, a case worth asking the school about.
It does not count optional credits or add anything up into a total, and it knows nothing about literacy, online learning or volunteer hours. Those are separate requirements.
It uses a dictionary, a loop that totals, a comparison against a minimum and a condition with subtraction: the core of many school programming tasks, in one program a student can check against their own course calendar.
A good extension is to add the grade of each credit and enforce the grade rules. Another is to print the missing lines in a friendlier way. Both are honest practice in turning written rules into code.
Talking to the school
Our list, for families who want to make the most of a meeting with the school. The school has the record and the course calendar; these questions help get the answers you need.
We are happy to talk through what a computer studies or math course involves, and what help a student might want beside it. Questions about a student’s own credits belong with the school, and we will always say so.
Grade by grade
Our own sketch of how coding and math fit around OSSD requirements for a student who enjoys both. It is an example, not a plan for any particular student.
| Grade | Beside the diploma requirements |
|---|---|
| 9 | Grade 9 math; a first programming language at home or in a club; volunteer hours can begin the summer before |
| 10 | Grade 10 math and the technological education credit for the newer group; ICD2O if the school offers it; the OSSLT can be written from Grade 10 |
| 11 | A Grade 11 math course; ICS3U or ICS3C, which can count toward the STEM-related group or Group 3 |
| 12 | Grade 12 math for university plans; ICS4U or ICS4C; online learning credits completed |
The diploma sets the minimum. University and college programs often ask for more in specific subjects, so check their pages early.
Keep one copy of the requirements for your teen’s start year. Older siblings may have had different rules.
Know which rule set is yours. It decides whether you need a technological education credit and how your choice credits work.
If you enjoy computing, a computer studies course is one way to meet the STEM-related group and learn something you will use.
Courses by grade
All live, with a regular teacher, as a group batch or for one student.
OHSD / G09 / 01
Firm foundations before Grade 9 math.
Open the syllabusOHSD / G09 / 02
A first look at programming for the web.
Open the syllabusOHSD / G09 / 03
Learning to code by building games.
Open the syllabusOHSD / G12 / 01
For computer studies taught in Java.
Open the syllabusOHSD / G12 / 02
Algebra, functions and more, step by step.
Open the syllabusOHSD / G12 / 03
The math of data, taught clearly.
Open the syllabusOHSD / BYD / 01
The Waterloo programming contest.
Open the syllabusOHSD / BYD / 02
From Gauss in Grades 7 and 8 to Euclid in the final year.
Open the syllabusOHSD / BYD / 03
Models built from first principles.
Open the syllabusClass 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.
Weekdays
Evenings after school, in your Ontario time zone.
Weekends
Mornings, away from the school week.
1-on-1
Around tests, deadlines and exam weeks.
The two subjects we teach.
Never instead of a credit course.
Whatever the school uses.
From one month to the next.
Explained, never done for them.
Fifteen to twenty, or one.
Student work
Projects from high school students who learned with us. The student labs page shows more.

AI and ML
An AI nutrition coach that reads what you eat and works you toward a target.

AI and ML
A chatbot that answers mathematics and programming questions, built and deployed by a student.

AI and ML
An assistant that helps a young person recognise unsafe situations online.

Web app
A weather forecasting site with live conditions for any location.
Fees
The first class is free. After that a monthly fee covers eight live classes a month, displayed below in your own currency; there is no long commitment and families can stop after any month.
Free first class
Free
no card required
Group batch
$100 USD
a month, eight live classes
One to one
$150 USD
a month, eight live classes
What families say
Google reviews from families, as they posted them.
★★★★★
"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
Questions about the OSSD
For students who started Grade 9 in 2024 or later, ontario.ca lists 17 compulsory credits and 13 optional credits. For students who started in 2023 or earlier, it lists 18 compulsory credits and 12 optional credits. Both groups also have literacy, online learning and community involvement requirements.
The page lists 17 compulsory credits, 13 optional credits, the provincial secondary school literacy requirement, the provincial financial literacy graduation requirement, at least 2 online learning credits and 40 hours of community involvement activities.
For students who started Grade 9 in 2024 or later, one compulsory credit must be in technological education, in Grade 9 or Grade 10. For earlier students, technological education is one option in Group 3.
For students who started Grade 9 in 2024 or later, one compulsory credit comes from a group of business studies, computer studies, cooperative education, or an extra credit in mathematics, science or technological education beyond those subjects' own compulsory credits.
Yes. Computer studies is an option in the STEM-related course group for students who started Grade 9 in 2024 or later, and in Group 3 for students who started in 2023 or earlier. Each computer studies course in the 2008 curriculum is worth one credit.
We found no source saying so. ICD2O is a computer studies course on the Ontario curriculum website, and computer studies and technological education are separate lines on the graduation requirements page. Ask the school before planning around it.
The page says everyone needs 40 hours of community involvement activities to get their diploma, and hours can be collected from the summer before Grade 9.
Students who started Grade 9 in the 2020 to 2021 school year or later must earn at least 2 online learning credits, according to the page, which also describes an exemption process through the school board.
EQAO says students can take the test starting in Grade 10. On 22 October 2026 it listed its next window as 3 to 30 November 2026.
No. We teach coding and math beside school courses and do not grant Ontario credits. Credits come from the school or credit provider that teaches and evaluates each course.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. We fix each time with you around the school timetable.
The first class is free. Families then pay a monthly fee and can stop after any month. The fees section on this page shows the current figure.
Related pages
Course guides and classes for students working toward the OSSD.
A computer studies credit course, explained.
Math beside every grade of high school.
Live classes for every age in the province.
A programming contest written through school.
The CEMC contests many Ontario students write.
Every page for Canadian families.
Start here
Tell us your teen’s grade, the course they need help with and what is coming up next. The first class starts from their own work.
To read more first, the computer science companion syllabus and how we teach are both online.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Classes are live video lessons led by teachers in India, so there is no travel. WhatsApp is the quickest way to reach us from anywhere in Ontario.
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