滑铁卢大学Computer Science,Software Engineering与Computer Engineering专业对比分析,究竟哪一个更适合你?

滑铁卢的Computer Science,Software Engineering,和Computer Engineering的确是非常相近的专业(以下简称CS,SE,和CE),也都是滑铁卢的热门专业。许多人曾在三者之间徘徊不定,正因为不清楚它们之间的区别。在做选择之前,首先,你要确定自己是真的喜欢编码,数学和抽象思维足够好,能够适应IT行业的那种更新速度,以及愿意一辈子当一个(孤独的)程序员。下面简单的从以下几个方面说一下他们有哪些相似的地方,以及哪些其他专业所不具备的特点。

SE比CS更加注重实用,比CE有更多的软件方面的课程。对于新生来说,这三个专业在co-op的时候都会为了同样类型的工作而互相竞争。SE学生初期比CS学生在找co-op工作方面更有优势。在语言方面,CS学生第一年用的是一门叫做Scheme的极度矫情的语言,全球貌似仅仅只有几十个程序员真正用它来做实际的编程。SE第一年用C和C++,CE用C#,都是工作中很实用的语言。

我们可以对比一下CS,SE,和CE一年级的编程课;

CS:
CS135.png


SE:
CS137.png


CE:
ECE150.png


当初的我对Functional programming一点都不了解,还以为高大上的很。上过CS 135才知道,%&。。。#此处省去800字。除了脑子爆炸以外,简直。。。刚接触到Scheme的时候,觉得它就是一朵奇葩。其他语言能够轻易实现的东西,用Scheme简直一点头绪都没有。谁用谁知道。这节课每一次编程都逼着你一定要用更加复杂的思维方式去思考它,还有那个让所有人诟病不已的括号使用方式,美得不忍直视。总之这节课能够很好的锻炼思维能力,眼神,还有耐心。

再看看SE和CE的课程介绍,多么言之有物,多么实用。SE的CS 137与CS第二学期的CS 136比较接近。不过SE要求新生有一点编程的经验和背景。CS则是完全没有这方面的要求。

CS更加注重基础和理解。貌似是不会学任何的硬件方面的知识。SE的课程主要由CS和ECE的课组成。除了写码还有一些硬件工程课。SE第一年在课程方面和CE有点像,这两个专业有些课是相同的。不过,在第一年以后,SE和CE学的内容渐渐就不同了。CE比不上SE在软件编程方面的深度。CE没法像CS或SE那样把所有的精力都花在编码上。不过,CE学习内容范围更广,他们还会学到像信号与通讯,嵌入式系统,电路等等方面的知识与应用。

如果你打算做计算机编程,一定要选有co-op机会的专业。CS每年总共招收340名新生。CS有co-op和non co-op的分别。究竟能不能被co-op录取,主要看申请大学时的分数(下面有关于申请条件的介绍)。SE和CE分别招收大概125人和165人。SE和CE都是一定会有co-op的。

友情提示,在这所大学就读,很多事情都是有商量的,就像新生开学后,non co-op也有机会转去co-op,只不过要求真心太高了。具体CS转co-op的要求我不清楚,但是听说数学至少需要平均分90+。俺很负责的告诉你,除非是神仙不佑你,如果大一有能力达到90+平均分,你在申请大学时不可能被分到non co-op。

虽然计算机比其他专业在找工作上面要轻松不少,第一个co-op机会仍然是比较难找的。人越多,竞争越激烈。同时,第一个co-op的时间越早,越难找到雇主。入学前你会需要选择自己的work/study sequence。CE可以选择入学后第二个学期或者第三个学期开始co-op,SE必须入学后第三个学期。CS的选择余地要大一点,可以选择第三到第五个学期去co-op(PS:一个学期四个月,一年三个学期。)。上面说了,CS第一年学习的内容不如SE和CE实用,大多数的CS学生都会选择连续读完三个学期,第二年再去co-op。

这样做有什么道理呢?CS在第三个学期会学到一门非常具有实用价值的课,CS 246,Object-Oriented Software Development。这门课所用的语言是C++。唉,想想人家CE刚入校就是OO Programing,也是心酸。这样做还有一个好处,可以避免和CE、SE同时竞争。同时也避开了那些寻找编程暑期工的放了假的学生。过了第一个co-op,第二三四五次co-op都会很简单。

比起SE和CE,CS的优势在于选课上的灵活性。CS的自由度是其他两个专业提供不了的。相对的SE和CE的课程安排则是比较结构化了。CS系的学生可以根据喜好,选择学习不一样的方面。根据选课的不同,CS系的学生也会擅长不一样的方面。

这三个专业分别对高中时期的前置课程有不同的要求。具体需要哪些课程,我懒-。-还是贴图吧。

CS:
cs.png
SE:
se.png
CE:
ce.png


从图上可以看出,CE对高中ICS课程没有要求,CS推荐学ICS3U,SE强烈推荐学ICS3U,学了ICS4U更好。尤其是CS和SE,ICS系列课程虽然不规定必须算作平均分,但是分数最好注意一下。滑铁卢非常鼓励对编程类专业感兴趣的高中生参加数学和计算机竞赛。在写Admission Information Form (AIF)的时候,这些都是加分项。

SE和CE比CS多出了两项SPH4U和SCH4U的前置课程。那是因为,SE和CE以后还有不少科学方面的必修和选修课。SE的申请难度是最高的。滑大工程系专业的要求一般都高于数学系专业。对于那些有本地高中成绩的同学来说,申请SE平均分大概需要mid 90s。CS co-op至少要有90+,CE也差不多。

滑大还有一门你可能会关注的热门专业——Business Administration (Laurier) and Computer Science (Waterloo) Double Degree(BBA/BCS)。这是一个滑大和劳里埃大学共同开办的双学位,带co-op专业。它的录取要求和CS一样。能被CS录取,就能被BBA/BCS录取。这个专业是为了那些同时需要商业和计算机这两个领域知识的需求而准备的。比如,某单位需要通过编码实现某个商业项目,可是与不懂商科的程序员沟通的时候,他们也许不完全了解你的需求,因为早期程序架构的原因,在后期有些变动不见得说改就能改,这个时候就体现跨专业知识的价值了。这个专业滑大和劳里埃大学每年各招50名学生。他们需要同时在两所大学上课。

双学位,听起来很高大上有木有。其实,双学位也不是忙得离谱,10个学期(不包括co-op)52门课,每个学位20几门课,只是抛弃了选修的机会而已。不过,这个专业是不是只适合做管理,要不去创业?(问吧里还有不少创业文章呢,可以参考一下。)高端编程工作需要一心一意的专注于技术,而BBA/BCS则是兼顾两头。在编码上只用到CS一半的精力,他们的技术能比得过CS的程序员吗?值得一提的是,有一半以上的双学位的学生还没毕业就已经“转单”了。BBA/BCS很有挑战性,不是所有学生都能坚持学完的。

如果我已经选择了,比如,SE,我还能再转到CS或是CE吗?答案是可以的。毕竟这三个专业教的内容都有不少是相近的。但是越早转专业越方便。如果真的决定要转,赶紧去和advisor商量。你会遇到一些分数上的限制,通常分数要求也不高,大概平均分70多就好。从SE转去CS据说很方便。但是不保证一定有co-op,还要看有没有多余的名额。从CS转去SE和CE就难了。在这里提醒一句,滑铁卢允许转专业,它只是为我们多留一条路,但是没有人进校门就是为了转专业而来的。最好不要带有“先去xxx看看,不行就转走”的想法,事先一点research都不做。

想要学好编程,需要花很多的精力在上面。编程更多的还是看个人。要具有研究精神。对于那些能够静的下心去钻研,喜欢花一整天时间去编码的人来说,不管选哪一个专业,结果都没有区别。这样的人是最适合学习编程的。当然,也不是所有人都是这样。虽说可以转专业,但是还是推荐从一开始就选择最适合自己的,少走弯路。说了这么多,就是希望读者能够了解CS,SE,和CE各有什么特点,又有什么需要注意的地方,进了大学之后不至于后悔当初的选择。滑大为学生提供的机会真的很多,只不过要看你是不是足够优秀。对于北美的大公司来说,他们并不太在意你学的是哪个专业,他们在意的是你的潜力,所以关键还是要看成绩和能力,当然经验也同样重要。

这样说可能有点打击人——在工作中总会遇到各种不懂的地方,不要觉得自己懂的很多,哪怕毕业了,也还是一只菜鸟。行家说,程序员这个职业就是需要你不断的去学习新的东西,不断提高自己的“内功”,才能不被淘汰。

如果你实在不清楚倒底哪一个专业最适合你,推荐去滑铁卢大学官网分别查一下他们的课程安排和介绍。这种research对于无法做出选择的同学帮助极大。

这里送上滑大官网CS,SE,和CE课程介绍的链接:
https://ugradcalendar.uwaterlo ... nce-1
http://ugradcalendar.uwaterloo ... ering
https://ugradcalendar.uwaterlo ... ering
已邀请:

冰焰海 - 非常非常靠谱的问吧种子

赞同来自: 葱白与油菜 flick girl

关于多大CS和滑大CS哪家更强,这种问题其实挺难回答的。只能通过名声和就业率之类的数据去比较。这样只能了解到一个大概的情况,细节上的东西通过这些根本看不出来嘛。名声,就业率这些的没法告诉你,多大的实习和滑大的实习分别是怎样的体验,哪家大学的资源更好用(前提是会用O O),他们分别需要经过多少次面试才能收到offer,高端的大公司更喜欢多大的还是滑大的学生,那所大学更擅长教从未接触过编程的学生,毕业后起薪一般多少之类的,这些问题一般都很难得到答案。没有人同时读过多大CS和滑大CS,也找不到真正专业的人可以评判,到底哪一个更适合我,在哪读CS成就更高。
 
同一所大学类似的专业还能比较,至于多大和滑大嘛-。-当初我想学CS的朋友,只有被滑大拒了之后才会去多大。不知道这样算不算回答了。呵呵呵呵呵呵。。。(不要打我)。。
 
好多人一说起滑大,只会想到滑大的数学,CS,还有工程。滑大的好专业可不止这些!!!干嘛不考虑一下滑大商科,比如CFM,Math/CPA,Math/BBA Double Degree之类的呢?滑大没有专门的商学院,商科类专业几乎全部都被分到数学系了,所以名气不大。举个例子,曾经我还没申请大学的时候,与朋友讨论会计方面的问题,朋友直接呵呵了我一脸,说每年Schulich,Ivey都有被四大会计事务所招去的学生,Rotman也有一些,滑大有什么?当时的我被问的无言以对。后来才听学姐说,滑大被四大聘用的学生绝对不少于Schulich!而且是5年本科研究生一起读完。不说了跑题了跑题了。@草色新雨

葱白与油菜

赞同来自: 海鸥11

很正经的对比!赞一个!!

Fck少个u

赞同来自:

曾几何时我对着一个学 computer engineering 的学神说,“你好像是学 computer science 的是吧?”。。。然后被鄙视得一塌糊涂。。

草色新雨

赞同来自:

:scream: 幸好我已经工作了……一口恶血……
 
题主,滑大这方面的专业和多大cs比呢? :stuck_out_tongue_winking_eye: 貌似是挑架哈~

要回复问题请先登录注册