CSSA Logo
CSSA Logo

UManitoba CSSA

Recommended Course Plans

Recommended Course Plans

Recommended Course Plans

Recommended Course Plans

Recommended Course Plans

Congraluations on having declared your program in Computer Science! Unlike in first year where you may have been at risk of losing your first-week registration privileges if you took too long, here you're equals with every other non-first years, so take your time! Here’s a suggested guide to help you succeed in Year 2 of a Computer Science Major/Honours program. We have schedules for all Computer Science (including Joint) programs and the Data Science program; read on to find yours!

Note: Please read the next section in full and look over all schedules relevant to your degree; there is significantly more nuance in course picking in second year than first year! Aside from what you see in the Academic Calendar, you need to complete a course that meets the Writing requirement in your first 60 credit hours! You can look over some courses that meet the requirement in the First Year Planning Guide.

This section will focus mainly on those "on-stream", or those who have declared their program before the upcoming registration period. We apologize for not being able to include everyone, but as you can see, this is already long enough! Regardless, we do mention a lot of things that will be applicable to you in building your own schedule.

Table of Content

  1. Second Year Courses
  2. Computer Science Honours/Major
  3. Joint Honours: Computer Science + Mathematics
  4. Joint Honours: Computer Science + Physics & Astronomy
  5. Joint Honours: Computer Science + Statistics
  6. Data Science

Second Year Courses

Core COMP Courses

There are, in total, six core COMP courses in second year:

  • Fall:
    • COMP 2140 – Data Structures: Analysis and Implementation (requires: COMP 1020)
    • COMP 2400 – Programming Paradigms (requires: COMP 1020 + STAT 1150)
    • COMP 2450 – Software Development 1 (requires: COMP 1020)
  • Winter:
    • COMP 2080 – Algorithms: Analysis and Implementation (requires: COMP 2140 + MATH 1240)
    • COMP 2280 – Introduction to Computer Systems (requires: COMP 2140 + COMP 2400 + MATH 1240)
    • COMP 2452 – Software Development 2 (requires: COMP 2400 + COMP 2450)

⚠️ All courses require a minimum grade of C to count toward your degree.

Different degrees, however, require different courses. Here's a quick reference table for what courses you may not need:

Required COMP 2080 COMP 2140 COMP 2280 COMP 2400 COMP 2450 COMP 2452
CS Major Yes Yes Yes Yes Yes Yes
CS Honours Yes Yes Yes Yes Yes Yes
CS + Math Joint Yes Yes Yes Yes No No
CS + Physics Joint Yes Yes Yes Yes No No
CS + Stats Joint Yes Yes No Yes Yes Yes
Data Science No Yes No Yes Yes Yes

Electives

Outside of COMP courses, you should also begin thinking about electives and minors to supplement your degree. We have a lot to say on this; refer to Elective and Minors for the full detail.

However, do make sure that, in your first 60 credit hours, you complete a 3 crs W (Writing) course. This is mandatory. If you haven't already done it in first year, take it in Summer if you can't fit it into our suggested schedule.


Let's move on to the actual schedules!

Computer Science Honours/Major

Note: For all the schedules below, if you haven't finished a writing course already (which you should have in first year), take a Faculty of Arts writing course in any "Elective" slot or Summer.

Standard Schedule

Fall Winter Summer (optional)
COMP 2140 COMP 2080 COMP 3XXX
COMP 2400 COMP 2452
COMP 2450 COMP 2280
Elective Elective

Not much else to say here; there are 6 courses you're expected to complete, and you must have completed every first year course already if you're in the program. It's just padding on extra electives or higher-level courses if you feel like it.

If you haven't completed STAT 1150

Fall Winter Summer (if offered)
COMP 2140 COMP 2080 COMP 2280
STAT 1150 COMP 2400 COMP 2452
COMP 2450 Elective
Elective Elective

Note: We don't know if and when COMP 2452 will be offered in Summer; this is just a suggestion. It's likely that you'll have to push the course to your third year and not qualify for Co-op after finishing Winter. In that case, if you want to maximize your Co-op chance, consider taking 3 courses so you don't accumulate too many credit hours. More details can be found in our later section "The Co-op Program".

If you completed some core courses in Summer

  • COMP 2140: You can take COMP 2080 in Fall. COMP 2080 is generally regarded as a hard course, so doing so allows you to retake it in Winter if necessary. If you finish COMP 2080 in Fall, you can consider doing COMP 3170 in Winter if you're considering Honours.
  • COMP 2080: If you had the type of Summer where you took both data structures and algorithms courses, congratulations! Your term should be much lighter. If you want to keep up the pace and are considering Honours, COMP 3030 in Fall and COMP 3170 in Winter are courses you can get out of the way early.

If you're in COMP 2160 + 2150 limbo (2025 - 2026 term only)

This is for the students who have already begun taking second year courses since Winter 2025.

  • If you haven't completed COMP 2160 by now: Take COMP 2400 + 2450 in Fall and COMP 2452 in Winter to sync up with the new second years, and any other second year COMP courses you haven't completed already.
  • If you have completed COMP 2160 but not 2150: Take the last COMP 2150 section in Fall. Complete other second year COMP courses if you haven't already. If you're unable to take the Fall 2150, contact an academic advisor, as you'll likely need to deprecate your COMP 2160 credits so you can take COMP 2400 + 2450 + 2452 alongside future second years.
  • If you've completed COMP 2160 + 2150: Finish the rest of your second year courses. All other advices regarding course selection apply.

Joint Honours: Computer Science + Mathematics

Note: If you intend on joining Co-op, discuss with the Co-op Office ASAP before finalizing your schedule.

Core Courses

Note the lack of COMP 2450 + 2452, but now you're expected to take 5 (five!) more MATH courses:

  • Fall:
    • COMP 2140 – Data Structures: Analysis and Implementation (requires: COMP 1020)
    • COMP 2400 – Programming Paradigms (requires: COMP 1020 + STAT 1150)
    • MATH 2080 - Introduction to Analysis (requires: MATH 1232/1700/1710 + MATH 1220/1300/1210 + MATH 1240)
    • MATH 2090 - Linear Algebra 2 (requires: MATH 1220/1300/1210)
  • Winter:
    • COMP 2080 – Algorithms: Analysis and Implementation (requires: COMP 2140 + MATH 1240)
    • COMP 2280 – Introduction to Computer Systems (requires: COMP 2140 + COMP 2400 + MATH 1240)
    • MATH 2020 - Algebra 1 (requires: MATH 2090)
    • MATH 2150 - Multivariable Calculus (requires: MATH 2080)
    • MATH 2180 - Real Analysis 1 (requires: MATH 2080)

Note: For all the schedules below, if you haven't finished a writing course already (which you should have in first year), take a Faculty of Arts writing course in any "Elective" slot or Summer.

Standard Schedule

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
MATH 2080 MATH 2150*
MATH 2090 MATH 2180*

Either MATH courses can be substituted for MATH 2020

Picking between MATH 2020, 2150, and 2180 is honestly up to preferences on what you end up liking more in Fall; it's not a big deal whatever you decide to put off. Why we recommended these courses is because MATH 2180 is a prerequisite to MATH 3440 and 3470 (which is itself a prerequisite to MATH 3472), MATH 2150 is a prerequisite to the aforementioned MATH 3470, and MATH 2020 is a prerequisite to MATH 3220, with no required courses after it.

Doing 3 MATHs is also an option, although COMP courses should take priority as they're generally easier (our Joint CS + Math friends have reported COMP 2080 becomes trivial after taking MATH 2080!) and you shouldn't overwhelm yourself.

COMP-focused Schedule (better for CS-related opportunities)

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
COMP 2450 COMP 2452
MATH 2080/2090 MATH 2020/2150/2180

COMP 2450 + 2452 aren't required for the degree and will leave you with a measly 6 credit hours remaining for electives. However, COMP 2452 is a core CS course that unlocks a significant number of third-year courses. Ensure you review all the CS courses you're planning to take before you decide whether you need COMP 2452.

⚠️ IMPORTANT: If you're intending on doing CS Co-op, COMP 2452's predecessor, COMP 2150, was an unspoken requirement by the Co-op Office. We cannot confirm whether COMP 2452 will be a requirement the same way; please discuss with the Co-op Office ASAP if you're doing Joint and wish to do co-op.

If you haven't completed MATH 1300/1240 or STAT 1150

Hopefully you tried to do them in first year, but here are quick reference schedules if you didn't.

MATH 1240

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
MATH 1240 MATH 2020
MATH 2090 Elective

MATH 1240 (+ COMP 2452)

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
COMP 2450 COMP 2452
MATH 1240 Elective

MATH 1300

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
MATH 1300 Elective
Elective Elective

MATH 1300 (+ COMP 2452)

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
COMP 2450 COMP 2452
MATH 1300 Elective

STAT 1150

Fall Winter Summer (if offered)
COMP 2140 COMP 2080 COMP 2280
STAT 1150 COMP 2400
MATH 2080 MATH 2150*
MATH 2090 MATH 2180*

MATH 1240 + MATH 1300

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
MATH 1240 Elective
MATH 1300 Elective

MATH XXXX + STAT 1150

Take all the leftover first year courses in Fall. Unfortunately, you don't really have much leeway to take required courses; treat this as an extended second year.

If 4 COMP/MATH sounds overwhelming

In general, prioritize COMP courses if you are interested in CS-related opportunities; knowing data structures and algorithms will probably look better on your resumé than knowing real analysis. However, don't take our word for granted! You're already in the program, and it's very brave that you're pursuing Joint CS + Math for your degree. Take your time and split up core courses throughout the years, though be mindful that this degree doesn't particularly have a lot of electives.

Joint Honours: Computer Science + Physics & Astronomy

Note: If you intend on joining Co-op, discuss with the Co-op Office ASAP before finalizing your schedule.


Core Courses

Similar to Joint CS + Math, there's a lack of COMP 2450 + 2452. Notably, MATH 1240 is expected to be taken second year, as this degree has the densest first year requirements...and so does it the densest second year requirements.

  • Fall:
    • COMP 2140 – Data Structures: Analysis and Implementation (requires: COMP 1020)
    • COMP 2400 – Programming Paradigms (requires: COMP 1020 + STAT 1150)
    • MATH 1240 - Elementary Discrete Mathematics
    • PHYS 2496 - Mathematical Physics 1 (requires: PHYS 1030/1070 + MATH 1700/1232/1710)
    • PHYS 2260 - Optics (requires: PHYS 1030/1070 + MATH 1700/1232/1710 + MATH 1300/1220/1210) OR PHYS elective
  • Winter:
    • COMP 2080 – Algorithms: Analysis and Implementation (requires: COMP 2140 + MATH 1240)
    • COMP 2280 – Introduction to Computer Systems (requires: COMP 2140 + COMP 2400 + MATH 1240)
    • MATH 2720 - Multivariable Calculus (requires: MATH 1700/1232/1710)
    • PHYS 2386 - Introduction to Quantum Mechanics and Special Relativity (requires: PHYS 1030/1070 + MATH 1700/1232/1710)
    • PHYS 2650 - Classical Mechanics 1 (pre/corequires: PHYS 2496)

MATH 1240 and MATH 2720 can theoretically be taken anytime; they're just put like this for those aiming for an ideal 100% courseload full term, as 1240 is required for 2080 and 2280 while 2720 can be put off.

Note: You probably didn't manage to do a writing course in first year. Again, even without explicitly mentioning it, prioritize getting a Faculty of Arts writing course done during Summer. Better yet, if you're reading this in first year, do either that or MATH 1240 in your first year's summer and just take the other in Fall.


Standard Schedule

Fall Winter Summer
COMP 2140 COMP 2080 W course/MATH 2720
COMP 2400 COMP 2280
MATH 1240 PHYS 2386
PHYS 2496 PHYS 2650

MATH 1240 is required for both COMP 2080 and 2280, so unless you don't want to take any COMP courses in Winter, it must be taken Fall. The flexible PHYS elective option can thus be held off in favor of PHYS 2496, which is required for PHYS 2650.

MATH 2720 is offered every term and thus deferred to Summer. If you want to be "on schedule", MATH 2720 is unfortunately a blocker to a significant number of third year PHYS courses and thus should be dealt with in summer for flexibility; you're free to just, not do that, though!

COMP-focused Schedule (better for CS-related opportunities)

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
COMP 2450 COMP 2452
MATH 1240 PHYS 2386

COMP 2450 + 2452 aren't required for the degree and will leave you with a measly 3 credit hours remaining for electives. However, COMP 2452 is a core CS course that unlocks a significant number of third-year courses. Ensure you review all the CS courses you're planning to take before you decide whether you need COMP 2452.

⚠️ IMPORTANT: If you're intending on doing CS Co-op, COMP 2452's predecessor, COMP 2150, was an unspoken requirement by the Co-op Office. We cannot confirm whether COMP 2452 will be a requirement the same way; please discuss with the Co-op Office ASAP if you're doing Joint and wish to do co-op.

If you've already completed MATH 1240

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
PHYS 2496 PHYS 2386
MATH 2720 PHYS 2650

COMP-focused

Fall Winter
COMP 2140 COMP 2080
COMP 2400 COMP 2280
COMP 2450 COMP 2452
PHYS 2496 PHYS 2650

If you haven't done STAT 1150

Fall Winter Summer (if offered)
COMP 2140 COMP 2080 COMP 2280
STAT 1150 COMP 2400
MATH 1240 PHYS 2386
PHYS 2496 PHYS 2650

If 4 COMP/MATH/PHYS sounds overwhelming

Either you put off MATH 1240 + later COMP courses, or you put off PHYS courses. If you're more interested in COMP opportunities, the latter is more favorable; vice versa if you're more interested in PHYS opportunities. Every path is valid!

Joint Honours: Computer Science + Statistics

Note: If you intend on joining Co-op, discuss with the Co-op Office ASAP before finalizing your schedule.


Core Courses

Unlike its Joint siblings, you swap out 2280 for 2450 + 2452 in terms of required COMP courses:

  • Fall:
    • COMP 2140 – Data Structures: Analysis and Implementation (requires: COMP 1020)
    • COMP 2400 – Programming Paradigms (requires: COMP 1020 + STAT 1150)
    • COMP 2450 – Software Development 1 (requires: COMP 1020)
    • MATH 2080 - Introduction to Analysis (requires: MATH 1700/1232/1710 + MATH 1300/1220/1210 + MATH 1240)
    • STAT 2400 - Introduction to Probability 1 (requires: MATH 1700/1232/1710 + STAT 1150)
  • Winter:
    • COMP 2080 – Algorithms: Analysis and Implementation (requires: COMP 2140 + MATH 1240)
    • COMP 2452 – Software Development 2 (requires: COMP 2400 + COMP 2450)
    • MATH 2720 - Multivariable Calculus (requires: MATH 1700/1232/1710) OR MATH 2150 - Multivariable Calculus (requires: MATH 2080)
    • STAT 2300 - Principles of Data Collection (requires: STAT 1150)
    • STAT 2800 - Introduction to Probability 2 (requires: STAT 2400)

Note: For all the schedules below, if you haven't finished a writing course already (which you should have in first year), take a Faculty of Arts writing course in any "Elective" slot or Summer.


Standard Schedule

Fall Winter Summer (optional)
COMP 2140 COMP 2080 STAT 2300
COMP 2400 COMP 2452
COMP 2450 MATH 2720
STAT 2400 STAT 2800

MATH 2080 is left out as it is a prerequisite to nothing but MATH 2150 and is regarded to be one of the most difficult courses in the entire degree. As we can't take MATH 2150 without 2080, 2720 is preferred as it fulfills the same prerequisites, while also being an easier, albeit less rigorous, course.

STAT 2300 isn't a prerequisite to anything and is offered year round, so we prioritize STAT 2800 and MATH 2720 as they're prerequisites to third year courses.

There is no COMP-focused Schedule variation, as you have to take COMP 2452. You do miss out on COMP 2280; however, Joint CS + Stat has significantly more electives, so feel free to decide if you want to take it and courses it's a prerequisite to.

MATH-focused Schedule

Fall Winter Summer (optional)
COMP 2140 COMP 2080 STAT 2300
COMP 2400 COMP 2452
COMP 2450 MATH 2150
MATH 2080 STAT 2400

If you want to experience the rigor of pure mathematics (and/or get your free Minor done early), this is an alternative. Note that you don't miss out on third year courses as the one that requires STAT 2800, which can be taken Fall, is offered in Winter (3030); the rest only requires STAT 2400.

If you haven't done MATH 1240/1300

Fall Winter Summer (optional)
COMP 2140 COMP 2080 MATH 2720/STAT 2300
COMP 2400 COMP 2452
COMP 2450 MATH 1XXX/2720
MATH 1XXX STAT 2400

Do MATH 2720 or the remaining MATH 1XXX course, if you somehow didn't do either of them.

If 4 COMP/MATH/STAT sounds overwhelming

Prioritize the COMP courses + STAT 2400. Do a summer course if possible, preferably MATH 2720 or STAT 2300.

Data Science


Core Courses

Unlike its Joint siblings, you swap out 2280 for 2450 + 2452 in terms of required COMP courses:

  • Fall:
    • COMP 2140 – Data Structures: Analysis and Implementation (requires: COMP 1020)
    • COMP 2400 – Programming Paradigms (requires: COMP 1020 + STAT 1150)
    • COMP 2450 – Software Development 1 (requires: COMP 1020)
    • MATH 2740 - Mathematics of Data Science (requires: MATH 1700/1232/1710 + MATH 1300/1220/1210)
  • Winter:
    • COMP 2452 – Software Development 2 (requires: COMP 2400 + COMP 2450)
    • DATA 2010 – Tools and Techniques for Data Science (requires: MATH 1700/1232/1710 + MATH 1300/1220/1210 + MATH 1240, pre/corequires: COMP 2140 + STAT 2150)
  • Either:
    • MATH 2720 - Multivariable Calculus (requires: MATH 1700/1232/1710)
    • STAT 2150 - Statistics and Computing (requires: STAT 1150)
    • STAT 2400 - Introduction to Probability 1 (requires: MATH 1700/1232/1710 + STAT 1150)

Note: For all the schedules below, if you haven't finished a writing course already (which you should have in first year), take a Faculty of Arts writing course in any "Elective" slot or Summer.


Standard Schedule

Fall Winter Summer (optional)
COMP 2140 COMP 2452 MATH 2720
COMP 2400 DATA 2010
COMP 2450 STAT 2150
MATH 2740 STAT 2400

MATH 2720 gets the shortest end of the stick here as required courses-wise, it's only a prerequisite to MATH 4490 (Optimization), which is a Winter course. The rest are self-explanatory.

If you haven't done MATH 1240/1300

One course

Fall Winter Summer (optional)
COMP 2140 COMP 2452 MATH 2720
COMP 2400 DATA 2010
COMP 2450 STAT 2150
MATH 1XXX STAT 2400

Both courses

Fall Winter Summer (optional)
COMP 2140 COMP 2452 MATH 2720
COMP 2400 MATH 1XXX
COMP 2450 STAT 2150
MATH 1XXX STAT 2400

If 4 COMP/MATH/STAT sounds overwhelming

Prioritize the COMP courses + STAT 2150 and DATA 2010. Do a summer course if possible, preferably STAT 2400 or MATH 2720.


Lastly, never forget to check your schedule with the following two parties, just to be sure:

We hope this helps you make informed decisions for your second year and beyond!

Written by: Computer Science Students' Association

Last updated: July 5, 2025

Reading time: 19 min read

© Copyright 2023 - 2025 Computer Science Students' Association
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License