The subtle differences between various Computer related majors are confusing, especially at the age when one makes their University choices. 6 Degrees of Computer Science is a good place to start, but the choice is not always clear. Some delegate the choice of their program to luck — apply to all, and see which one they are accepted at from the University of their choice. This does not necessary work if ones academic performance is well enough to earn multiple offers. Now what?
I think I have a tip for making this choice. Unfortunately I came to understand it only a few years after entering the University myself. Looking back, this would likely have helped me make a better choice to begin with (and saved me the trouble of figuring out the differences years later, and going through a complicate process of changing majors). The approach is simple, yet time consuming; though I guarantee that this will be faster than spending a year (or two!) switching majors.
Originally, I was thinking of comparing Computer Science to Software Engineering, but there was too much overlap to make a good example. Though this previous article could be of interest — The spirit of Software Engineering.
I think it should also be noted that some of the Computer Engineering courses are accessible to Computer Science students via the Digital Hardware Option, at least at the University of Waterloo, which was taken as basis for this comparison (on the grounds of me attending that University).
Here I’ve discovered that ECE courses put emphasis on energies inside the systems — power management, thermodynamics, magnetic fields. Also, I’m not a fan of required Chemistry course. Personally, I’m not that interested in such level of detail, especially when the area of application leaves computers and gets into power-plant scales of energy transfers. The better circuit design courses are available via an option, so the key question becomes: how fascinating are those 4th year courses?
Computer Science is interesting in a way that it has much more flexibility. This allows to both avoid dull subjects and to pick up courses in the areas of interest. On the flip side, there are certain elective requirements that need to be fulfilled, such as the courses from the so-called “arts groups”.
Personally, I’m really interested in getting to Compilers via the CS route; even if that doesn’t earn me an Iron Ring.