Hi students! In this post, I'm going to try to make some comparisons between the computer science and software engineering programs at the University of Calgary. As a first-year CS student, I have not experienced either of these programs to a large extent; but I have experienced researching each of them and changing my mind multiple times, and asking a lot of questions to students in each program. So without further ado, here is my summary of the major differences.
Course Sequences
Here's some of the differences in course sequences which can be found at https://science.ucalgary.ca/current-students/undergraduate/program-advising/program-guides for CS and https://www.ucalgary.ca/student-services/degree-guide/science/engineering, and https://www.ucalgary.ca/pubs/calendar/archives/2019/en-4-9.html for engineering (this one is from 2019, I chose it since it shows a year-by-year breakdown but there are some minor differences from the current version).
For each year, computer science students are allowed to take around 3 options that are not in the program. Software engineering students are restricted to 1-2 options because of all the extra engineering courses they take such as:
- First year engineering is common for any engineering student, with courses like ENG 201 (Behaviour of Liquids, Gases and Solids), CHEM 209 (General Chemistry for Engineers) and PHYS 259 (Electricity and Magnetism for Engineers)
- Engineering students have to take Multivariable Calculus in addition to Calculus taken by both majors
- Apart from the first year, Software Engineering students take more courses related to Networks, Testing, Project Management
- Engineering students finish off their degree with a year-long group capstone project
Reading about the engineering courses was a conflicting feeling for me. On the one hand, many of these sound interesting and useful. On the other, it sounds significantly more difficult than computer science, and less customizable. If you want to take courses in Networks, there are CPSC (computer science) options and a whole concentration for it, and same for several other subjects. If you choose to, you could do also do a final research project in computer science. It feels less like you have to "wade through" lots of things you probably don't want to do if you take computer science.
Guaranteed Major
If you're admitted to computer science, you're in computer science. It would probably take a few Ds/Withdrawals on your transcript to flunk out, just like any other program.
Engineering is a bit scarier, where you have to pass all 10 first-year courses with a overall GPA above a C- (2.00) to be guaranteed the major of your choice. Now, this is way easier than what it used to be, but still a bit scarier given the difficulty of first-year engineering. The advantage? If you're not sure what discipline you want to go into, you get a year of experience before you choose.
Engineering "Blocks"
In first-year engineering, you're put into a class block. You don't have to choose anything, and this also means that basically all your classes are with the same people, so you end up getting to know them really well and are able to build a close community. Apparently this year, class blocks don't even switch rooms for their classes (the professors switch rooms)... not sure if that is significant but it's certainly interesting.
In computer science, you have to enroll in your classes and options yourself, which can actually be kind of scary. If you are choosing your classes late, your options and even some of your mandatory courses could be filled up. Usually, students work it out in the end, but some end up taking courses in spring/summer or even extending their degree. Choosing options can also be quite difficult because you get so many and there is so much to choose from... but please enroll in your mandatory courses as soon as you can!!! It's a little bit harder to make friends in computer science since your courses will have different people, but it's not super difficult and you could get the advantage of making different groups of friends
Professional Engineer Certification
One cool thing about getting a Software Engineering degree is that you can get a P. Eng. designation which can be highly respected, because it shows that you're professional and experienced in your field. This can be useful if you end up applying for cross-discipline engineering firms (oil and gas?) and working on safety-critical software.
There are full articles you can read about this, but my two cents is that it's almost impossible for a software engineer to get a P. Eng. certification, since you have to work under a professional engineer for several years and there are very few software engineers with the P. Eng. designation. As a result, it's not really a big factor in company hiring, but engineering firms as mentioned above could value the fact that you did an engineering degree rather than a computer science degree. On the other hand, some companies value computer science degrees more such as for roles related to cyber-security or simply for their early specialization.
Concentrations/Minors
Engineers get access to cool engineering minors such as biomedical engineering, aerospace engineering, and mechatronics engineering. You can't do these in computer science, but you can do (also cool) specializations like Visualization/Analytics, Information Security, Computer Graphics, and for some reason Software Engineering. If you already have a strong interest in one of the minors or specializations, that could affect your program choice.
Funding
Engineering gets more money than Computer Science at UCalgary, so they get a few more events and project funding. There's also a bunch of "engineering" clubs that do interesting things like making UAVs and Satellites, but they generally accept computer science students too. Same thing for engineering events. If you really want to do something, there is a way regardless of your major.
Conclusion
Overall, this post is to help you make your own conclusion. I mainly chose computer science to avoid a lot of the mandatory engineering courses, but I have major respect for those majoring in engineering and I don't think one is better than the other. Computer science isn't a "free ride" in comparison either. In the end, your career prospects and knowledge will be similar whichever you choose, so don't stress about it :).
If you have anything to add or ask, please feel free to comment and I'll reply within a few days!
Best of luck,
Ana
Cover photo by Sharon Hahn Darlin, Creative Commons
Comments
Post a Comment