一旦决定了申请Computer Science(CS),我们要做的第一步可能是去打开一个美国大学的网站(当然除了从一开始就决定找个留学机构来帮忙,自己乐得轻松的甩手掌柜类型的申请者),打开了大学的网站后,产生的第一个困惑就是Computer Engineering(CE)还是Computer Science?两者的区别是什么?因为我们很快就会发现很多美国学校的EE和CS/CE是合并在一起的,所以研究方向的跨学科性非常强,无法简单地归类为是属于计算机还是属于电子的范畴。CS和CE这两个项目非常相似,两个项目都学习编程和软件开发的基础学科,两者之间最基本的区别可以归结为理科(science)和工科(engineering)的区别。science的意思是知识或学问,它是来自拉丁单词“to know”,engineering则是来自拉丁单词“to contrive”。因此从操作层面来看两者的区别是CE的学生拥有对电路、电子学和VLSI设计的非常深厚的认知,而这些都是现代计算机实际结构中至关重要的;CS的学生学习的是代数、计算和编程语言,这些构成了高级程序设计和计算的基础。但是这样的描述事实还是不够准确,因为比如SE(Software Engineering )分支有时候会放在CE下,有时候又会放在CS下,这也要具体情况具体分析,具体学校具体对待。我们可以这样来理解:广义的CE就是应用性的computer 相关的,CS会更理论一些。这也就是为什么SE(软件工程)是软件相关,可是却会放在CE(计算机工程)下的原因,SE是用工程的思维去开发一个软件项目的方式方法的学习。另外一方面,有一些狭义的划分,SE又会放在CS下,这样的划分就是按照软硬的划分了,CS是软,CE是硬。但是核心都是computer。因为每个学校都有自己的划分方式,所以没有统一的标准。同时,软硬现在已经你中有我,我中有你了。比如说,CPU里是有指令集的,离开了指令集,CPU也没有办法工作。而先进的软件都会针对硬件进行优化,没有足够的优化,就会出现多年前经常会出现的兼容问题了。这是两者之间的区别。CS在计算机系统和软件的理论和设计,以及重要的应用领域培养学生。CS主要的研究领域和学习领域包括14个主要方向:系统与网络(System an Network)人工智能与机器人(Artificia Inteigence an Robotics)
计算机隐私与安全(Privacy an Security)编程语言(Programming anguage)数据库(Database)计算机图形学(Computer Graphics)生物信息学与计算生物学(Bioinformatics an Computationa Bioogy),算法(Agorithm)计算机理论(Computer Theory)科学计算(Scientific Computing)软件工程(Software Engineering)计算机视觉(Computer Vision)计算机体系结构(Computer Architecture)人机交互(Human Computer Interaction)
【微语】在外留学是人生的重要转折点,愿你在这段时光里收获满满,快乐无限!