作者:猎户座
链接:https://www.zhihu.com/question/408144078/answer/1374381058
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
软件工程(SE,Software Engineering),强调软件开发的工程性,使学生在掌握计算知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识而计算机科学(CS,Computer Science),是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。看上去很绕,我个人理解即研究如何用计算机处理信息和数据。一般来说,基本的编程语言,数据结构与算法,离散数学,OS,计算机网络,数据库等基础课这两个专业都要学。在这些基础课程之上,CS会开设许多理论方向课,除了偏理论的计算理论,程序设计语言理论,编译原理,人工智能,计算机图形学等课程之外,也会开设置Distributed System,ParallelComputing等软件系统拓展课程。但总体而言我们可以发现,CS课程的核心以及主要的研究方向仍然是算法和理论。而软工会开设软件需求分析、软件设计、软件测试、软件维护和软件项目管理等课程以满足学生的工作技能需求,偏向于工程思维的构建,也就是便于学生就业,区别于计科面向科研。值得一提的是,国内CS教学其实更像国外的CE(Computer Engineering)教学模式,主张软件和硬件并重,会教很多电路和Architecture的东西,然后很多人误认为计科和软工的区别在于学不学硬件,这是不对的,我觉得二者的划分其实很直接,顾名思义,一个科学思维,侧重算法和理论,一个工程思维,侧重实践和应用。至于应届生就业,这两个专业没什么区别,一般要收计科的岗位肯定也会收软工,反之亦然,因为这两个专业的基础课程都是一样的,故不存在计科的软件专业性不强这一说。只不过软工确实会多一些就业实训课程,但也不能说计科的就业技能就一定不如软工。二者的区别在于考研,一般而言,计科的课程确实会更适合准备搞学术研究的学生就读。综上,我还是建议你选CS,进可科研,退可就业。毕竟基础打得扎实以后选择面更宽。
- 复制链接
- 举报
