CCSP / FIRST / 01
Scratch
Logic and sequencing before typed code.
Open the syllabusQuebec · CEGEP · Computer science
In Quebec, the road to a computer science degree or a programming job passes through CEGEP, the college level between secondary school and university. There are two main doors: a two-year pre-university program, Computer Science and Mathematics (200.C0), and a three-year technical program, Computer Science Technology (420.B0). This guide explains what CEGEP is from Québec.ca, then reads both programs from the ministry's own program documents: what they teach, how many hours they take and what they ask for at admission. The last part is ours: how a student in Secondary III, IV or V can prepare in programming, with a practice program written in the style the documents describe.
Teaching live online since 2020 · 10,000+ students · built from Québec.ca and the ministry's program documents
In short
CEGEP is Quebec's college level between secondary school and university. Computer science there means the two-year pre-university program Computer Science and Mathematics (200.C0) or the three-year technical program Computer Science Technology (420.B0). Modern Age Coders prepares secondary students in programming live online, in a batch or one to one, in its Python for Teens course.
Start programming now
Python first, because it lets a student think about the algorithm rather than the syntax. Then data structures, which both programs ask for. The third is for students already at CEGEP age.

CCSP / 01
Ages 13 to 18. From a first program to functions, lists, files and objects: the ground the 020W and 00Q2 competencies cover.
Open the syllabus →
CCSP / 02
Algorithms and data structures, with sorting and searching, as in the 020X objective.
Open the syllabus →
CCSP / 03
For students 18 and over, including those already in a college program who want more practice.
Open the syllabus →What CEGEP is
Families arriving from other provinces often have no equivalent in mind. Québec.ca puts it plainly: "College is the first level of education at which schooling is not compulsory in Québec. College studies follow secondary school and precede university education."
| Point | What Québec.ca says |
|---|---|
| How many colleges | 48 CEGEPs, which are public colleges, "five of which are English-language institutions"; "about 70 private colleges, more than a third of which are subsidized"; and 4 affiliated public institutions |
| The college year | "A college year is comprised of two 16-week terms (including the examination period), one in the fall (August to December) and one in the winter (January to May)." |
| Course load | Most courses average 45 hours per term, "about three hours per week"; full time means at least 180 hours a term, or 165 if Physical Education is one of the courses |
| Pre-university programs | Prepare students for university and "requires two years of full-time study" |
| Technical programs | Prepare students for the job market and "requires three years of full-time study"; "Technical programs include at least one practicum in the workplace." |
| General education | Every DCS includes general education, with complementary courses that can come from areas including "mathematics literacy and computer science" |
| The R score | The "cote de rendement au collégial"; "Universities use the R score to analyze applications" |
Québec.ca says universities use the R score to analyze applications, "particularly when a program has a quota, or as a minimum threshold for admission to certain programs". It is calculated from college results, so what counts for university entry is how the student does at CEGEP, not in Secondary V.
For a student aiming at a university computer science program after 200.C0, the first term of programming matters as much as any later one. Arriving already fluent in a language makes that first term calmer.
Québec.ca describes a "Springboard to a DCS" pathway for students who want to start college before choosing a program. It offers common courses and orientation activities, and a person may stay on it "for no more than three consecutive terms".
Some students try a programming course there and decide; others come to CEGEP already sure. Either way, programming practice in secondary school costs nothing but time.
Sources: Québec.ca, Studying at CEGEP: overview and Choosing a program of study, read 22 October 2026. Modern Age Coders is not a college and is not connected with any CEGEP or with the Ministère de l'Éducation.
The two programs
Both programs lead to the same diploma, the Diploma of College Studies (DCS). They differ in length, in purpose and in what comes after. The figures below are from the ministry's program documents.
| Computer Science and Mathematics (200.C0) | Computer Science Technology (420.B0) | |
|---|---|---|
| Type | Pre-university | Technical |
| Length (Québec.ca) | Two years of full-time study | Three years of full-time study, with at least one workplace practicum |
| Credits | 58 | 91 |
| Instruction | 1560 periods: 660 general education, 900 program-specific | 2670 hours: 660 general education, 2010 program-specific |
| What the program is for | "preparing students for university programs in computer science, mathematics, engineering and most of the pure sciences programs" | Work in computer science technology, through 13 compulsory competencies and 6 or 7 more chosen by the college from a list of 15 |
| Field or sector | Field of study: Computer Science, Mathematics and Science | Technical sector 1: Administration, Commerce and Computer Technology |
| Math at admission | Secondary V math in the TS or Science option, with Secondary V Chemistry and Physics | Secondary IV TS or Science, or Secondary V CST |
200.C0 is a science program with computer science inside it: calculus, linear algebra, physics and chemistry share the timetable with four programming and discrete-math objectives. It suits a student who wants a university degree in computer science, mathematics or engineering.
420.B0 is a programming program from the first week, built to lead to work, with a placement in industry. It suits a student who wants to build software sooner. Québec.ca's overview adds, in its description of technical programs, that this training "may also provide access to university, provided that certain requirements related to the chosen university program are met".
Neither document names a programming language. They describe competencies, such as "Use programming languages" and "Develop programs to solve simple problems", and leave the language to each college. The 200.C0 document says it outright: "Each college determines the ways in which the educational aims, common competencies, goals, objectives and standards are implemented."
So no one can promise which language a given CEGEP will teach in first term. What a student can do is arrive fluent in one language and comfortable with the ideas, which carry over to any.
Sources: ministry program documents Computer Science and Mathematics (200.C0) and Computer Science Technology (420.B0), linked from Québec.ca's pre-university and technical program lists, read 22 October 2026.
What they teach
The ministry documents set out each competency with its elements and performance criteria. These are the ones about programming and the mathematics behind it, shortened. They are the clearest description anywhere of what a CEGEP computer science student is expected to do.
| Code | Program | Statement of the competency | Selected elements and criteria |
|---|---|---|---|
| 020V | 200.C0 | "Apply basic concepts in discrete mathematics to problem solving" | Set theory and logic; proofs; modular arithmetic and number systems; recursive functions; graphs; Boolean algebra; Euclid's algorithm |
| 020W | 200.C0 | "Develop programs to solve simple problems" | "Design of an effective algorithm"; "Proper validation of an algorithm by means of a complete set of tests"; the basic concepts of object-oriented programming: class, object, method, attribute |
| 020X | 200.C0 | "Organize and manipulate data" | Object-oriented development with encapsulation, inheritance and polymorphism; choosing data structures; "Correct use of updating, sorting and search techniques with data in memory"; reading and writing files |
| 020Y | 200.C0 | "Design and develop programs in a graphic environment" | Functional and user-interface requirements; a user-friendly interface; program libraries; modules; validation |
| 020Z | 200.C0 | Integration of the program's learning | "Through a team project", with an oral presentation and a written report |
| 00Q2 | 420.B0 | "Use programming languages" | Analyze the problem; translate the algorithm into a programming language; debug the code; implement the functional test plan |
| 00Q3 | 420.B0 | "Solve computer-related problems using mathematics" | Numbers in different base systems; two-dimensional figures as digital images; Boolean algebra and truth tables; average, median, variance and standard deviation |
Read the criteria together and one habit keeps returning: test what you build. 020W asks for "a complete set of tests"; 00Q2 ends with implementing "the functional test plan". Neither treats a program that merely runs as finished.
The other recurring idea is analysis before code: identifying the data, the results wanted and the processing required, then designing the algorithm, then translating it. That is the order we teach in, at every age.
Beyond its 13 compulsory competencies, 420.B0 lists 15 from which each college picks 6 or 7. They range from networks and servers to software: "Develop transactional Web applications", "Develop gaming or simulation applications" and "Develop applications for connected objects", among others.
Two CEGEPs offering 420.B0 can therefore have quite different second and third years. Comparing those choices is the strongest reason to read each college's own program page before applying.
A practice program
A program we wrote for this page. It touches three of the objectives above: converting numbers between bases (00Q3), Euclid's algorithm (020V), and validating code with a complete set of tests (020W). It is our practice material, not taken from any college course.
# Our practice program: number bases and Euclid's algorithm, with a test plan.
DIGITS = "0123456789ABCDEF"
def to_base(n, base):
"""Write a whole number n >= 0 in a base from 2 to 16."""
if n == 0:
return "0"
out = ""
while n > 0:
n, r = divmod(n, base) # repeated division: the remainder is the next digit
out = DIGITS[r] + out
return out
def gcd(a, b):
"""Euclid's algorithm: replace (a, b) by (b, a mod b) until b is 0."""
while b != 0:
a, b = b, a % b
return a
# functional test plan: (what we test, call, expected result)
TESTS = [
("zero", lambda: to_base(0, 2), "0"),
("binary", lambda: to_base(13, 2), "1101"),
("hexadecimal", lambda: to_base(255, 16), "FF"),
("one digit", lambda: to_base(7, 8), "7"),
("gcd, common factor", lambda: gcd(84, 36), 12),
("gcd, coprime", lambda: gcd(17, 5), 1),
]
passed = 0
for name, call, expected in TESTS:
got = call()
ok = got == expected
passed += ok
print(f"{name:20} expected {expected!s:6} got {got!s:6} {'PASS' if ok else 'FAIL'}")
print(passed, "of", len(TESTS), "tests pass")zero expected 0 got 0 PASS binary expected 1101 got 1101 PASS hexadecimal expected FF got FF PASS one digit expected 7 got 7 PASS gcd, common factor expected 12 got 12 PASS gcd, coprime expected 1 got 1 PASS 6 of 6 tests pass
The test plan was written before the functions, as a list of cases with the answers worked out by hand: 13 in binary is 1101 (8 + 4 + 1), 255 in hexadecimal is FF (15 x 16 + 15), and the greatest common divisor of 84 and 36 is 12. Then the code was written to make all six pass.
Admission
Québec.ca's admission page sets out who is eligible for a DCS program, how to apply and when. Program conditions such as the math above sit on top of these general rules.
For a program leading to a DCS, a student needs a Secondary School Diploma (SSD), or a Diploma of Vocational Studies with certain secondary subjects passed, among them the Secondary IV mathematics program, or instruction or experience the college accepts.
Then the program's own conditions apply. Québec.ca: "Some college programs also have specific requirements for the program you choose." For 200.C0 those include Secondary V math in TS or Science; for 420.B0, Secondary IV TS or Science, or Secondary V CST.
Applications to most CEGEPs go through a regional admission service; in the Montreal area that is the "Service régional d'admission du Montréal métropolitain (SRAM)". Québec.ca lists a few CEGEPs that take applications directly instead, so check each college's instructions.
Québec.ca gives the deadlines as "Fall term: March 1" and "Winter term: November 1". In our reading, a student entering in the fall of 2027 applies by 1 March 2027; the page itself gives no year.
Source: Québec.ca, Admission to CEGEP, read 22 October 2026. Deadlines and procedures can change; the regional service and the college have the last word.
How to prepare
Our plan, built backwards from the competencies above. It assumes a student starting in Secondary III or IV with weekly classes; a Secondary V student compresses it into a year.
| Stage | What the student learns | Which objective it prepares |
|---|---|---|
| 1. Fluency in one language | Python: variables, conditions, loops, functions, lists and strings, written from a blank file | 020W and 00Q2: translating an algorithm into a language |
| 2. Algorithms on paper first | Describing a solution in steps before typing it; tracing by hand | 020W: "Design of an effective algorithm" |
| 3. Testing as a habit | A written test plan for every program, with edge cases | 020W and 00Q2: the complete set of tests and the functional test plan |
| 4. Data and objects | Dictionaries, files, sorting and searching, then classes, objects, methods and attributes | 020X: organizing data; object-oriented basics |
| 5. A program with an interface | A small windowed or web program someone else can use | 020Y and the technical program's application competencies |
| 6. The math underneath | Number bases, Boolean logic, modular arithmetic, a first look at proof by induction | 020V and 00Q3 |
We do not teach students to paste AI-generated code. The ministry's criteria ask for analysis, design, debugging and validation, and a student who skips them with an AI tool arrives at CEGEP unable to do any of the four. ChatGPT needs a parent's permission for anyone under 18.
We use AI the other way round: a student may ask an AI tool to explain an error message, then must fix the bug and explain the fix themselves.
Programming does not replace the Secondary V math, chemistry and physics that 200.C0 asks for. A student short on Secondary V math is better served by math help first; our online math tutoring for Canada covers it.
For a student who enjoys contests, the Canadian Computing Competition is a good test of stages 1 to 3; our CCC Junior guide explains how students enter through their school.
Where a student starts
Our stages, used in the first class to decide where a student begins.
| Stage | What it looks like |
|---|---|
| 1. Curious | Has tried block code or tutorials, but not written a program alone |
| 2. Writing | Writes short Python programs with loops, functions and lists |
| 3. Testing | Plans an algorithm, writes a test plan and debugs methodically |
| 4. Ready | Organizes data with classes and files, and has finished a project someone else used |
Stage 2 by the end of Secondary IV leaves comfortable time for stages 3 and 4 before August of the CEGEP year.
Ask your teen to explain a program they wrote. If they can say why each line is there, they are further along than a long list of tutorials suggests.
Write the test cases before the code. It feels slow for a week and saves hours every month after.
Finish small things. One complete program with tests teaches more than five abandoned ones.
The catalogue
Taught live online in English by a regular teacher, in a batch or one to one, at times set in Eastern time for Quebec.
CCSP / FIRST / 01
Logic and sequencing before typed code.
Open the syllabusCCSP / FIRST / 02
Math ideas explored in Python.
Open the syllabusCCSP / FIRST / 03
Interactive web pages and small games.
Open the syllabusCCSP / SEC / 01
A second language, strongly object-oriented.
Open the syllabusCCSP / SEC / 02
Contest problems to sharpen algorithms.
Open the syllabusCCSP / SEC / 03
Version control before the first team project.
Open the syllabusCCSP / COL / 01
The systematic treatment, for ages 18 and up.
Open the syllabusCCSP / COL / 02
Web applications with Django and Flask.
Open the syllabusCCSP / COL / 03
The calculus and linear algebra of 200.C0.
Open the syllabusHow lessons 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.
Weekdays
After school, in Eastern time.
Weekends
Longer project sessions on weekend mornings.
1-on-1
Paced to Secondary V and the CEGEP calendar.
Steps on paper before code on screen.
A test plan for each program.
Programs other people can use.
Live, with a regular teacher.
Students write and explain their own.
Fifteen to twenty, or private.
Student work
Projects at the level CEGEP's first year asks for. A few are below; the student labs page has 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
CEGEP itself is a matter between the student and the college. Our classes are paid as a monthly fee for eight live classes a month, with no contract, so a student can pause during exams or stop when college begins.
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
Parents on Google, quoted without edits.
★★★★★
"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 from Quebec families
It is the college level in Quebec. Québec.ca describes college as the first level of education at which schooling is not compulsory, after secondary school and before university. There are 48 CEGEPs, which are public colleges, five of them English-language, plus about 70 private colleges.
The two main ones are the pre-university program Computer Science and Mathematics (200.C0), two years, and the technical program Computer Science Technology (420.B0), three years with at least one workplace practicum. Both lead to a Diploma of College Studies.
For 200.C0, the ministry document lists Secondary V math in the Technical and Scientific option or the Science option, with Secondary V Chemistry and Physics. For 420.B0, it accepts Secondary IV TS or Science, or Secondary V CST.
The ministry program documents do not name one. They describe competencies such as using programming languages and developing programs, and each college decides how to implement them. A student who is fluent in one language, such as Python, adapts quickly to another.
Québec.ca gives March 1 for the fall term and November 1 for the winter term. A student starting in the fall of 2027 would apply by 1 March 2027. Most applications go through a regional admission service, such as SRAM in the Montreal area.
It is the cote de rendement au collégial, a measure of college performance. Québec.ca says universities use it to analyze applications, particularly for programs with a quota or a minimum threshold. It is based on CEGEP results.
Learn one language well, practise designing algorithms before coding, write test plans, then move on to data structures and objects. Keep the math option that the program asks for. Our plan on this page maps each step to the ministry's objectives.
Neither is better in general. 200.C0 prepares for university programs in computer science, mathematics and engineering; 420.B0 prepares for work, with a practicum, and Québec.ca notes that technical training may also open the way to university when a university program's requirements are met.
No. We are an online school that teaches programming and math alongside secondary school. We are not a college, we grant no credits and we have no connection with any CEGEP or with the Ministère de l'Éducation.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Classes are in English, in Eastern time.
Elsewhere on this site
More for students on the way to computer science.
Our pages for families across Canada.
For the Secondary V math the programs ask for.
A national contest written through school.
Contest programming beyond Junior.
For students drawn to machine learning.
Analysis before code.
The debugging 00Q2 asks for.
Tracing a program by hand.
Projects worth showing a college.
Start here
Tell us the student's secondary year, math option and any programming done so far. The first class sets a short task in Python; by the end, the teacher can place the student on our four stages and suggest a plan to the CEGEP year.
Prefer to read first? How we teach shows a live class, and the courses page lists every syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Classes run over live video with our teachers in India, in English, at times set in Eastern time for Quebec. There is no campus to visit.
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