关于CS和CE的不同
CS和CE这两个项目非常相似,两个项目都学习编程和软件开发的基础学科,两者之间最基本的区别可以归结为理科(science)和工科(engineering)的区别。science的意思是知识或学问,它是来自拉丁单词“to know”,engineering则是来自拉丁单词“to contrive”。因此从操作层面来看两者的区别是CE的学生拥有对电路、电子学和VLSI设计的非常深厚的认知,而这些都是现代计算机实际结构中至关重要的;CS的学生学习的是代数、计算和编程语言,这些构成了高级程序设计和计算的基础。但是这样的描述事实还是不够准确,因为比如SE(Software Engineering )分支有时候会放在CE下,有时候又会放在CS下,这也要具体情况具体分析,具体学校具体对待。从物理层面来区分:EE研究的内容基本都是搞硬件的,电路这些,CS纯搞软件的,甚至有些偏研究型的,而CE位于两者之间,软硬都有。真正来说,CE更偏向于EE,因此很多学校都是把CE作为一个小分支方向放于EE大专业下,设置为ECE系,比如说U Washington Seattle,UC San Diego,Penn State等。
我们可以这样来理解:广义的CE就是应用性的computer相关的,CS会更理论一些。这也就是为什么SE是软件相关,可是却会放在CE下的原因,SE是用工程的思维去开发一个软件项目的方式方法的学习。另外一方面,有一些狭义的划分,SE又会放在CS下,这样的划分就是按照软硬的划分了,CS是软,CE是硬。但是核心都是computer。因为每个学校都有自己的划分方式,所以没有统一的标准。同时,软硬现在已经你中有我,我中有你了。比如说,CPU里是有指令集的,离开了指令集,CPU也没有办法工作。而先进的软件都会针对硬件进行优化,没有足够的优化,就会出现多年前经常会出现的兼容问题了。这是两者之间的区别。
CE主要的研究方向包含:计算机系统、计算机体系结构、分发和并行系统,并行处理,并行算法,计算机网络、硬件软件交互、集成电路设计、嵌入式系统、数值分析、系统仿真、机器人技术、神经网络、交换网络和大型系统等。
所以大家在申请之前一定要清楚自己具体是想申什么专业,一定要注意这两个专业的不同。