计算机是目前的热门专业,但是具体来计算机类专业有许多近似的学科,许多人搞不清楚。如计算机科学与技术和软件工程这两个专业,同为计算机大类专业当中的热门专业,它们有什么区别呢?报志愿时选哪个更好?我们这里就做下介绍。
就所学课程而言,软件工程要学的基本课程包括:计算机组成原理、线性代数、离散数学、操作系统、数据结构、软件工程、概率论与数理统计、数据库系统原理、C++程序设计、计算机网络原理、算法基础。
计算机科学与技术专业的基本课程有:离散数学、操作系统、数据结构、软件工程、概率论与数理统计、数据库系统原理、C++程序设计、计算机网络原理、高等数学、计算机系统结构、Java语言程序设计、计算机在通信管理中的应用、数据库在企业中的应用。
对比一下,两者在课程上的共同之处还是很多的:两个专业有超过2/3的课程是一致的,如:离散数学、操作系统、软件工程、概率论与数理统计、数据结构、数据库系统原理、C++程序设计、计算机网络原理等。
它的的不同之处在于:1.软件工程要多学的课程有:计算机组成原理、线性代数、算法基础。2.计算机要多学的课程有:计算机系统结构、高等数学、Java语言程序设计、计算机在通信管理中的应用、数据库在企业中的应用。3.考公时计算机科学与技术比软件工程受的限制更少。计算机类岗位在招聘公务员时,会有计算机科学与技术可以报但是软件工程、物联网等专业不能报的岗,反之则很少。
就课程而言,概括来讲,计算机科学与技术更侧重计算机的整体知识结构,要学的课程多一些,软硬件都有,比如汇编语言,模拟电子,数字逻辑,微机原理,电路设计,单片机等,软件工程则偏软件一些,主要集中在软件相关的领域,还有一些软件管理相关的课程。另外计算机科学与技术还有主修路径选择,比如往网络安全,嵌入式等方向选,在就业上的选择或走向较多,包括但不限于计算机理论研究,硬件,芯片,网络,多媒体,操作系统,人工智能(某些学校开设了“智能科学与技术”来深化学习)等。
软件工程是2002年为了提高计算机软件领域教学质量提出的新增专业,软件工程是计算机科学的一个分支。随着编程方法技巧越来越多,程序越写越大,越写越复杂后软件工程就成一个课程体系,从计算机科学里分出来了。从就业来讲:软件工程大部分选择是互联网公司,基本上全部是搞软件,其它公司选择性差。计算机科学可以选择去互联网公司,芯片公司,物联网公司,通信公司,大型国企,电网,烟草等都可以,需求往往比软件工程多很多。
从录取分数来说:软件的分数通常低于计算机(近年随着计算机的火爆二者分数有较强的接近的趋势),同时学费通常高于计算机。一部分想读计算机的同学,由于分数的原因无法正常被录入计算机专业的,对他们而言SE是能让他们从事计算机行业的分数性价比相对高的一个专业。当然大多数CS学生出来也是做“码农”,从事软件开发的道路,要做程序员。
从学习来说:计算机的课程比软件工程难度要大一点,课程也要多一些。学软件工程的话,有更多时间搞软件研发,算法这些,毕业就业也比较容易。如果不想深入研究或者不读研,只想找个高薪工作,就选择软件工程,学习简单且更容易拿高薪。从整体薪资来看:软件工程>计算机科学与技术。
从考研来说:如果你想以后自己的研究走得更高,深度更深,那么你就选计算机科学与技术,学习内容丰富,整体氛围也会更偏向科研一些,且研究生阶段学习方向选择更广,不管是就业还是保研,考研,计算机都要优于软件工程。如果有明确的读研计划,本科阶段选择计科会更稳妥一些,但是由于计科专业的竞争比较激烈,所以如果想有更多的保研机会,选择软工也是可以的,所以一定要结合自身的实际情况和发展规划来选择目标专业。
简单地说,计算机更偏重于对于整个计算机体系结构的理解与运用。软件工程通常只注重软件部分。实际上,在国内的大学里,软件工程和计算机其实几乎没有差别。软件工程要少些几门硬件课而已。只不过通常软件工程的录取分数都远低于计算机,学费通常也要多一些。
最后,如今计算机大类专业的火爆,很多人去读了CS/SE。但是如果计算机专业不感兴趣却为了高收入就盲目去学的话,不仅在学习上会疲惫,更加容易让人迷茫,到时就会出现扎堆就业的问题。计算机行业不缺底层的代码搬运工(真“码农”),缺的是顶尖的技术人才。选了这个专业就得好好学,不能满足于当个底层工作者。