Choosing exactly the right program for yourself is hard work, we’ve all been there. At times this may even be a little overwhelming due to all the different choices. Not only do you have to choose a faculty, but you have to nitpick exactly which program you think you will enjoy the most out of a couple very similar looking ones. I have encountered this too when I was choosing my program because computer engineering, software engineering, and computer science all looked like great options for me. But which one was I supposed to choose? What was I supposed to base it off of? The best thing to consider when choosing between programs is the courses that you will be taking in the program.
You will see that each program offers a different set of courses that are prerequisites and also courses that you are able to take to specialize in a certain area. You will see the main differences between these three programs in the courses that you are able to take. Consider also which courses you have enjoyed in high school. Did you like math? Computer science? Robotics? Physics? All of these? None of these? Ask yourself which one was your most and least favourite, and why.
Check out the courses in the later years too to get a better understanding of what awaits you, because the first year only provides a good basis for your later years, and then moves into more specialized courses.
Computer Engineering
Computer Engineering teaches you about both the hardware and software aspects of computers, and so is a good program to take if you would like a more general understanding of computers. In contrast to the other two programs, Computer Engineering is focused more on the designing and developing of computer systems and how the software interacts with the hardware. So you will be learning about circuits, logic gates, physics, but also programming and Computer Engineering is a lot more hands on too. If you want to learn about how computers work and also learn about programming, then take Computer Engineering. Click here for more information on computer engineering.
Software Engineering
Software Engineering basically takes Computer Science and combines it with Engineering. It focuses more on the application than theory in comparison with Computer Science, but it still contains science courses due to being offered by the Engineering department. The main focus though is software development and building and maintaining software systems. Software Engineering is a lot less focused on the hardware than Computer Engineering, but in comparison to Computer Science it is more applied and provides a greater emphasis on the developmental process to ensure that programs work as they should and are safe. If you like programming and would like to take more of a hands on approach to it, take Software Engineering. Click here for more information on software engineering.
Computer Science
Computer Science is offered by the Faculty of Mathematics as opposed to the other two, and so it involves more math courses and is more theoretical than the engineering programs. This means no courses on circuits or physics, but more on programming and the theory behind it. This means a lot more math. Be prepared. Computer Science does not have courses on circuitry or how the hardware systems work, and has less practical and hands on learning of programming than Software Engineering. So in general, if you like to know more about the algorithms and ideas behind programming, take Computer Science. Click here for more information on Computer Science.
1A:MATH 135 – Algebra for Honours Mathematics
MATH 137 – Calculus 1 for Honours Mathematics CS 135 – Designing Functional Programs + Additional courses of your choice |
1B:MATH 136 – Linear Algebra 1 for Honours Mathematics
MATH 138 – Calculus 2 for Honours Mathematics CS 136 – Elementary Algorithm Design and Data Abstraction + Additional courses of your choice |
In general, these three programs are quite similar in that you will be learning about computers, but they have different specializations. In these programs you will also be able to choose even more specialized courses depending on what you want to learn about the most. To reiterate, Computer Engineering is based on the hardware and software, Computer Science is based more on the algorithms and theory behind programming, and Software Engineering is a mix of both, teaching the applications of programming while still having a basic science background.