美国CS研究方向全面解读(1)

作者: Trojan     发布时间: 2010-10-03     分类: 经验分享

很多朋友在申请CS专业的时候,面对繁多的研究方向,不知道如何选择。网上虽然有一些文章介绍了CS的主要分支,但都过于简要或者内容过时。在这个系列里,我会对美国学校CS专业的常见方向做一个较为全面的介绍。我在准备这些内容的时候,参考了CS四大(CMU, MIT, Stanford, UC Berkeley)等学校的资料,并在就某些细节与相关领域的研究人员作了探讨。为了方便你深入了解这些方向,我在方向的介绍后也给出了一些课程网址。

本系列要解读以下方向(按英文首字母顺序):

体系结构、编译器和并行计算 Architecture, Compilers and Parallel Computing

系统与网络 Systems and Networking

理论与算法 Theory and Algorithms

人工智能 Artificial Intelligence

编程语言 Programming Languages

数据库与信息系统 Database and Information Systems

图形学与多媒体 Graphics and Multimedia

人机交互 Human-Computer Interaction

科学计算 Scientific Computing

信息安全 Security

软件工程 Software Engineering

生物信息学和计算生物学 Bioinformatics and Computational Biology

计算机教育 Computers and Education

体系结构、编译器和并行计算 Architecture, Compilers and Parallel Computing

体系结构和编译器的研究主要集中在硬件设计,编程语言以及下一代编译器。

并行计算研究的包含范围很广,包括并行计算的计算模型,并行算法,并行编译器设计等。

Course Website

Computer Architecture and Engineering

http://inst.eecs.berkeley.edu/~cs152/sp10/

Advanced Computer Architecture

http://www.ece.cmu.edu/courses/18741

Parallel Computing

http://beowulf.lcs.mit.edu/18.337/index.html

Applications of Parallel Computers

http://www.cs.berkeley.edu/~demmel/cs267/

系统与网络 Systems and Networking

可细分为:

(1)网络与分布式系统(Networking and distributed systems):移动通信系统,无线网络协议(wireless protocols),Ad-hoc网络,服务质量管理(Quality of Service  management,QoS),多媒体网络,计算机对等联网(peer-to-peer networking, P2P),路由,网络模拟,主动队列管理(active queue management, AQM)和传感器网络(sensor networks)。

(2)操作系统(Operating system):分布式资源管理,普适计算(ubiquitous computing/pervasive computing)环境管理,反射中间件(reflective middleware),中间件元级操作系统(middleware “meta-operating systems”),面向对象操作系统设计,允许单个用户与多计算机、对等操作系统服务交互的用户设计,上下文敏感的分布式文件系统,数据中心的电源管理,文件/存储系统,自主计算(autonomic computing),软件健壮性的系统支持以及数据库的系统支持。

(3)安全(Security): 隐私,普适计算,无线传感器(wireless sensors),移动式和嵌入式计算机,规范,认证,验证策略,QoS保证和拒绝服务保护,下一代电话通讯,操作系统虚拟化和认证,关键基础设施系统,例如SCADA控制系统和医疗,消息系统,安全网关,可用性安全。

(4)实时和嵌入式系统(Real-time and embedded systems):开放式实时系统,Qos驱动的实时调度和通信协议,控制设计和实时调度整合,实时、容错和安全协议整合,网络化器件和智能空间的鲁棒动态实时构架。

Course Website

Computer Networks

http://bnrg.eecs.berkeley.edu/~randy/Courses/CS268.F09/

Operating Systems and Systems Programming

http://inst.eecs.berkeley.edu/~cs162/sp06/

Operating System Design and Implementation

http://www.cs.cmu.edu/~410/

Embedded System Engineering

http://www.ece.cmu.edu/~ece348/

理论与算法 Theory and Algorithms

计算机理论研究主要集中在算法和数据结构的设计与分析,以及计算复杂性的研究。具体包括最优化(optimization),计算几何和拓扑(computational geometry and topology),近似算法(approximation algorithms),密码(cryptography)和安全计算(secure computation),网络设计(network design),数据挖掘(data mining),机器学习(machine learning),有限元网格生成(finite-element mesh generation)和自动化软件验证(automatic software verification)。

Course Website

Advanced Algorithms

http://courses.csail.mit.edu/6.854/current/

Efficient Algorithms and Intractable Problems

http://inst.eecs.berkeley.edu/~cs170/sp09/

Advanced Approximation Algorithms

http://www.cs.cmu.edu/~anupamg/adv-approx/

Convex Optimization

http://www.stanford.edu/class/ee364a/

人工智能 Artificial Intelligence

这个领域包含广泛的研究课题,包括知识表示,机器学习,计算机视觉,推理和机器人等。

知识表示(knowledge representation):把知识按照一种有利于推理(得出结论)的方式表示出来。

机器学习(machine learning):自动学习如何识别复杂模式并基于数据作出智能决策。

计算机视觉(computer vision):使机器自动从图像和视频中提取信息并理解其中包含的视觉概念。

推理(reasoning):学习推理的计算模型。

机器人(robotics):工程学和机器人技术,以及它们的设计,制造,应用和结构配置。

Course Website

Machine Learning

http://www.stanford.edu/class/cs229/

Computer Vision

http://www.andrew.cmu.edu/course/16-720/

Knowledge Representation and Reasoning

http://www.cs.berkeley.edu/~russell/classes/cs289/f04/

Artificial Intelligence

http://inst.eecs.berkeley.edu/~cs188

Introduction to Robotics

http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/16311/www/current/