Advice, Tips, & FAQs
What SWE Stream should I do?
In Software Engineering, you have to choose one of the three offered streams: General, Big Data and Security. You will take the stream-specific classes in your 3rd and 4th year. My recommendation is to pick the stream you're interested in.
General
Unlike in Big Data and Security, you get to pick three EECS courses of your choice (based on what your course checklist tells you), such as, machine learning, networks, digital and mobile communications, computer vision, computer security, etc. However, you have to take two required courses courses (as of November 2025)
The first is EECS 3451 (Signals and Systems), which is only practical in niche subfields like communications, signal processing, Neural Networks in Machine Learning, etc.
The second one however is very important for anyone pursing a developer / software engineer role, which is EECS 3421 (Databases). Learning how databases work and how to integrate them into projects is crucial for these types of roles!
This is the stream I would recommend to anyone, especially if you want to explore different areas and interests with courses.
Big Data
The flagship stream. With the whole AI race currently, this stream might be worth looking into. You take some cool courses like machine learning, data mining, big data systems, etc. Heads up some of these courses can be heavy in theory and require prerequisites from difficult courses like EECS 3101.
Security
This is the stream I took out interest. I would have taken the General stream, but back then instead of databases, you had to take Control Systems (ENG 4550 / EECS 3452) which is infamously hard and useless in my opinion. You take very specialized courses related to computer security such as networks, cryptography, forensics, computer security labs, etc. Most of these classes involve hands-on labs / assignments which I found interesting. If you want to get into your computer security, don't limit your knowledge to just these classes. There are still many things to do and learn out there as well (side projects, CTFs, penetration testing, etc)!
What electives should I take?
Firstly, if you are in 1st or 2nd year, I wouldn't worry about electives/complementary studies yet, finish your core courses first. If you've seen your program checklist, typically they'll usually state electives in 3rd or 4th year, so follow that.
My general advice for taking electives is try taking courses that you may knowledgeable in or interested in taking, but also lighter compared to other courses you're taking. You could also take electives that are known to be very easy, while not caring about the subject matter. No shame in doing that, in fact, lots of students do this (including myself) for a GPA boost. I think it's worth it since it's challenging to maintain your GPA with harder courses in engineering, these electives can act as a "cushion" for your GPA.
At my time at York, the complementary Korean courses would fill up instantly. This is primarily because of: the huge popularity of Korean culture (K-Pop, K-Dramas, Korean Cuisine, etc.) in the west, plus they were mostly fully online or hybrid with good professors. Moreover, they are mostly a semester long (3 credits) unlike other humanities/social science courses that are a year long (6 credits).
There also exists courses that are known to be extremely light, even if the course doesn't sound interesting to you (who knows, you might like the course when you finish it). I would be however skeptical about these class, because course difficulty is subjective and may be outdated, especially from online forums like Reddit or Discord. For example, when I took Intro to Religion Studies, it was known to be an easy course, additionally being fully online. However, some of my friends found it tedious (peep a 48-hour online exam) and the final course average isn't what you'd expect from an easy elective (~70%-73%). Fast forward today, it's no longer considered an "easy" course. I however found it quite interesting and ended up with a pretty good grade.
If you want to increase your chances at getting an easy B+ or A (or even an A+), I highly suggest taking fully online electives if you can.
So my rule of thumb for electives is: interest ≤ difficulty!
What summer courses should I take?
Note, this is heavily dependant on your situation on what to take, but here I'll offer some suggestions as a start to decide.
ENG Courses
If you are looking for summer classes, ENG courses are the ones I highly recommend for most people, which are: ENG 2001, ENG 2003, and ENG 3000. ENG courses tend to be annoying (assignments, participation, etc.) when you have other classes that require high attention and investment. So, taking an S1 course (May to June) in the summer might be more productive.
Electives
Electives are also great to take in the summer, especially if it's fully online. Like ENG courses, they might be in the way during the fall and winter semesters, so it's probably wise to take them in the summer. Unlike ENG classes, York has a vast pool of electives you can choose from, so your choices are extremely flexible.
EECS & MATH Courses
Summer EECS courses are a little tricky, there's no guarantee the EECS courses you want will be offered in the summer. Albeit from my experience, if a course offered in the previous summer semester, then it will also be likely be offered in the next summer.
MATH courses are also a good option to take, they can lighten the workload during the academic year. Some of them are MATH/EECS 1028, MATH 1090, MATH 2930, MATH 2015.
Why am I taking all these useless courses?
I used to complain about this all the time (honestly, sometimes I still do). The root cause of this is the CEAB (Canadian Engineering Accreditation Board). This is ensure Canada’s engineering education system remains amongst the best in the world (which is from their page, that you can read further). Without our accreditation, our engineering degree would lose its engineering value. This is one of the sacrifices of doing an engineering degree over anything else, even if it means doing electrical circuits in software engineering.
How many courses should I take per semester?
Many people think engineering is taking 5-7 courses per semester, but it doesn't have to be this way. I wouldn't even want to put anybody through the trenches of taking 6+ courses a semester. However, if you're diligent enough, this could be doable. For me, I can only handle max 4 courses per semester. I tried taking 5 courses, but I ended up hurting myself every time I do so. It also depends on the courses I do, for instance EECS courses usually require high investment.
It sucks having to take less courses than your peers, but you should do what's best for you. I determined this rule for myself called the 4 / 4 / 2 rule. I take 4 courses per semester and 2 in the summer. This balances out to somebody taking 5 / 5 in the fall and winter. It has so far worked with me and I have never dropped a course since!