这几天已经开始透露寒冷的气息了,也意味着10月申请季已经来临。同学们要抓紧择校和选专业、递交申请了。
今天小编就引用滑铁卢大学(加拿大计算机专业“杠把子”之一)招生官和计算机学院学生的解读以及课程设置的角度来深入剖析比较一下计算机科学、软件工程和计算机工程这三个专业之间的差别。
滑大官方的解读
这三个专业有非常多的共同点,都需要学习数码硬件和软件,三个专业都能很好的锻炼学生解决问题的能力,而且今后通向的就业领域也非常相近,不过三个专业还是有一些不同之处。
图片截取自:
https://uwaterloo.ca/software-engineering/future-undergraduate-students/frequently-asked-questions#Difference
大致译文:
计算机工程,主要学习如何设计、开发和操作计算机系统。计算机工程集中在数码硬件设备的计算机的设计与开发,以及控制计算机的软件开发。高阶课程更偏向实践能力和技术的培养和塑造。所以计算机工程是偏向于计算机硬件开发以及硬件和软件交互的领域的学科。
大致译文:
计算机科学是侧重于了解,设计与开发计算机项目的学科。核心侧重于数据传输,算法。高阶课程偏向于编程技术及具体应用领域。计算机科学的课程设置更加灵活,让学生有更多的灵活度选择自己喜欢的计算机基础课程去学习。
大致译文:
软件工程主要学习如何构建和维护软件系统。是比计算机工程更加非常侧重于软件开发的专业。软件工程比计算机科学相比,更加偏应用。侧重于软件开发的整个工艺过程。实操性更强,学科致力于帮助设计更加稳定安全的软件产品。
学生角度的解读
Elisa Lou是滑铁卢大学2015级软件工程的学生,让我们来一起看一下她眼中,软工和计算机科学还有计算机工程有什么差别。
以下截图来自于滑铁卢大学官网:
https://aimango.postach.io/post/university-of-waterloo-software-engineering-vs-computer-science
计算机科学和软件工程上一样的课吗?
答:如果是整体来看,计算机科学和软件工程上的很多课程都是一样的。不过软件工程的课程设置会更加固定一些,不用操心选课问题。计算机科学的学生需要自己去安排很多选修课。
软件工程比计算机科学专业更好么?
答:我在大一的时候会经常想这个问题。因为同专业的同学会经常讨论,不过没有一个项目一定是好于另一个项目的,每一个项目都有自己的优点,需要根据个人喜好去选择专业和设定专业目标。
软件工程VS电子计算机工程
答:进入软件工程会比进入电子计算机工程要更难,因为ECE每一届会有300个位子,而软件工程只有125个。没有进入软件工程的学生也会考虑选择计算机工程或者计算机科学就读。然后如果选择了计算机工程,会有不少实验课是必修课。所以计算机工程的学习强度其实比软件工程还要大一些。大一和大二,软工和计算机工程很多课程都是一样的。如果你不喜欢硬件,那么可以选择软工。有不少我认识的计算机科学专业的学生最先开始是选择的软件工程,因为他们更喜欢软件开发的一些课程。
计算机科学,软件工程,电子计算机工程都需要有编程经验才能申请么?
答:计算机科学和计算机工程在申请的时候不需要有编程经验。计算机科学专业还有计算机工程专业的学生可以选择CS115(给没有编程经验的学生选择的编程入门课)去学习;CS135(大部分学生选择这门)是给有一些编程经验的学生选择的;CS145是给比较有编程经验而且数学竞赛(欧几里得数学竞赛)表现优秀的学生去选择的,他们可以学习更高级的编程课。在申请的时候,软件工程专业是需要申请者具备一定的编程能力的。因为项目的入学门槛还是比较高的。在AIF(滑铁卢大学申请文书系统)中要阐述清楚自己的计算机经验和技能。
课程设置的角度
Computer Engineering
计算机工程会学习计算机软件和硬件的知识,同时非常重视动手能力(工程专业通性),会学习向电路,逻辑阀,物理还有编程语言等知识与技能。
大一课程举例:
微积分,化学,电子计算机实操课,物理,编程基础,离散数学,数字电路与系统,工程设计与嵌入式系统等)。
图片截取自:
https://engiegirlsatuwaterloo.wordpress.com/2013/08/29/computer-engineering-software-engineering-or-computer-science/
Software Engineering
软件工程的课程更偏向于应用,理科的课程也都会有(比如数学,物理),但是会比较少涉及到电子电路相比计算机工程。主要就是学习如何设计,开发,维护新的软件,并且让软件保持运行的安全与稳定。
大一课程举例:
编程原理,物理,线性代数,微积分,数据提取与应用,电子电路与系统。
Computer Science
计算机科学是设立在数学院的专业,所以包含更多的数学课,比工程学院的课程更偏理论。没有电路或者物理的课程,但是编程原理的课程会更多。数学的知识会非常多。如果想了解编程背后的逻辑与算法,选择CS吧。
大一课程举例:
数学微积分,编程基础设计,代数数学,线性代数,微积分2,算法设计与数据提取,两门选修课。
总结
1.CS偏理论,CE和SE偏应用。
2.CS和CE的课程设置灵活度要比SE要高。
3.进SE的难度要高于CE高于CS。
4.CS数学课会特别多,但是很少有电子电路的内容;SE有少量硬件的内容,主要是软件相关的课程;CE是又有硬件的内容,又有编程相关的内容。
5.最最重要的一点,在滑铁卢大学,CS,CE,SE都是配有coop的,通过实习实践,都能非常好的将专业知识运用到实际工作中,并且产生实质性收获(工作经验,薪资收入),更重要的一点,可以提前接触到雇主,很多同学在还没有毕业的时候就已经拿到了工作的offer的。所以建议无论就读那个专业,都可以选择带coop。