Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Computer science or software engineering?
Index -> Student Life
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
v_v




PostPosted: Thu Apr 01, 2010 9:06 am   Post subject: Computer science or software engineering?

Hello,Iam a international student from China and preparing to do undergraduate programe in Canada .
Iam interesting in computer programming and would like to be engaging with software programming related works in the future,not machine design.
I've visited several Canadian university's websites.but Iam wondering that in the engineering programe,there are also a option called Software Engineering .
Could you guys tell me which programe is really about software programming. Computer science or the software engineering option involved in Engineering programe.

Thanks.
Sponsor
Sponsor
Sponsor
sponsor
joseph2625




PostPosted: Mon Apr 12, 2010 1:05 am   Post subject: RE:Computer science or software engineering?

Since I am a UW student, I'll limit myself to explaining the difference between these programs at UW.

One of the biggest difference is that if you're in SE, you have a option to get accredited to become a Professional Engineer(P.Eng) which is simply useless for programmers.

However there are several other advantages to it as well. Your curriculum is very well "boxed in" with little options, helping you to take the right courses and have strong fundamentals.

Of course there are several useless courses(physics, chem, electromeg etc) that you must take and pass(fortunately electromeg is removed from new curriculum starting in September 2010), but they also have many courses that you have to take that are (i think) helpful in general in your life (ie. MSCI261 ,STAT206 etc.)

Also, if you are in Software Engineering, you start with C, not Scheme(useless for getting a job), which is a huge advantage over CS students in getting a job in first year co-op (of course if you have a strong background in C/C++ you'd have no problem). You do get to learn about functional programming(CS138 scheme; not very detailed tho, which is nice), to learn what functional programming is.

Since employers actually know that SE is *generally* a more difficult program(both to get in and to stay in, which can be difficult because of some useless but extremely challenging courses, namely ElectroMeg), as seen in the CECS stats(hxxp://www.cecs.uwaterloo.ca/students/statistics.php you'll need a UW credentials), SE students do have higher co-op employment rate than the CS students. (I'm sure those numbers reflect the real-life jobs; again, I'm limiting myself to UW)

Nice bonus at UW is that if you're in SE, you belong to both Faculty of Engineering and Faculty of Math, and you do get to enjoy the services provided by both student societies.

However, CS at UW also has some advantages of course. First, it's CHEAPER than SE. If money is a big factor in choosing the programs, one would definitely choose CS over SE, but in a long run, I'm not quite sure which makes more money... Secondly, you are much more flexible and easier. Since SE is a part of engineering program, the full course load policy also applies to SE students. This means that SE students MUST maintain full course load, which is normally 6. This is also another huge factor. Preparing for and writing 6 2.5hr long final can be difficult for some people especially when you're in a bad luck so u get to write all(or most) of them within a week, which can definitely happen.

So.. they have both advantages and disadvantages, and depending on your circulstances, one would be definitely better than the other. So choose wisely Smile
unoho




PostPosted: Tue Apr 13, 2010 12:37 am   Post subject: RE:Computer science or software engineering?

i was wondering, is it possible to switch between two courses (SE and CS) like after first year or second year? let's say i find SE too difficult, so i want to go to CS, can i do that without repeating the first year of CS?
Tony




PostPosted: Tue Apr 13, 2010 2:34 am   Post subject: Re: RE:Computer science or software engineering?

unoho @ Tue Apr 13, 2010 12:37 am wrote:
let's say i find SE too difficult, so i want to go to CS, can i do that without repeating the first year of CS?

There's a bit of a catch to it. Because you'd be transferring between faculties, only the courses that have 70%+ will carry over (along with your failures, if any).

You need to be in good standing for the transfer to be considered, and you need to be doing moderately well in your courses to keep their credits.

Just about the only way to pull this off is that if you do well in the first year, but during second you suddenly realize that you are heading in the wrong direction and drop everything before it sticks to your transcript (so right before and/or during some midterms). If you decide that it's "too hard" because you have failed a bunch of courses... then (while still possible), the transfer would be much more difficult. Besides, you'd be better off staying in SE, as you can just repeat failed terms (as long as you graduate in 10 years), while Honours CS (UW has no non-honours) does not allow you to graduate with more than 6 failures on transcript.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Prabhakar Ragde




PostPosted: Tue Apr 13, 2010 6:59 am   Post subject: Re: RE:Computer science or software engineering?

Tony @ Tue Apr 13, 2010 2:34 am wrote:

There's a bit of a catch to it. Because you'd be transferring between faculties, only the courses that have 70%+ will carry over (along with your failures, if any).


That was the case for you, Tony, but SE is considered a joint program with the Faculty of Mathematics, so this doesn't apply for SE->CS. In fact, CS is a last-chance fallback for SE students doing poorly and not wishing to repeat a year. (Students doing well in SE also transfer into CS for various reasons; there is very little movement in the other direction.)
Prabhakar Ragde




PostPosted: Tue Apr 13, 2010 7:09 am   Post subject: Re: RE:Computer science or software engineering?

joseph2625 @ Mon Apr 12, 2010 1:05 am wrote:
as seen in the CECS stats(hxxp://www.cecs.uwaterloo.ca/students/statistics.php you'll need a UW credentials), SE students do have higher co-op employment rate than the CS students.


CS admits four times as many students. If you took the top 25% of CS students, they would have better statistics than SE. (As I mentioned, CS takes in and gives a chance to failing SE students; the reverse is not true.)

Both CS and SE personnel (the director of SE is a professor in CS) will tell you that CS and SE students compete for the same jobs, in co-op and at graduation, and the determining factor is the candidate themselves, not what program they are in.

The difference between the two programs comes down to (1) access to ECE courses (easier for SE students, more difficult for CS students) and (2) the different educational styles (on the Engineering side, highly scheduled, all classes with the same cohort, term-by-term promotion, requirements imposed by Engineering accreditation; on the Mathematics side, flexible scheduling, class composition varies, credit-by-credit advancement, requirements determined by the University alone).
CodeMonkey2000




PostPosted: Tue Apr 13, 2010 11:01 am   Post subject: Re: RE:Computer science or software engineering?

joseph2625 @ Mon Apr 12, 2010 1:05 am wrote:

Also, if you are in Software Engineering, you start with C, not Scheme(useless for getting a job), which is a huge advantage over CS students in getting a job in first year co-op (of course if you have a strong background in C/C++ you'd have no problem). You do get to learn about functional programming(CS138 scheme; not very detailed tho, which is nice), to learn what functional programming is.


Wait what? I'm pretty sure that what we learn in first year doesn't really help us get a job. And from the looks of the assignments, I think we pretty much cover the same matterial. They use C++, but I think most of us can still do the C equivalent. But in CS 138 it looks like they just breeze through scheme. I can't compare CS 135 and CS 137, since the CS 137 assignmetns are no longer posted.

CS 138: http://www.student.cs.uwaterloo.ca/~cs138/current/assignment.shtml
CS 136: http://www.student.cs.uwaterloo.ca/~cs136/assignments/
joseph2625




PostPosted: Tue Apr 13, 2010 5:00 pm   Post subject: Re: RE:Computer science or software engineering?

Prabhakar Ragde @ Tue Apr 13, 2010 4:09 am wrote:

(As I mentioned, CS takes in and gives a chance to failing SE students; the reverse is not true.)


The fact that CS takes in and gives a chance to failing SE students only suggests that it's impossible to do the reverse since there is NO WAY that failing CS students will be able to succeed in SE. There are so many prerequisites(SE101, MSCI261, ECE126, STAT206, CHE101, SE141) that those students must take in order to get accredited to become P.Eng. that it's actually even better to start over right from the first year.

Prabhakar Ragde @ Tue Apr 13, 2010 4:09 am wrote:

CS admits four times as many students. If you took the top 25% of CS students, they would have better statistics than SE.


There is no proof to support this claim. And also note that people who didn't get accepted into SE can get accepted into CS instead but the reverse never happens(no second choice on their AIF)

CodeMonkey2000 wrote:

joseph2625 @ Mon Apr 12, 2010 1:05 am wrote:

Also, if you are in Software Engineering, you start with C, not Scheme(useless for getting a job), which is a huge advantage over CS students in getting a job in first year co-op (of course if you have a strong background in C/C++ you'd have no problem). You do get to learn about functional programming(CS138 scheme; not very detailed tho, which is nice), to learn what functional programming is.


Wait what? I'm pretty sure that what we learn in first year doesn't really help us get a job. And from the looks of the assignments, I think we pretty much cover the same matterial. They use C++, but I think most of us can still do the C equivalent. But in CS 138 it looks like they just breeze through scheme. I can't compare CS 135 and CS 137, since the CS 137 assignmetns are no longer posted.

CS 138: http://www.student.cs.uwaterloo.ca/~cs138/current/assignment.shtml
CS 136: http://www.student.cs.uwaterloo.ca/~cs136/assignments/


there is no Scheme in CS137. As far as the Prof of CS137(which is also the director of SE Program) said, the main reason that SE requires students to have prior knowledge in programming is that they are the only ones to learn about pointers in C in their first term. So many people struggled to understand the concept so they had to add the requirement.

The only reason I said that first year SE students have advantage in getting their job is that by the time you do the interviews, which is around February(stream 8) or October( for stream 4 students; there's no SE student in stream 4), CS students have not yet been taught any of C stuff. C is taught in the second half of CS136, where as for SE students, they are taught back in September. Of course it would not be enough to apply the knowledge in real-life(co-op), but it's still better than nothing.
Sponsor
Sponsor
Sponsor
sponsor
Prabhakar Ragde




PostPosted: Tue Apr 13, 2010 6:04 pm   Post subject: Re: RE:Computer science or software engineering?

joseph2625 @ Tue Apr 13, 2010 5:00 pm wrote:

The fact that CS takes in and gives a chance to failing SE students only suggests that it's impossible to do the reverse since there is NO WAY that failing CS students will be able to succeed in SE. There are so many prerequisites(SE101, MSCI261, ECE126, STAT206, CHE101, SE141) that those students must take in order to get accredited to become P.Eng. that it's actually even better to start over right from the first year.


I'm not interested in arguing hypotheticals with you, but consider this: SE students take weaker calculus, weaker linear algebra, weaker probability/stats. Many failing CS students struggle with the math, not with the CS (and those who struggle with the CS do so because it's radically different from what they did in high school, unlike the first SE courses). The main reason that very few students go the CS->SE route is because that is moving from a more flexible program to a less flexible one. I know of a few students who have done it.

I was chief negotiator on the CS side when we set up the SE program with ECE. I sat on the SE Curriculum Committee for a couple of years. I now sit on the Faculty-level committee through which both CS and SE curriculum changes pass. I know about both these programs in detail. I'm not interesting in shilling for one side or another (there are plenty of things about both programs I don't like). I am interested in students making the right decision, because too many of them don't have enough of a grasp on the reality, as opposed to the image, before they choose a program.

joseph2625 @ Tue Apr 13, 2010 5:00 pm wrote:

Prabhakar Ragde @ Tue Apr 13, 2010 4:09 am wrote:

CS admits four times as many students. If you took the top 25% of CS students, they would have better statistics than SE.


There is no proof to support this claim. And also note that people who didn't get accepted into SE can get accepted into CS instead but the reverse never happens(no second choice on their AIF)


There is proof. CS early offers went out to about a third of the final pool, and our yield rate makes that larger than the final SE admits. Our cutoff for the early offers was substantially above the SE cutoffs. The applications/target ratio is also higher in CS than in SE (this was not the case when SE started, but their ratio has declined since 2005, whereas ours has gone up). There are certainly students applying to both programs and getting accepted to one and not the other, going both ways. It is true that SE deflects some choices to CS and CS does not deflect choices to SE, but that is because SE has chosen not to consider our deflections, despite the fact that some of them are now above SE cutoffs. (Why does CS still consider SE deflections? SE might deflect for reasons that don't matter to CS -- such as prior experience.)

None of this means that CS is a better program than SE. In fact, the programs are comparable, and what one should make the decision on is the different styles of education, as I mentioned.

Quote:

As far as the Prof of CS137(which is also the director of SE Program) said, the main reason that SE requires students to have prior knowledge in programming is that they are the only ones to learn about pointers in C in their first term. So many people struggled to understand the concept so they had to add the requirement.


If Charlie actually said that (he tends to be more nuanced, so I suspect some misinterpretation), it is post hoc rationalization. SE has always required prior knowledge pf programming (unlike CS who promised that students who came from schools with poor or no CS courses would have a chance), but for years they used exactly the same first CS courses as CS did, two courses in programming and then elementary data structures using Java (no pointers). When the Java courses essentially collapsed, CS went with the Scheme/C courses, mostly because they were in place and working. SE saw this as a political opportunity to widen the gap, and put in their own C/Scheme/C++ courses (though their Scheme coverage is rudimentary and seems designed more to convince SE students to hate it). These have only been in place for two years. Pointers in first term is a stretch even with prior experience (especially if the prior experience is in Java or Visual Basic) but it's also a stretch in second term (C was introduced at the beginning of week 3 in this year's offering of CS 136). I'm not convinced that either approach is effective, but both are driven by marketability (the ability to say "Our students know X" when it really means "Our students have been exposed to X") rather than pedagogy (the ability to say "Our students know X" and mean it).
Display posts from previous:   
   Index -> Student Life
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 9 Posts ]
Jump to:   


Style:  
Search: