美国研究生计算机科学专业介绍
分类:专家指南2019-09-21
计算机科学,(Computer Science,缩写CS),研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。
1.2 学位介绍
美国CS研究生常见学位如下:
|
学位 |
Master of Science |
Master of Engineering Master of CS Professional Master |
Doctor of Philosophy |
|
培养 目标 |
· 学术/职业导向硕士 · 有部分院校的MS没有research部分,比如CMU MSCS。 |
· 职业导向 · 不包含research部分,都是应用性的课程。 |
· 学术研究导向 · 培养研究型人才 · 大都走向科研岗位,无论是任教还是在科研机构,都是基础研发的核心人员 |
|
时间 |
1-2年 |
1-1.5年 |
5年 |
|
申请 要点 |
· 看重申请者的科研能力 · 很看重GPA,冲刺名校要有科研/实践/比赛。
|
· 申请难度较另外两个学位较低 · 看重GPA |
· 相关研究领域的经验 · 本科毕业的申请者相对要求就会偏高。难度比较大! · 一定要有论文发表,以及至少2段半年以上的科研项目。 |
上表中的学位名称以及学习内容为一般情况,美国开设CS的院校众多,各院校的课程设置情况不尽一致,请具体参考院校官网。
下文中将详细分析CS硕士。
1.3 美国高校常见CS分支——参考CS Ranking
1.4 美国高校常见CS分支——热门分支详解
|
分支 |
人工智能 (AI) |
数据挖掘/数据科学 (Data Mining/Data Science) |
|
简介 |
人工智能里面涵盖了计算机专业的很多小方向。比如机器学习,计算机语言,图像处理,语音识别,机器人,人机交互等等 |
大数据的分析和整理,从而得出具有指导意义的信息,比如说沃尔玛超市啤酒和纸尿布的经典案例。随着近年来电商的大规模兴起,这个方向已经成为申请者炙手可热的专业方向了。 |
|
背景偏好 |
学术背景有着较高的要求,并更看重申请者在数学和算法方面的背景 |
较强的数学,统计(如有更好)背景 |
|
代表院校 |
单独开设AI的院校不多。一般是博士才会涉及AI的具体科研项目,硕士主要是修读相关课程。 USNEWS中排名靠前的有Stanford,CMU,MIT, Uwashington,GeTech,UIUC等 |
独立项目与非独立项目都比较多。具体请参考data science专业分析 |
|
分支 |
软件工程 (Software Engineering) |
机器人(Robotics) |
|
简介 |
· 软件开发,设计,维护等。 · 向来国际生的热门选择。 · 各行各业都需要该领域的人才。 |
交叉学科,涉及到cs,数学,物理,生物,EE,和ME等学科 |
|
背景偏好 |
较强的编程能力 |
建议先修课: Mathematics: calculus, linear algebra, numerical analysis, probability and statistics Computer Science: programming, data structures, algorithms Physics and Engineering: mechanics, dynamics, electricity and magnetism, optics |
|
代表院校 |
CMU, UCI, NCSU, USC等
|
CMU, MIT, UPENN, UCB, USC,Minnesota,Washington,UIUC等 |
|
分支 |
人机交互(HCI) |
计算机生物/生物信息 Computational Biology/Bioinformatics |
|
简介 |
· 交叉学科 · 研究系统与用户之间的交互关系 · 系统可以是各种各样的机器,也可以是计算机化的系统和软件。 · 人机交互界面通常是指用户可见的部分。 · 应用领域有用户界面(UI),可穿戴计算机设备,虚拟现实,聊天机器人等 |
· 生物和cs的交叉学科 · CS,数学和统计学在探索生物学和生物医学问题 |
|
背景偏好 |
CS, 设计,心理学 |
建议选修课: 1) Cell & Molecular Biology 2) Computer programming 3) Linear algebra 4) Probability theory |
|
代表院校 |
CMU, UWashington,GaTech,Cornell,UCI等 |
CMU, UCLA, UCB,MIT.DUKE,UCSD,PRINCETON等 |
2.1 专业背景
CS 专业因为就业前景好,申请人数较多,因此竞争在美国理工科申请中,也比较激烈。2019申请季尤其激烈。GRE、托福成绩在达到学校的要求的基础上尽量争取高分。GPA 最低要求一般在 3.0,但是要拿到录取尤其是好学校的录取,建议3.6+,因为GPA在理工科的申请中是个非常重要的因素。如果本科是 CS 或相关专业,如信息工程等,申请CS会比较有优势。除了理论知识的积累的和学习,CS 专业的申请同时最好也要具备相应的实习,科研经历,这会是很大的加分项。尤其某些同学定位在非CS general 方向,而是要走某一个细分,比如计算机视觉等,还需要针此细分方向进行对应的背景积累,包括学校或个人的科研项目,工业界实习,学术交换项目,国际专业会议等等。
2018和2019三维成绩对比:
|
院校类别 |
GPA |
TOEFL |
GRE |
|
TOP10 |
3.71/3.75 |
105/106 |
325/326 |
|
TOP30 |
3.58/3.68 |
101/103 |
322/324 |
|
TOP50 |
3.51/3.57 |
100/102 |
321/323 |
2.2 先修课
鉴于计算机专业可以说是国际学生最容易在美国就业的专业,吸引越来越多其它专业的学生也会想要转计算机专业。总体而言难度存在但是并非不可能。
首先,理工科的转专业需要完成先修课程的准备,针对计算机专业而言,不需要了解复杂的数据结构,“只要了解LIST, ARRAY, TREE等基本知识就可以,同时学习些Object-Oriented Programming,所以基本入门课程包括数据结构,计算机组成原理,C++/Java等。建议去各大学校官网了解相关的课本列表,出现次数最多的就是比较推荐的。在此基础上可以根据自己的能力和情况补充其它的相关课程,比如networks(Computer Networks by Andrew Tanenbaum), operating systems(Operating Systems by Andrew Tanenbaum), database(Stanford 的经典教材A First Course in Database System)4, Software Engineering等,整体的计算机专业知识结构就相对比较不错了。”
总结如下:
|
课程大类 |
课程名 |
|
数学课程 |
微积分 概论与统计 离散数学 线性代数 |
|
一门计算机基础课程 |
计算机组成原理or计算机体系结构 |
|
一门算法课程 |
数据结构和算法 |
|
一门高级语言 |
C++ or Java |
以上先修课比较基础,如果学生想进一步提升竞争力或者申请cs其他分支,建议多修:
· 计算机网络
· 数据库
· 操作系统
· 软件工程
· 人工智能
· 机器学习
· 计算机图形学
· 人机交互
· 编译原理
· 其他CS高级课程
注意事项:
1. 可以通过二学位,辅修学位,美国暑校,修网课等方式弥补。常用网站:coursera,Edx,MOOC, Udacity等。
2. 国内的课程与课程内容与国外不尽一致,有部分可能可能涵盖以下课程内容,比如高等数学涵盖微积分和线性代数,计算机入门涵盖计算机基础,数据结构和算法使用JAVA等,建议老师们与学生进行讨论后给出选课建议。
CS 入门必须课程资源推荐:
· An Introduction to Interactive Programming in Python - Rice, Coursera
· Introduction to Databases - Stanford, Stanford Online
· Introduction to Computer Science and Programming Using Python - MIT, edX
· Object-Oriented Programming and Data Structures (e.g., CS 2110) - Cornell
· CS161 Design and Analysis of Algorithms-Stanford
· Data Structures and Functional Programming (e.g., CS 3110) – Cornell
CS 提高进修课程资源推荐:
· Machine Learning - Stanford, Coursera
· Statistical Learning - Stanford, Stanford Online
· Introduction to Computational Thinking and Data Science - MIT, edX
· Functional Programming in Scala - EPFL, Coursera
· Mining the Massive Datasets - Stanford, Coursera
· Artificial Intelligence - UC Berkeley, edX
Stanford Specialization (系列课程):
· Artificial Intelligence
· Biocomputation
· Computer and Network Security
· Database Systems
· Human-Computer Interaction
· Numerical Analysis/Scientific Computation
· Real-World Computing
· Software Theory
· Systems
· Theoretical Computer
· Computer System Organization and Programming (e.g., CS 3410) – Cornell
· Discrete Structures (e.g., CS 2800) – Cornell
· Basic Calculus and Linear Algebra – Cornell
2.3 科研以及活动
校内科研: 建议学生在校期间,课上积极表现,争取跟导师做科研,或者参与校级以上比赛。
专业比赛: 大学生数据建模竞赛(国内和美赛),全国大学生数学竞赛,ACM国际大学生程序设计竞赛,中国及机器人大赛,全国大学生机器人大赛,天池大数据竞赛等等。
校外科研:中科院各大研究所,微软亚洲研究院,知名互联网公司如腾讯AI实验室,Alibaba达摩院,Baidu深度学习研究院等等,每年都开放申请,可随时关注。
