Quote:
Originally Posted by AvacadoLover
Embedded stream contains the regular Software stream minus your electives. The electives are turned into mandatory courses on circuits. Viola! Embedded programming.
|
This isn't true. You just take electives at a different time from normal software engineering people.
Quote:
Don't be slacking and getting into meaningless relationships and party all the time. Join a engineering club.
|
Those are pretty contrary to each other from what I've seen of most engineering clubs.
Quote:
Originally Posted by nikJ
Software Engineering is very similar to Computer Science. It differs from Computer Science in the aspect of using Engineering practices in the field of Software. They learn about Software Architecture and Design in slightly more detail. It is also Math heavy as compared to CS - engineering math mainly. (any Software student, please feel free to correct me here, as this is based off of the feedback I got from my Software Eng friends). Also Software engineers get an iron ring. CS students don't. Typically a Software Engineering/Computer Science graduate would go on to do a software based job - surprise! e.g. Software Developer, Software Tester
|
At the end of the day, for the most part, comp.sci and software engineers compete for the exact same jobs in industry. Nobody really cares about the iron ring as far as I can tell.
Quote:
I'd suggest you select Comp Eng if you like Electrical stuff. Circuits etc. From the feedback I get from my friends in ECE, both Electrical and Computer Engineering programs seem a lot more challenging than Software Eng or CS. I'd think if its challenging, it'd be more rewarding, but I see a lot of ECE students do their coops in Software industry. There are definitely more jobs out there in Software industry than others. At least that's my understanding.
|
Ya, I agree with all of that.
Quote:
2) I'd say it's incredibly easy to get a co-op work term, regardless of whether you are in CE/SE/SE(emb) as long as you have good grades and show passion for your field through some side projects (which are easier to do if you are a SE student). 16 month coops are easier to score than 4 month coops.
|
Indeed, when I did co-op at IBM, people were from all over electrical, software, mechatronics and computer engineering, yet all doing software jobs.
Quote:
3) Embedded Systems is hardware. Many software students would say its dry. But, if you like it, you like it, period. I personally feel its pretty cool but challenging. If I were in SE, I would have taken Embedded just for learning.
|
That's pretty much exactly why I chose embedded. Personally, I find they didn't put enough into it... embedded systems is literally 4 courses extra: ENG 2MM3, ENG 3N03, MECH TRON 3TA4, MECH TRON 3TB4.
ENG 2MM3 is essentially pointless (a generalized view of how transformers work), 3TB4 is mostly redundant to a second year general software course and ENG 3N03 is really poorly done for the most part. 3TA4 is the only really beneficial class, which teaches you how to use microcontrollers at the low level.
I would have really liked a few more courses, because at the moment, I can't say I (or any of the other embedded systems people) got much out of it.
Quote:
But if you're unsure about hardware or software as a career path, you can surely go for embedded systems and have both paths open. Also keep in mind that students in Software Engineering do the same Capstone as Mechatronics and Software (embedded) students and I've heard that the Capstone is very hardware based, so Tron and Emb students have a huge leg up on software students.
|
Ya, that's kind of true. I'm really unimpressed with how the capstone is conducted for this course. Poorly managed and a lot of "all software" groups that are struggling.
------
As an aside, I think I probably would have seriously considered straight computer science (most likely at some other school) or computer engineering had I had the opportunity to start over again. Software engineering at McMaster by and large is very unimpressive (same with Mechatronics). The curriculum is really dated, and a lot of the professors teach courses that they seem to only have limited knowledge about (Human Interface Design, Distributed Systems. etc).
A lot of the students in the program are only there because they couldn't get into anything else (software has a low entrance average), so your average colleague in the program won't care about anything. Most people are awful programmers too.
I've been to the lab with electrical/computer engineers before and overall I'm a lot more impressed. Everyone knows what's going on, the professors are all geniuses (not necessarily good teachers... but know what they're talking about) and funny enough, I find in general people are much better at programming.
So ask yourself this OP: Do you want to learn more and suffer more while doing it, or do you want to learn less while kinda cruising along? For the former, choose computer engineering and for the latter, select any stream in software.