薪资高就业快!钱景大好的CS专业牛校全方位解读(上)
而且,根据CareerCast.com的一项最新研究表示:
数据科学家和软件工程师等计算机领域的工作在未来七年中增长潜力最大,同时,医疗保健等职业是另一个主要增长领域。
美国的CS专业向来是竞争最为激烈的专业,今天就为大家详细介绍一下计算机科学专业。
CS专业学什么?有哪些分支?
CS,即Computer Science,计算机科学专业。
一旦决定了申请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 and Network)
· 人工智能与机器人 (Artificia Inteigence and Robotics)
· 计算机隐私与安全 (Privacy and Security)
· 编程语言 (Programming Anguage)
· 数据库 (Database)
· 计算机图形学 (Computer Graphics)
· 生物信息学与计算生物学 (Bioinformatics and Computationa Bioogy)
· 算法 (Algorithm)
· 计算机理论 (Computer Theory)
· 科学计算 (Scientific Computing)
· 软件工程 (Software Engineering)
· 计算机视觉 (Computer Vision)
· 计算机体系结构 (Computer Architecture)
· 人机交互 (Human Computer Interaction)
具体分支和国内学生的申请热度如下:
Theoretical CS |
分支方向 |
申请热度 |
计算理论(Theory of Computing) |
★☆☆☆☆ |
|
算法与数据结构 (Algorithms and Data Structures) |
★★☆☆☆ |
|
程序语言 (Programming Languages) |
★★★★☆ |
|
Applied CS |
人工智能 (Artificial Intelligence) |
★★★★★ |
计算机体系结构 (Computer Architecture) |
★★☆☆☆ |
|
计算机图形学与可视化 ( Computer Graphics and Visualization ) |
★★★☆☆ |
|
计算机安全与密码学(Computer Security and Cryptography) |
★☆☆☆☆ |
|
科学计算(Computational Science) |
★☆☆☆☆ |
|
计算机系统与计算机网络(Computer Systems & Networks ) |
★★★★☆ |
|
数据库(Databases) |
★★★★☆ |
|
软件工程(Software Engineering) |
★★★★★ |
计算机科学专业学校介绍
卡耐基梅隆大学
对于一般的美国院校来说,计算机科学只是设置为一个系,即Department of Computer Science,经常是从属于工程学院。然而CMU对CS的建设非常有诚意,直接就开设成为了一个院,School of Computer Science。
下属有Computer Science Department、Robotics Institute、Institute for Software Research、Human-computer Interaction Institute、Language Technology Institute、Machine Learning Department、Lane Center for Computational Biology七大研究和教学机构。
基于研究人员的庞大,CMU涵盖了计算机科学的所有研究方向,不单细致地做每一个研究方向,并且将这些研究方向的应用也有较为深入的研究。
主校区位于宾州匹兹堡,由匹兹堡国际机场约40分钟车程即可抵达。邻近美丽的市立公园以及住宅区,距匹兹堡市中心仅3英里,与匹兹堡大学相邻。
匹兹堡曾经是世界钢都,现在适应了过往繁荣钢铁业的衰退,经济主体已经转向了高科技产业,如机器人、卫生保健、核能工程、生物医学科技与金融服务等。CS毕业生在当地有很广泛的就业市场。
麻省理工学院
MIT的Electrical Engineering & Computer Science(EECS)是多数该领域人士梦寐以求的地方,EECS院系是MIT的工程学院里最大的院系,拥有大概700多名博士学生。它下面设有四个学位:
· Master of Science为博士学位之必须阶段,但是学校并不提供最终学位为硕士的学位;
· Master of Engineering,仅仅EE,CS自己的本科生可以申请;
· Electrical Engineer and Engineer in Computer Science;
· Doctor of Philosophy and Doctor of Science;
要注意的是MIT的EE,CS在录取学生的时候,是直接录入到PhD的,学校没有硕士的录取。于是申请难度就是PhD的申请难度,更别提这所学校在该领域的无人不知无人不晓的深厚的造诣所导致的申请难如登天了。必须拥有非常深厚的研究潜力和功力方有一丝希望。
斯坦福大学
斯坦福大学的MS Program in Computer Science是非常灵活的,学校没有固定的课程要求,学生可以与导师沟通后自行设计自己的学习课程,因此学生可以自由选择自己想专攻的方向,例如网络、机器学习或算法,甚至可以选择不专攻任何方向。
当然,这并不意味着学生在自己创造他们想专攻的领域时没有要求,学校也设定了一些要求,比如要满足成绩的要求、理论基础、人工智能的要求、选修课的要求等。所以自由是设定了条件的自由,这种方式会更适合对自身的研究方向和学习方向有着明确的目标,或者对于自己有着明确规划的学生,并不是特别适合对自己的兴趣爱好和未来定位完全没有概念的学生。学生可以从以下10大分支方向中选择自己的专攻方向:
· Artificial Intelligence 人工智能
· Biocomputation 生物计算机
· HCI 人机交互
· Mobile and Internet Computing 移动与互联网
· Information Management and Analytics 信息管理和分析
· Real World Computing 真实世界计算
· Security 安全
· Software Theory 软件理论
· Systems 系统
· Theory 理论
为了让学生更快地进入到学习和研究的状态,许多学生也需要选修额外的先行课程,比如多数学生就要学习Introduction to Computer Systems(计算机系统入门),学生们可以在入学前的暑假通过远程在网络上自己学习,相信这对即将入学者是有利无害的。
由于该校地处硅谷,所以历来被认为是最注重理论联系实际的典范,也由于其地理位置和其优秀的学术背景,申请竞争相当激烈。
在本科的学科背景要求方面,学校并不要求必须是CS专业才能申请,但是却要求学生必须有非常强的定量分析能力。硬件中的托福和GRE的要求也是相当高,托福要求113分,GRE则要求占到90%的比例。
在2017年PayScale美国大学专业毕业薪资排名上,我们可以看到,虽然CS专业位列第8,但其毕业初期的薪水就高达8W+美元,是当之无愧的高薪职业。