三人行,必有申CS的!2222
美国留学关键信息
| 项目 | 信息 |
|---|---|
| 意向国家 | 美国 |
| 学历层次 | 本科 |
| 文章类型 | 留学攻略 |
| 发布时间 | 2021-10-02 18:04:40 |
| 作者 | 张慈(金吉列认证顾问) |


| 项目 | 信息 |
|---|---|
| 意向国家 | 美国 |
| 学历层次 | 本科 |
| 文章类型 | 留学攻略 |
| 发布时间 | 2021-10-02 18:04:40 |
| 作者 | 张慈(金吉列认证顾问) |
cs专业
随着以alphago为代表的人工智能开始走近人们的日常生活,再叫上程序猿们令人无法不心动的超高待遇,cs当之无愧成为了现如今最炙手可热的专业,没有之一。在某些论坛上,劝人报考cs、转cs已经成为了热心群众的日常。而出国读cs的浪潮,更是一年比一年火热。这两年接触到很多学生:学ee的、学数学的、甚至学生物的都相继转了cs。确实,cs良好的就业出路、不算很高的学习门槛,都让它成为了这个年代学生们的一个好选择。而以美国为代表的国外优秀的cs学习环境和就业环境,也吸引着万千学子申请国外的cs项目。
然而,在选择cs之前,你确定自己真的了解,真的适合以及真的喜欢这个专业吗?在你决定出国继续学习cs之前,你知道cs都有哪些研究方向吗?你知道cs都有哪些好学校或者性价比高的学校吗?
cs是什么,要学什么
维基百科里是这么介绍computer science的:
computer science is the study of the theory, experimentation, and engineering that form the basis for the design and use of computers. it is the scientific and practical approach to computation and its applications and the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures ﹙or algorithms﹚ that underlie the acquisition, representation, processing, storage, communication of, and access to, information.
可以看出,计算机科学是一门软硬件结合、理论与实践结合的科学。国内许多重点大学本科计算机专业的官方名称为“计算机科学与技术”,这也说明cs既包含理论研究,也包含实践应用。
那么计算机专业的主要课程都有哪些呢?
以某985学校为例,在本科期间需要学习的基础数学课程有:高等数学、线性代数、概率统计、离散数学;专业必修课程有:计算机科学技术基础、c语言程序设计 (及实验课) 、c++语言程序设计 (及实验课) 、数字逻辑 (及实验课) 、数据结构与算法分析 (及实验课) 、汇编语言程序设计 (及实验课) 、java程序设计、操作系统原理 (及实验课) 、计算机组成原理 (及实验课) 、计算机网络 (及实验课) 、数据库系统 (及实验课) 、软件工程 (及实验课) 、编译原理 (及实验课) ,以及一些开发实践实习的课程。
从课程安排和学习中,可以看出cs专业要求学生能够理解计算机系统的运行原理,了解计算机软硬件的组成构造,明白高级语言与低级语言乃至机器语言之间的关系,和高级语言被计算机编译理解的过程,掌握基本的程序设计和软件开发技术,能够深入理解计算机操作系统、计算机网络及数据库技术等。cs专业的同学一般应该具有较强的逻辑思维能力、动手能力和创造能力。
大体上cs的研究与申请可以分为如下几个方向:
1. artificial intelligence and robotics(人工智能与机器人)
ai是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。主要包括机器意识 (包括机器学习,知识表达与推论,机器人) ,动态系统模拟,动力学计算,触觉控制,自然语言习得与处理,计算语言学,统计语言技术,自动推理,图形图像,人机交互,成像感知与传感器,概率推论,神经估算,计算机视觉,视觉场景认知,模式识别,人工免疫,神经网络,遗传算法,小波分析,信息系统以及计划,信息提取,制造和控制理论等。ai方向的顶级会议有aaai、ijcai等。robotics方向的顶级会议有icra、iros、rss等。
ai是如今最热门的方向,下面又包含很多细的分支,在申请phd项目的时候经常是细分到这些小分支的:
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。ml方向的顶级会议有icml、nips等。近几年机器学习的热度一直居高不下,尤其是deep learning (深度学习) ,已经被应用于许多其他分支和领域。ml的研究和本科的机器学习课程作业可大不相同,不是“调包”,而是“创造包”,需要比较强的数学能力 (机器学习和统计有密切的关系) 。目前国内外对ml人才的需求和待遇依然很高,不过随着大量的人涌入这一领域,就业形势不一定会一直好下去。而且随着这个学科的发展和自我完善,市场的需求也会变化。但是毫无疑问,顶尖的ml科研人才依然会非常抢手。
计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等,并进一步做图像处理,成为更适合人眼观察或传送给仪器检测的图像。比较经典的计算机视觉应用包括识别 (如在巨大的图像集合或视频中寻找包含指定内容的所有图片或视频片段) 、运动 (图像跟踪:跟踪运动的物体) 、场景重建以及图像恢复等等。cv方向的顶会有cvpr、eccv、iccv等。cv后来居上,目前也是最热门的方向之一,未来的发展前景可期,所以在今年的申请中,cv已经成为了cs申请竞争最激烈的战场。所以如果你想申请cv方向,最好在本科就已经有了cv相关的科研经验。
数据挖掘是一个新兴的方向,是人工智能技术和数据库技术的交叉。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统 (依靠过去的经验法则) 和模式识别等诸多方法来实现上述目标。数据挖掘的顶会有kdd等。有一些学校会在研究领域中单独把dm列出来,有些学校则会将其与大数据、数据库或机器学习合并。数据挖掘更像是运用人工智能技术,解决从海量数据中发现知识的问题,比如社交网络中的关系发现、智能推荐等等。喜欢解决实际问题的同学可以考虑这一方向。
自然语言处理研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。nlp方向的顶会有acl、naacl、emnlp等。nlp也是今年来发展迅猛的一个有意思的方向,一些学校的nlp招生会面向计算机和语言学两个专业背景的学生,足见nlp是语言学和计算机的交叉结合。nlp方向的申请没有ml、cv那么火热,但是应用场景多,发展前景广阔,也是一个很不错的选择。
信息检索广义上是信息存储与检索,是指按照一定的方式组织和存储起来,并能根据用户的需求要找出其中相关信息的过程。信息检索是一个跨学科的领域,它对应于从信息源集合中找到满足信息需求的相关信息单元的过程。数据通常是文本的,尽管越来越多地使用web作为数据仓库,已经导致包括多媒体数据,如图像、视频和声音,其中精确匹配被相似性搜索代替。web & ir方向的顶会有sigir、www等。这个方向的申请相对没有那么热门,有时会和geographic information system ﹙地理信息系统gis﹚ 被划分到一起。但是好像美国国内的学生比较喜欢信息技术这个方向,对转专业的同学来说门槛也相对较低。
2. system and network(计算机系统与网络)
其实计算机系统是一个很大的分支,内容包括os (操作系统) 、architecture (体系结构) 、network (网络) 等等。系统研究的目标是开发使软件能够在硬件上高效和可移植地运行的关键抽象和服务,为其他软件的研究提供基础。计算机网络是利用通信设备和线路将地理位置不同的、功能独立的多个计算机系统连接起来,以功能完善的网络软件实现网络的硬件、软件及资源共享和信息传递的系统。简单的说即连接两台或多台计算机进行通信的系统。architecture方向的顶会有asplos、isca、micro等。network方向的顶会有sigcomm、nsdi等。os方向的顶会有osdi、sosp等。系统与网络是cs下的一个非常老牌的方向,一般的cs系都会开设这个或类似的研究方向。对口的职业包括系统管理员,系统工程师,网络工程师等。与ai等方向相比,更加偏向硬件,出成果的周期也相对较长,所以申请的热度不太高。
3. algorithms and theory(算法与理论)
广义上面的算法是指为解决一个问题而采取的方法和步骤,而cs下的算法则是指计算机为了解决某一个问题或者完成某一个任务的一系列清晰的指令。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。现代的算法理论主要的研究目的在于如何开发出更加效率的算法,研究相关的算法的设计方法与实现技术。计算机理论,顾名思义,是为计算机科学的发展与研究提供理论基础的一门学科。这个课程的学习涉及到cs的核心课题,归纳起来涵盖了可计算性、文法与自动机、逻辑学、复杂性及语义学等5个部分,涉及到可计算性理论、形式语言、逻辑学与自动演绎、可计算复杂性和编程语言的语义等内容,并学习和研究这些内容之间的联系。algorithms and theory方向的顶会有focs、soda、stoc等。可能是因为对数学的要求比较高,cs出身申请这个方向的人似乎不太多,但是我知道的数学专业转cs的童鞋很多都申请theory (所以我这种数学渣就望而却步了) 。
4. privacy and security(计算机隐私与安全)
计算机安全主要是保护计算机与网络免于滥用和干扰。从过去的历史看来,计算机攻击一般来说包含了攻击系统的完整性,保密性与可用性。而如今的信息安全技术一直在发展中,不单包含了对上述攻击的防御,同时也增加了更多的应用,如垃圾邮件,以及防止身份盗用而导致的信息泄露等。cryptography (密码学) 方向的顶会有crypto、eurocrypt等。security方向的顶会有ccs、ieee s&p、usenix security等。
5. database(数据库)
数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库的研究涉及与数据管理相关的所有方面,包括数据存储,数据检索,数据分析和视觉化,如为超大型数据组开发高效算法,为各种新型的应用领域建立大型的数据系统,也有与其他领域进行跨学科的研究,可应用的领域有电脑游戏设计,数据隐私与安全等。database方向的顶会有sigmod、vldb等。
6. computer graphics(计算机图形学)
计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。 如何在计算机中表示图形,以及如何利用计算机进行图形的生成、处理和显示的相关原理与算法,构成了计算机图形学的主要学习内容。图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。从处理技术上来看,图形主要分为两类,一类是由线条组成的图形,如工程图、等高线地图、曲面的线框图等,另一类是类似于照片的明暗图 (shading) ,也就是通常所说的真实感图形。graphics方向的顶会有siggraph等。对数学能力的要求很高,不喜欢数学的同学要慎重哦。
7. software engineering(软件工程)
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程的关注点是如何为用户创造价值。在学习内容方面它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。se方向的顶会有fse、icse等。
8. programming language(编程语言)
包括开发新型编程语言以助程序员实用高效地开发可靠的软件,计算机辅助语言学习,计算语言学,从初阶的打字理论,自动定理证明,语义学等发展到如今的基于语言的途径以解决计算机安全与分布式编程中的重大问题,语言应用,编程分析与优化等,可以从根本上提高软件可靠性与安全性。pl方向的顶会有pldi、popl等。
9. bioinformatics and computational biology(生物信息学与计算生物学)
人类基因工程的完成对现代生物学中的新型计算和理论工具提出了新的要求。这些计算和理论工具对于分析,理解和控制生命的具体信息都是至关重要的。生物信息学与计算生物学在此历史背景下应运而生。此方向属新兴的研究,主要是利用应用数学,信息学,统计学与计算机科学的方法来研究生物学的问题,因此也需要从事此方向学习和研究的学生有较强的数学和统计背景。目前来说研究方法包括对生物学数据的搜索 (收集和筛选) ,处理 (编辑,整理,管理和显示) 及利用 (计算和模拟) 。此方向的顶会有ismb、recomb等。这也是一个新兴的方向,不过对学生有比较高的要求,最好有计算机和生物的双重背景,研究经历也非常重要。
10. human computer interaction(人机交互)
人机交互是一门研究人、计算机以及它们之间的相互影响的学科。人机交互技术是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。人机交互技术是计算机用户界面设计中的重要内容之一。它与认知学、人机工程学、心理学等学科领域有密切的联系。hci方向的顶会有chi、ubicomp/pervasive/imwut、uist等。
11. high performance and scientific computing(高性能和科学计算)
高性能计算指通常使用很多处理器 (作为单个机器的一部分) 或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算系统和环境,来解决主要的科学和工程问题。科学计算,又称为计算科学,它的主要学习内容和研究领域是利用数学模型的构造以及数量分析的技术,通过计算机来分析和解决科学问题。在实际的应用中,科学计算经常用于计算机仿真以及其它各种问题的数学计算,包括数值模拟、模型拟合与数据分析以及最优化计算等等。数值分析,是科学计算专业方向中所会应用到的核心方法。hpc方向的顶会有hpdc、ics、sc等。
以上列出的是cs申请中经常出现的和比较热门的方向,其实除此之外还有若干有趣的方向,如visualization (可视化) 、virtual reality (虚拟现实) 、multimedia (多媒体) 、mobile computing (移动计算) 、distributed computing (分布式计算) 、management information system (这个之前也发过专栏的,感兴趣的可以去看) 、quantum computing (量子计算) 等等。当有的学校有这些方向的专家时或者是在这个交叉方向的交叉学科比较强的时候,也会单独开出这些方向供大家选择。
需要注意的是,申请人少的方向不一定就比竞争激烈的方向容易申,因为学校的招生人数也是有配比的,比如这个学校ai方向的老师非常多,所以ai方向的招生人数也会比其他冷门方向多很多。所以还需要分析学校的招生情况 (可以看各方向的教授、学生人数和背景) ,来决定自己到底主申哪些学校和方向,一些招国际学生非常少的方向需要慎重考虑。
美国留学申请一般需要提供GPA成绩(建议3.0以上)、托福/雅思成绩、GRE/GMAT成绩(研究生)、推荐信、个人陈述等材料。具体要求因学校和专业而异。
美国留学费用因学校和地区不同差异较大,本科年均费用约25-50万人民币(含学费和生活费),研究生约20-45万人民币。公立大学相对便宜,私立大学费用较高。
美国留学需要申请F-1签证,流程包括:获得学校I-20表格、缴纳SEVIS费用、在线填写DS-160表格、预约面签、参加签证面试。建议提前3-4个月准备。
信息提交成功!稍后将有专人与您联系。