Advice, Tips, & FAQs
Planning Ahead Using Visual Schedule Builder (VSB)
York has a extremely reliable tool called Visual Schedule Builder (VSB) (only for York students with Passport York can access it) that provides a visual of what your schedule looks like based on the classes you choose. Play around with it to find your favoured schedule.
Here's a pro tip: you can bookmark your schedule where you left off and come back when needed, since VSB doesn't save your selections and you have to manually enter them again. Based on the courses, times, sections, semesters and other options you chose, you generate a unique (and very long) URL that you can visit anytime. Here is a sample link if you saved your selections when choosing summer courses.
To avoid full classes or sections you plan on taking, enroll immediately after your enrollment time and date (don't leave it until the first week of school). You can find your enrollment date in your Student Web Services > My enrolment access times, displaying dates and times when to enrol in fall/winter and summer courses.
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, so I'd say pick stream once you finished most of your 2nd year classes, so you'd get an idea on what to pursue.
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 databases, machine learning, networks, digital and mobile communications, computer vision, computer security, etc. However, as there is a catch. You will have to take two other (difficult and mostly useless) classes in return: Signals and Systems (EECS 3451) & Control Systems (ENG 4550/EECS 3452). These courses are mostly applicable to niche subfields like communications, signal processing, etc. In my honest opinion, I don't recommend pursuing this stream.
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. You also take courses like databases (EECS 3421), which I think every developer should take. Heads up that these courses are also challenging and require prerequisites from difficult courses like EECS 3101.
Security
This is the stream I took. You take very specialized courses related to computer security such as networks, cryptography, forensics, computer security labs, etc. In all honesty, I took this stream because it has the easier set of classes. This is so I have more time for finding Coops/Internships, graduate ASAP and making projects like this! Despite that, I found these classes to be pretty fun and 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 (unless of course you need to raise your GPA or need a 2000-level course for your first coop work term).
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. 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 and even face-to-face. 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 to 2024, it's no longer considered an "easy" course. I however found it quite interesting and ended up with a pretty good grade.
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, might as well get them done in the summer when you have more time.
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.
To find online electives for the summer, you can go to the York Courses Website, then go to eLearn Courses on the left sidebar to filter any online electives.
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, I have found this trend with summer EECS courses (in no way this is factual information, take this with a grain of salt):
-
Any mandatory or elective EECS courses that are taken by both Computer Science and Software/Computer Engineering students will also likely be offered in the summer. This includes core classes (EECS 2030, 2021, 2101, 3101, 3221, 3311) and EECS electives (EECS 3214, 3421, 3461, 3421).
-
Specialized courses that only Software/Computer Engineers take or if Software/Computer Engineers outnumber the few Computer Science students in the class, will unlikely be offered in the summer, like EECS 2311, 3342, 3201, 3216 and 3451.
-
Core Software/Computer Engineering courses in 1st and 2nd year are mostly offered in the summer (with some exceptions from the above point), less often for 3rd year and scarce for 4th year.
-
Courses offered in the recent summer semester will also be likely be offered in the next summer semester
For your own research, it's recommended that you look at the courses offered in the last summer term on VSB to have an idea on what could be taken in the next summer term.
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 be as useful as toilet paper. 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 hell of taking 6+ courses a semester. However, if you're diligent enough, this could be doable. For me however, 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 sucks having to take less courses than your peers, but you should do what's best for you.
Everybody is different, it's your own journey with your, not a race against anybody else. 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!