计算机科学、计算机工程&软件工程computer Science

Computer Engineering

Software Engineering

区别是什么?该如何选择?

CS CE SE 前言

近几年计算机行业发展迅猛,毕业生薪资不断刷新记录,也使计算机专业变成国内外最炽手可热的一个专业选择。很多学生选择计算机行业是冲着这个行业的未来发展和高薪,但是计算机行业的不同工种有着不一样的工作内容,相对应的本科计算机专业也有不同的学习内容和要求,为了能更好地结合自己的专业特长和未来职业发展愿景,选对本科专业是非常重要的。而计算机专业的申请是非常高难度的,我们也建议学生一定要尽早了解不同的计算机专业的学习内容,从而尽早确定适合自己发展的计算机专业,尽早根据专业要求做好相应的规划准备。

今天,我们就来介绍下,当下最热门的计算机专业:计算机科学-Computer Science, 计算机工程-Computer Engineering, 软件工程-Software Engineering

01 计算机科学

· 什么是计算机科学?

计算机科学(computer science,缩写CS)是系统性研究信息与计算的理论基础,以及它们在计算机系统中如何实现与应用的学科。计算机科学主要研究的部分是计算机系统,研究的是整个系统和程序通过什么样的技术,能够将信息和数据完整的展现出来。

计算机科学包含很多分支领域,有些强调特定结果的计算,有些是探讨计算问题的性质,有些领域专注怎么样实现计算:比如编程语言理论是研究描述计算的方法,而程序设计是应用特定的编程语言解决特定的计算问题,人机交互领域专注于怎么样使计算机和计算变的有用好用以及随时随地为人所用。所以计算机科学的研究内容大体可以分成以下几个大领域:

• 可计算性—— 研究计算机程序能做什么和不能做什么

• 算法和复杂性理论—— 研究如何使程序更高效的执行特定任务

• 数据结构和数据库—— 研究程序如何存取不同类型的数据并整理展示,提高工作效率

• 人工智能—— 研究程序如何显得更具有智慧,提高效率,改进运作方式

• 人机互动—— 研究人类如何与程序沟通,如何与计算机对话

有很多人会误以为计算机科学就是解决计算机问题的事业,比如信息技术,或者只是使用计算机的经验有关。其实计算机科学所关注的,不仅仅是理解实现类似游戏浏览器这些软件和程序的性质,而是如何用新的知识创造新的软件或者改进现有的软件

在北美,大部分计算机专业是位于科学系Faculty of Science旗下的。计算机科学专业比较适合擅长用逻辑和批判性思维来解决问题的学生,计算机科学专业的学生首先要了解编程语言,算法,和操作系统。计算机科学通常需要学习统计学,微积分和高级代数等数学课程,以及涵盖了抽象数据和算法等内容的计算机课程,从而进入高阶的专业课程的学习。需要注意的是,与工科专业不同的是,计算机科学会学习大量理论知识,目的是让学生在了解如何运用所学知识的时候要理解为什么这样做。

02 计算机工程

· 什么是计算机工程?

计算机工程(Computer Engineering, 简称CE),是从计算机的工程设计的角度,研究电路、电子、VLSI设计等等,是一门偏应用的学科,性质是工科。计算机工程是计算机科学和电子工程的交叉学科专业。计算机工程更关注微处理器如何工作、设计以及优化,需要考虑如何在电子元件之间实现有效传输数据;如何设计电子元件的综合系统、如何处理软件内指令以及如何针对特定的硬件平台编写、编译和优化软件。

所以在北美我们可以看到计算机工程CE是开设在工程科系旗下Faculty of Engineering, 性质是工科。很多院校开设的计算机工程专业,其实是和电子电气工程相结合的叫做Electronic and Computer Engineering,ECE。比如加拿的多伦多大学和UBC大学,以及美国的MIT都是这样开设的。在其他有的院校虽然电气工程和计算机工程是分开的,但是计算机工程的学习内容里面还是会包含很多电气工程的基础课程。

与计算机科学不同的是,ECE的学生在大一大二的基础课都是电子电气课程,计算机科学课程,物理课,电子电路等课程,学生可以在高年级的时候再选择不同的侧重分支,比如是侧重在电子电路方面,还是计算机硬件方面,还是研究软件对计算机硬件处理等方面。从这个角度来看,CE也可以看作是计算机科学CS与电子电气工程EE专业的结合。

· 计算机科学和计算机工程的区别?

计算机科学CS更专注在软件层面,计算机工程CE会软件和硬件方面都会涉及还会链接到电气电路方面的内容。

CS会比CE少学一些电子工程方面的课程,而多学一些数学统计和计算机编程等软件方面的课程,CS也会更多学一些理论课程,不仅是知道如何做,而是为什么这样做。

CE的学生拥有对电路、电子学和VLSI设计的非常深厚的认知,而这些都是现代计算机实际结构中至关重要的;CS的学生更多学习的是代数、计算和编程语言,这些构成了程序设计和程序计算的基础。

计算机专业与软件工程哪个更好 计算机科学计算机工程(1)

图片来源 | Thinkful

03 软件工程

· 什么是软件工程?

软件工程(Software Engineering, 简称SE)是一门研究用工程化方法构建和维护有效的,实用的,和高质量的软件的学科。软件工程专业涉及到程序设计语言,数据库,软件开发工具,软件系统评标,软件系统标准,软件系统设计模式等方面。

总的来说,软件工程是“生产一个最终满足需求且达到工程目标的软件产品的过程”。一个软件产品的产生,是需要从前期的设计和分析,到系统的架构,到具体写代码运行,以及进行测试等等。所以一个软件产品有不同的领域的人才来共同完成。所以软件工程师,根据所处领域的不同可以分为:系统分析员,软件设计师,系统架构,程序员,测试员等等人们常常用程序员来广泛指各种软件工程师。

· 计算机科学和软件工程的区别?都会学习软件,那区别是什么?

计算机科学主要从理论和数学的角度研究计算机如何工作。如果你喜欢数学,逻辑学,或者你想进入CS的某个专业领域,例如人工智能,机器学习,计算机网络安全或图形,或者你想以后继续深造,进行更高级别的计算机软件方面的研究,计算机科学的理论和基础训练会更帮助到你。

软件工程研究如何构建软件系统,包括诸如项目管理,质量保证和软件测试等。如果你对实际操作方法更感兴趣,并且想要了解软件构建和维护的整个生命周期以及软件构建的整个设计运行,那软件工程会更加适合你的选择。

计算机科学和软件工程都是学习编程和计算机科学的基础知识,因此如果只是为了成为软件开发员,做程序员,做码农,进入行业工作,那你可以任选其一。

计算机专业与软件工程哪个更好 计算机科学计算机工程(2)

图片来源 | Thinkful

总 结

大家如果对计算机科学,计算机工程,以及软件工程的想要了解更深入,我们非常建议学生们可以到目标大学的网站上去看具体计算机科学,计算机工程,和软件工程专业在大一至大四都有要求什么具体的专业课,从而看到你的目标院校在计算机专业方面的侧重点,是否与你未来的职业目标更相符。

在选择具体的计算机专业的时候,我们建议学生一定要对自己的能力,兴趣,和未来职业发展愿景出发,来找到最适合自己的计算机专业。比如计算机科学会学习很多高等数学,统计,编程,算法等课程, 要求学生需要具备很好的逻辑思维能力和数学能力。计算机工程会学到物理和电子电路等方面的知识,会要求学生除了基本的数学能力以外,物理等科学课程也要有良好基础。而软件工程会在本科期间学到更多软件工程,软件设计,构建,运行等一系列课程,更符合毕业后想做软件工程师的同学们。

所以我们建议大家在选择计算机专业的时候,一定要清晰了解自己擅长什么,未来的目标是想做什么,从而在高中阶段做好相应规划准备!

内容来源:https://www.jingsailian.com/liuxue/82700.html

,