近年来互联网的迅速发展和智能手机的普及让整个计算机类的行业尤其是软件开发行业变得炙手可热,这些行业的工资也水涨船高,但是计算机类别的专业都有很多相似点,学习的课程也差不多,考生在报考专业时很容易被这些相近专业搞得一头雾水。对于想成为一名软件工程师并从事软件开发工作的学生来说,计算机科学与技术和软件工程这两个专业似乎都很符合定位,那么这两个专业到底有什么区别,应该从什么角度去决定报考哪个专业呢?
计算机科学与技术
计算机科学与技术是探究计算机运行原理的学科,主要从理论和数学的角度出发。计算机科学主要研究计算机及其周围各种现象和规律的科学,即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。如果你喜欢探求计算机学科内的规律和逻辑,或者是想进入计算机科学的专业领域,例如人工智能、机器学习、安全或图形,那么计算机科学专业更适合你。
软件工程
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。通俗地讲,软件工程就是研究如何把计算机软件当作普通产品,以“工程化”方式大规模生产的技术。比如在日常生活中使用手机、电脑等电子产品进行工作、娱乐活动时,我们看到的是文字、图片,而计算机运行的底层语言则是电子信号和二进制符号,像这样构建机器与人之间的沟通互动平台,就是软件所要实现的功能。如果你对实际操作方法更感兴趣,并且想了解软件构建和维护的整个过程,那么你应该选择软件工程专业。
计算机科学与技术
主要课程有:英语、高等数学、线性代数、概率论与数理统计、离散数学、数值分析、电路原理、模拟电子技术、数字逻辑、微机原理、汇编语言、操作系统原理、编译原理、算法与数据结构、面向对象方法、C语言/c++语言、计算机数据库原理、图形学、人工智能、多媒体技术、网络安全、人机交互、无线互联网技术、软件开发方法、高性能技术等。
软件工程
主要课程有:英语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C语言)、数据结构、C++程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000等。这两个专业对于数学和统计方面的要求几乎相同,两者都包括组合学,概率和统计的知识。关于计算机科学的核心知识需求也相似,包括算法,数据结构和操作系统。
软件工程专业在电气工程和软件工程基础方面有更多的要求,例如软件测试,设计和软件需求规范等。软件工程专业是培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力。计算机科学则能选择更高级的计算机科学课程。你可以在大量的选修课中进行选择,例如人工智能、软件开发方法、人机交互等。如果你要在计算机这个领域深造的话,学计算机科学通常比较有优势,毕竟很多考研的科目本身就偏理论,更适合学习计算机科学与技术的学生。