当前位置 博文首页 > Mr.Phoebe的专栏:美国大学计算机专业

    Mr.Phoebe的专栏:美国大学计算机专业

    作者:[db:作者] 时间:2021-07-13 10:14

    博主打算留学,偶尔有一些收集的计算机类的资料会放到这里。

    一. 专业介绍

    计算机科学研究计算机系统以及软件的设计,以及相关理论和应用领域。在该专业,你将学习很多抽象化的概念。因为计算机沟通要求精确性,因此你必须学会使用精确的程序语言。在学习的过程中,你会被要求思考很多的问题,例如,为什么编程语言被设计成现在这样?现实问题如何转化并编译成一个程序,并成功解决该现实问题?当一个程序被执行时,计算机内部是如何运行的?计算机如何构建才能使其功能运转?计算机和程序对于各个领域都有什么影响?

      一些大学注重实用性技术,一些则注重抽象概念和最新技术前沿理论。另外,一些大学要求学生要有很强的数学和逻辑背景。计算机科学是一个很有难度,充满挑战性的行业,学生的项目和作业都需要长时间的消耗,它也是一个年轻的,充满机遇但又对智力要求非常高的领域。如果你痴迷与抽象化思考以及实践性应用,那么计算机科学将很适合你。

      你如果喜欢以下内容:喜欢数学和逻辑性问题并试图用程序来解决这些问题,对于事物工作原理给出精确解释,喜欢机械和电子的小制作;你如果擅长以下内容:倾听,注重细节,创造力,批判性思维,数学,定量分析,长时间的集中注意力。那么你很适合这个专业。

      计算机科学专业的典型课程设置有:数据结构、数学、运算法则、操作系统、软件工程、编程、人工智能。
      计算机科学相关专业有:计算机工程、电子通讯工程、计算数学、认知科学、软件工程、系统工程、机器人技术、信息技术、计算机工程技术、电脑制图

    因为就读此专业的学生并不多,计算机科学专业就业前景极好。高级程序员,系统分析人员,网络管理者,数据库经理,软件开发人员,金融分析人员多种职业任你选择。

    美国CS计算机科学专业在美国来说概念很模糊,可以说CS,CE和EE是相通的。有些美国院校设有有单独的计算机科学系,也有一部分将EE和CS设在一个院系下的,比如说:MIT,UC Berkeley,Northeastern U等。还有一部分将CS和CE设在一起,比如说U Washington Seattle,UC San Diego,Penn State等。

    1. 计算机科学 vs.计算机工程

    计算机科学 computer science(简称CS)是研究机器自动计算本身的性质、规律和问题的一门科学。美国麻省理工学院的温斯顿教授认为:“人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。” 二十一世纪(基因工程、纳米科学、人工智能)三大尖端技术之一。该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等人类如何与程序沟通(人机互动和人机界面)。比如,人用发音操作计算机,叫做虚拟鼠标;人际互动包含行为互动,比如人在家通过眼神的移动,来通过计算机打开电视,空调等。

      计算机专业工程和科学是有一定的区别的,计算机工程 computer engineering(简称CPEG)是研究计算机系统及其应用技术的一门科学。涉及电气工程和计算机科学领域,从设计的计算机处理器,个人电脑、服务器和超级计算机到使用计算机这个工具来解决一些应用上的问题,如程控机床、车辆监控、工业和家电监控系统等。

      计算机科学是一门研究信息以及如何利用计算机去处理信息的学科。计算机科学融合了工程,科学,数学,经济学,音乐,语言学等等。2000到2010年间十种发展最快的职业中,有七种与计算机有关。

      CS大体可以分为三大类,分别是研究理论层面的、系统软件层面的还有计算机应用层面的。

    (1)计算理论(Theory of computation):是关于计算和计算机械的数学理论;
    (2)计算几何学(Computational geometry);
    (3)并行计算(Parallel computation);
    (4)形式化方法(formal method);
    (5)程序设计语言理论(Theory of programming language):是研究书写计算机程序语言的学科;
    (6)人工智能(Artificial Intelligence)。

      计算理论是学计算机的基础。多年以前,计算机系很多都是包括在数学系的。要选择这个方向的学生,需要具备比较高的数学功底和电脑基础性语言的知识储备。由于所涉及的研究领域比较枯燥和难懂,申请这些方向的人比较少,申请难度不是很大。

      而系统软件层面的就包括

      (1)体系结构(System Architecture);
      (2)网络与通讯 Network and Communication;
      (3)面向对象 Object-oriented;
      (4)约束程序设计 Programming Design;
      (5)软件工程 Software Engineering;
      (6)软件质量控制 Software Quality Control;
      (7)实时系统与嵌入式系统 Real-time and Imbedded System;
      (8)数据库系统( Database System):用户使用数据库的计算机软件/硬件资源的集合。即采用了数据库技术的计算机系统;

      系统软件层面的这些方向是中国的计算机科学系培养的大学生的中心方向。所以每年有很多的申请者申请这个方向里的内容。主要集中在网络与通讯,软件工程,数据库系统等几个方向。这几个方向的竞争性比较大。因此条件一般的申请者注意避开上面几个专业方向申请会把握比较大。

      而计算机应用层面就包括:

      (1)科学与工程计算:这个范围很广,简单说说就有:生物信息处理,天气预报等。
      (2)电子商务与数字化图书馆;
      (3)人机交互;
      (4)计算机教育:用于教学,培养计算机人才。

    计算机应用层面下的细分方向在很多学校会结合在前面两个方向之中,特别分出一个专业方向的会很少。教学的内容主要是应用式的。由于这个方向的技术难度不大而且研究深度相比前面两个也略浅,所以每年都吸引了不少CS背景不太强的申请者,而同时一些本科是管理学院下的信息管理和电子商务的也到这个方向上分一杯羹。

      而在以上所提及到的那么多个专业细分方向上究竟哪些是申请的热门呢?

      (1)软件工程

      在全美TOP108所CS高校中,设置有软件工程专业细分方向的大概有70所左右,而在这70所学校里面软件工程研究比较强的、教授比较牛的、学校对于软工投入比较大的有以下这些学校:CMU, UIUC, Maryland, OSU, TAMU, Virginia Polytech, Colorado State U, U of Nebraska Lincoln。UIUC对于申请人背景要求高,一般要求GPA〉3.0,G〉1350,T〉100,被录取者要么硬性分数比较高,要么研究背景比较强,学校每年录取人数比较多,比较多有奖录取。而OSU每年发的AD都比较多,对于中国学生都比较友好,但当然学校还是比较喜欢一些硬性条件比较好的学生,例如过往被录取的学生中多半G〉1300,T〉640,GPA〉3.5,但因为学校招人都比较多,所以被成功录取的机率还是比较大。而一般学校对于申请软件工程方向的申请人的背景要求是一定的编程技巧,熟悉掌握编程语言和软件设计思想,有一定的软件设计项目经历。对于本科软件工程专业的学生,相信他们都有做过一些信息系统的设计工作,而只要在这些项目的基础上再进一步提高自己的设计知识,加深自己对于系统设计的理解,这样就完全能丰富自己在软件工程的背景。而如果你是软件工程背景不是那么强的,计算机技术掌握得不是很扎实,以后又不想往纯理工或者是纯技术的方向发展的,这样你可以选择商学院下的信息管理系统专业,而这个专业其实和软件工程方向有点类似,不同的是MIS在学习技术的同时,也会涉及到项目管理知识的学习,而这个专业对于申请者的工科背景要求不是很高,只要有一定的编程和数据库知识就可以了。

      (2)人工智能

      人工智能可以说是现在计算机里边最炙手可热的学科了,而每年在人工智能方向竞争较为激烈的学校有Princeton, UW-Madison, U. of Michigan, UIUC, UCB, CMU, U of Texas-Austin, Cornell, Maryland等。Cornell的CS系成立较早,AI为博士课程研究方向之一,被录取的博士学生保持较好的成绩就一直有奖学金;Maryland提供硕士博士课程,AI为研究方向之一,有荣获奖项的教员,几乎被录取就能获得奖学金;申请U of Texas-Austin的CS人工智能方向需要计算机背景或学习过相关课程,计算机工作经验不可代替专业背景,而它同样提供硕士、博士课程,系的奖学金只给秋季入学的博士申请人,而且有专门的AI实验室。另外除了上述竞争比较激烈的学校之外,其实有些学校的CS实力还是比较强而且申请难度也会略为减低的。例如RPI,UMA,IUB,IIT,Rutgers State University,因此背景不是很强的学生可以尝试着申请这些学校,这些学校对于GT的平均要求都不是很高,G一般在1250左右,T90分以上就OK了,而且这些学校招的国际学生都比较多。

      (3)人机交互

      人机交互属于一个交叉学科,涉及到应用心理学、工业工程学、人体工程学、人性因素和人机系统等,属于一门新兴的学科。此方向近年开始受到申请者的关注,由于学校不断对此方向加大投资而且此方向的申请难度相比起其它方向来说略为简单,而且学校对于申请者的背景要求并不是那么严格。需要申请者掌握一定的编程语言,有网站制作的背景就可以了。这个方向的比较热门申请的学校分别有UCSD, UCI, Indiana U, Minnesota, MSU, ISU等。ISU的每年申请和被录取的人都比较多,而被录取的人的背景不一,有些是比较牛,但是也有曾经1100GRE,95T,没什么项目经历也成功申请到了。MSU的,虽然被录取的学生的背景比较好,一般G〉1300,T〉100,GPA〉3.3,但胜在录取数据比较多。Minnesota对中国学生还是比较友好的。Indiana U对于背景要求不高,有个学生G〈1100,T〉580,GPA:3.3去了。至于UC Irvine,加州就两所学校招中国学生比较多,一个是UCIrivin,一个是UCRiverside, 其余的UC学校一般都很少招中国学生,UCI地理位置还算比较理想,而且对于申请人背景要求也不是很高。

      计算机科学领域很多,多数就业形势都不错,如软件,数据库,网络,硬件,芯片,无线通信等,即使是很理论的行业,就业前景都不差。IT业是成熟的规模行业,可吸收大量优质人才。一般硕士毕业做开发人员的多些,硕士毕业平均年薪:计算机科学 711,65, 665,45

      设有CS的Top20大学里,不同的学校他们的侧重点都不同。如Stanford的CS在理论、数据库、软件、硬件、AI等领域都是实力非常强劲;MIT,同样被称做为CS的巨牛,该校的数据流计算的思想和数据流计算机、人工智能方面有突出的成就;CMU卡耐基梅隆大学的CS不是一个系,而是一个学院,其规模之大。CMU的师资力量雄厚,不少的faculty在此领域都有各自的贡献,但唯一不足的就是招研究生特别的少;UIUC,特别是计算机硬件特别强,另外计算机系统的研究开发也在受到了极度高的评价,这样faculty就提供了全面的CS教育和科研项目。所以当你在选择自己申请的学校时候,首先要考虑的因素不是学校的排名,更多的是在了解他们这个专业是否与自己所感兴趣的领域有所吻合。

    2. 课程设置

    像宾夕法尼亚大学的4门必选课程——在计算机结构(Computer Architecture)和软件系统(Software Systems)中选1门、在算法分析(Analysis of Algorithms)和计算理论(9heoryOf Computation)中选1门,以及软件基础(Software Foundations)和人工智能(Artificial Intelligence)或规定范围和领域让学生选修,如哥伦比亚大学12学分的核心课程(core requirement)——从程序语言、程序员和操作系统1(Programming Languages & Translators、Operating Systems 1)、高级软件工程(Advanced Software Engineering)、算法分析1(Analysis of Algorithms1)、人工智能(Artificial Intelligence)、计算机结构(Computer Architecture)中任选4门。

    所有学校都以学分或大类的形式来表述课程选修要求,这样的设置有利于学生根据自己的兴趣爱好选择和安排研究生阶段的学习。

    美国大学研究生部分课程与本科高级共享。各著名大学除开设了研究生水平的课程外,许多学校都设有大量的本科生和研究生共享课程。如威斯李老师星大学课程编码在400~699之间的就是本科生和研究生共享课程,麻省理工学院的本科高级课程和研究生课程(Advanced Undergraduate Subjects and Graduate Subjects。

    美国专业课程分层次设置。21所著名大学不仅设置了统一必修的专业基础课,如核心课(Core Courses)或必修课(Required courses),而且还为学生的专业深度发展设立高级课程,如斯坦福大学的深度课程(Depth)、伊利诺大学—香槟12学分的高级课程、佐治亚理工学院18学分的6000/8000水平的研究生专业选修课程、加州大学—圣地亚哥和哥伦比亚大学的主修(Concentration)等。

    美国著名大学计算机科学与工程专业硕士课程设置中,与中国研究生教育的一个最明显区别是,不设置专业外的通选课程。部分大学设立了专业类公共必修课,如伊利诺大学—香槟9~12学分的分类必修课、威斯李老师星大学15学分的核心课程、普渡大学—西拉法叶的2门核心课程等。这样的课程安排给学生留有更多的选择权和时间,按照自己的兴趣和目标选修和安排学习。

    3. 其他相关专业

    Computer engineering 计算机工程

    Electrical and communications engineering 电子通讯工程

    Computer hardware engineering

    Computational mathematics 计算数学

    Cognitive Science 认知科学

    Software engineering 软件工程

    Systems engineering 系统工程

    Robotics technology 机器人基数

    Information technology 信息技术

    Computer engineering technology 计算机工程技术

    Computer graphics 电脑制图

    Digital media

    二.美国大学计算机申请就业

    CS专业在美国很好就业,申请的人也非常之多,申请人除了尽量提高自己的硬件成绩包括GPA、托福、GRE,另外还需要尽可能多地参加一些项目实践、实习增加自己的软件背景。申请软件工程方向的,更是要注意积累自己的实习工作经验了,很多学校都偏好有工作经验的人申请,比如著名的卡耐基梅隆的软件工程就需要申请人有2-5年相关工作经验。另外,CS中有些方向和EE比较交叉,申请人需要仔细查看自己目标学校的详细专业方向的设置。

    就业方向:

    一、Developer/programmer/software engineer
    不管你是硕士,还是博士,不管你是学CS哪个方向的,研究算法(algorithm)的也好,捣鼓人工智能(AI)的也罢,或者是啥软件工程(software engineering)、图形处理(graphics/image processing)、网络(network) etc etc etc,大家将来都有一条共同的也是CS里最大的出路,就是去写code编程做软件开发。

    二、Software QA(quality assurance)/testing
    每年网上都有很多人发帖子说“我学cs,但是我编程能力比较弱或者不喜欢编程,将来我能不能不去coding?”做软件测试(QA/testing)就是一个选择。
    从软件工程的角度来说,有人写软件,就得有人专门跟在后面找bug提高软件的quality。QA的活一直被轻视,以前曾经被认为是可有可无的东西,不需要专门的QA,现在被越来越重视了,当然还是有些人觉得qa不如做developers更重要,但是不可否认的事实是,QA不可或缺,QA工作现在很多,已经在计算机行业里占了很大的比例了。

    三、Database/network administration
    数据库/网络管理对编程要求也很低,你不需要像开发数据库或者网络管理软件的人那样子,天天耗在编程里。这类工作优点很多:
    1 就业范围广,稍微大点的公司、学校或者任何机构都需要有高级管理员来管理维护网络和存储备份数据库;
    2 工作经验越丰富越受欢迎,因为很多job就是得经验丰富的administrator才能处理好,不是随便扒拉一个没多少经验的人就能凑合着做的;
    3 信息社会,公司对数据库和网络依赖严重,所以有时候一个经验丰富的database/network administrator对公司可能非常重要,如果他突然撒手走了,公司又没有准备好替代人员的话,会损失惨重的。

    四、Others
    其他的工种也有,比如release management,用户界面(UI, user interface)设计,usability,Technical support等等,但是一方面这些工作数量相对少,另一方面,不同的公司里,相同的职位名称可能具体的工作性质不太一样,比如做release management的,有的公司要求做很多QA的活,有的公司更靠近developers,还有的公司可能让你安装/搭建系统来管理不同的releases,跟个系统管理员似的,所以就不一一详叙

    就业前景:

    美国大学计算机专业–软件编程方向就业出路

    最佳出路:微软、IBM、Intel

    这个专业是培养coder的,而计算机专业的从业者大部分就是coder。因此学这个专业工作机会较多,但是起步阶段的收入居于中等。

    美国大学计算机专业–计算机网络方向就业出路

    最佳出路:IBM、思科

    中国国内这方面工作机会也多,中国移动按照用户数量是世界第一大运营商。Networking里面有方向设计及到网络安全方面,这个方向的工作主要是在大型政府、国防、电信、电力、金融、铁路等部门计算机网络系统–若在美国就业,因受公民身份等限制不少,回国形势还是不错的。

    美国大学计算机专业–计算机科学技术方向就业出路

    最佳出路:IBM、苹果、联想等

    计算机理论方向不好找工作。计算机科学与工程计算属于前沿新生的专业,就业形势不明朗。很多学习此类专业的同学就业的时候还是转向了传统的写代码相关的岗位。

    美国大学计算机专业–人工智能与人机交互方向就业出路

    人工智能完全对口的工作是纯研发的性质,找起来有一些难度,不过退一步海阔天空,在各类电子设备商处都有大批学习此类专业可以涉足的工作。唯一需要注意的是AI的某些部分在美国也一定程度上应用于国防。
    人机交互与AI一样,如果找完全对口的工作有时候较难,但是凭借着扎实的计算机科学相关专业功底,可以在大量工作机会中寻找突破口。

    ** EE和CS的联系与区别

    EE在申请时需要注意其研究的方向,因国内与美国在同一方向的研究重点不能够完全统一,学生在选择专业方向时要全面考虑每个专业分支的具体研究生方向及特点,美国的EE内部具有很强的交叉学科性。而国内将EE类学科拆成一个个小的方向,导致中国学生在选择专业方向时会很难把握。传统的国内教授则认为EE应该是以system为主要核心,主要原因就在于没有那么多科研经费投到device,material层面去研究,认为这些方面的研究不能直接产生经济效益;而system层面的研究得到的回报比较迅速。

    CS专业同样也是交叉性很强的学科,同时研究的领域也很广。申请时会涉及到的分支有网络与通讯、软件工程、计算机工程、信息技术等。在国内学习软件工程的学生可以考虑直接申请CS专业,CS专业重点在于研究,目前不仅就业趋势好,对于申请博士也有很大的优势,在EE下的计算机科学与工程更倾向于机器人和AI方面,因为比较敏感不容易拿到签证,所以招收的学生很少。能够拿到奖学金的机会则更少了,所以为了提高成功率建议增强研究背景。

    首先我们要搞清楚EE和CS在就业上代表着什么不同的方向。宏观上说,EE是属于物理层面偏硬件,CS是物理层偏软件。举例来说,凡是跟芯片有关系的,Intel,AMD,德州仪器,都是偏硬件;凡是跟软件关系大的,从微软到甲骨文到金山,都是偏软件的。还有一些是做产品和集成的,比如说NOKIA,华为,BYD之类,是典型的软硬兼修,并不偏向哪一个,因为他们的产品离开了硬件软件都不行。

    EE几个比较有代表性的方向是电磁学、电路设计相关、控制电路相关、微机电系统、强电系统、通信系统相关。在美国所有相关的专业都有比较好的工作形势,但是要注意不要过于涉密,否则由于是外国人的缘故可能有些不便,签证时候也免不了被Check。偏硬件的EE的好处是比起纯软件的CS门槛高,工作经验更加值钱。坏处是更新慢,硬件价格高,用户没有明显的动力去更新产品,因此做产品的公司自然也就受到一些影响。做EE的话在美国有一个有意思的现象,就是凡是电磁学、电路设计、微机电系统、通信相关的这些,名声很大,学习的人也很多,但是找工作竞争很激烈。但是偏强电和供电系统的,学的人少,工作形势反而挺好。

    CS的方向就太多了。但是真正在公司的话其实就是两种人:写代码或者做上层设计。再细分有医学应用方向,网络安全方向,图像处理方向,还有更多的用Java之类的语言去做application的coding,或者是用C/C++写从上层到系统到driver层的代码,没什么明确的“方向”。但是通常coding不是做一辈子的事,一般做到1-2年就能做Team leader,再往上分成管理路线和技术路线。如果是管理路线则是Project Manager,然后发展成Section Manager,如果是技术路线则是senior engineer或specialist。当然美国有的企业直接录取了CS的PhD的话就叫做CS Scientist,其实一开始干的活还是coding。Coding干久了如果做得好,就像刚才提到的成为技术专家,做一些architecture方面的设计。

    2009年,美国与计算机相关行业共有雇员3303690人,在未来几年,美国就业市场对计算机科学专业人才的需求量会增加27%,而此行业的工作成长和新陈代谢总共需要增加39%的人才。计算机科学专业毕业生所从事的工作包括数据库主管、软体设计师和资讯科技顾问等。计算机科学行业雇员职业生涯中期的中位年薪为97400美元。2009年,美国计算机科学行业雇员的平均年薪为76290美元。计算机科学行业雇员收入最低10%的人群平均年薪为38590美元,收入最低25%人群的平均年薪为52890美元。接下来收入居于中间50%人群的平均年薪为72900美元,收入最高25%人群的平均年薪为95870美元,而收入最高10%人群的平均年薪为119660美元。所以大家一定要相信,这个专业一定会有美好的职业前景。

    三.学校介绍

    1. Stanford University

    如果将计算机看作一门科学,那么Stanford大学的计算机科学系肯定是最出色。假如计算机是一门科学,它的灵魂自然是人工智能(AI)。早期MIT的AI实验室做了一些开拓性的工作,冷战期间美国国防部搞了无数超大的AI项目,一时各校纷纷以做AI为时髦。

    现在Texas(Austin)和 UMass(Amherst)的CS系便是那个时代的产物。但好景不长,随着在AI领域的投入产出被证明是国防部的一大败笔,大师们一一归隐。为了生存,后来的AI也发展了一些面向应用的方向。从那以后,Stanford大学在AI领域应该算最强的。

      除了AI,Stanford的计算机系以拥有最强的计算机体系结构和数据库团队而闻名。. 斯坦福大学(Stanford University) Stanford的CS是个很大个的CS,拥有40人以上的Faculty成员,其中不乏响当当、硬梆梆的图灵奖得主(Edward A.Feigenbaum, John McCarthy)和各个学科领域的大腕人物,比如理论方面的权威Donald E. Knuth;数据库方面的Jeffrey D. Ullman(他还写过那本著名的编译原理,此人出自Princeton);以及RISC技术挑头人之一的John Hennessy。相信CS的同学对此并不陌生。该系每年毕业30多名Ph.D.以及更多的Master。学生的出路自然是如鱼得水,无论学术界还是工业界,Stanford的学生都倍受青睐。几乎所有前10 名的CS学校中都有Stanford的毕业生充当教授。
    毕业于U. of Utah的Jim Clark曾经在Stanford CS当教授。后来就是这个人创办了高性能计算机和科学计算可视化方面巨牛的SGI公司。SUN公司名字的来历是Stanford University Network。顺便提一下,创办 YAHOO的华人杨致远曾在斯坦福的EE攻读博士,后来中途辍学办了YAHOO。
    CS科研方面,斯坦福在理论、数据库、软件、硬件、AI等领域都是实力强劲的顶级
    高手。斯坦福的RISC技术后来成为SGI/MIPS的Rx000系列微处理器的核心技术;DASH,FLASH项目更是多处理器并行计算机研究的前沿;SUIF并行化编译器成为国家资助的重点
    项目,在国际学术论文中SUIF编译器的提及似乎能为某些平庸的论文平添几分姿色。
    Stanford有学生14000多,其中研究生7000多;CS有175人攻读博士,350人攻读硕士。每年招收的学生数不详,估计少不了。但不要忘了,每年申请Stanford CS的学生接近千人。申请费高达$80。
    斯坦福大学位于信息世界的心脏地带—硅谷。加州宜人的气候,美丽的风景使得Stanford堪称CS的天堂。33.1平方公里的校园面积怕是够学子们翻江倒海,叱咤风云的了。

    2. 麻省理工学院(Massachusetts Inst. of Technology)

    MIT招生好像不看GRE成绩。MIT的CS是巨牛的,99年最新排名上它和斯坦福同被打了5.0的满分,两者并列第一。MIT的CS曾为CS的发展作出不可磨灭的贡献,数据流计算的思想和数据流计算机、人工智能方面的许多重大成就,影响了整个UNIX界的X-Window…… MIT 和 Stanford一样,几乎都是在CS界样样巨牛的学校。据某位大侠提供的资料:MIT的 Media Arts and Sciences知名度不在Computer Department之下。主要是多媒体技术,信息处理,人工智能等。有一大批著名的教授,如Marvin Minsky(图灵奖获得者)。

    3. 加州大学伯克利分校(University of California-Berkeley)

    同样地处旧金山湾畔,硅谷地带,离Stanford大约只有50公里的UC. Berkeley是美国最激进的学校之一。60年代的嬉皮文化,反越战,东方神秘主义,回归自然文化都起源于此。诗人爱伦金斯堡是当年UC. Berkeley的代言人。
    在当今高科技领域UC. Berkeley在缔造新的神话,在文学、数学、化学、新闻等20
    多个大的学科领域位居前3名。16个诺贝尔奖得主,总数近200的科学院院士、工程院院
    士,连同众多在硅谷商战中成为亿万富翁的伯克利人撑起了一面汇集天下英才的大旗。
    INTEL总裁Andrew Grove,就是毕业于UC. Berkeley。
    BSD版的UNIX影响了整个CS界,伯克利的RISC技术后来成为了SUN公司SPARC微处理器的核心技术,David Patterson接下了一个6亿美元的项目用于新型计算机体系结构,特别是IRAM的研究开发。
    UC. Berkeley有学生30000多,研究生超过8500人。申请费和加州大学的其他分校一样,$40。据一项最近的调查,伯克利已经成为美国大学生最向往的研究生院,高居榜首,其申请的难度可想而知。
    UC. Berkeley的CS是个大系,Faculty中有图灵奖得主以及像Patterson这样的巨牛。CS科研方面,UC. Berkeley也是样样强。
    旧金山湛蓝起伏的海湾,苍翠绵延的山峦,舒心宜人的气候,以及近在咫尺的硅谷……
    这一切的一切不也使得UC. Berkeley俨然一个CS学子的世外桃源吗?

    4. 卡耐基梅隆大学(Carnegie Mellon University)

    CMU是个位于匹兹堡的不大的学校,学生7000多,校园好像也不大。但这个学校在工
    程及其他一些领域却是顶尖的学堂。CMU的CS不是一个系,而是一个学院,其规模之大,
    可能只有Stanford,UIUC可与之相比。Mach操作系统,PVM,C.mmp等都有CMU的巨大贡献。
    申请CMU的难度很大,因为尽管CMU的CS Faculty很多,但每年只招收不足30人的研究生队伍。

    5. 伊利诺斯大学(Univ. of Illinois-Urbana-Champaign)

    UIUC的工程学院在全美是至尊级的,其CS,ECE,EE在历史上都屡建战功。在CS方面,从早期的超级计算机ILLIAC I,II,III,IV到后来的CEDAR,都是CS发展史上,特别是并行计算机发展史上的重要事件,影响和引导了CS很长时期的发展。David Kuck曾是并行计算机处理界的一代先驱。超级计算机研究开发中心(CSRD),美国国家超级计算及应用中心(NCSA)等众多的机构,使得UIUC的CS常常成为研发的领头雁。
    大家可能还记得,Netscape-Navigator的最初开发人员中有个Marc Anderssen。这位来自Wisconsin 的小伙子在UIUC读本科,大四的时候在NCSA参与编写了MOSAIC;后来他去了硅谷,并在那里遇到了前面提到过的Jim Clark,SGI的前创始人,两人一见如故,联手创办了著名的网景Netscape,并一度在浏览器市场上独霸武林。
    还有Lotus Notes, 远程登录程序NCSA Telnet, 邮件程序Eudora等的作者,都是UIUC的毕业生。商务软件巨人Siebel Systems的创始人Tom Siebel,也是毕业于UIUC的。
    UIUC是个大学校,学生总数超过35000,研究生院近万人。
    UIUC的CS很大,40余个Faculty提供了全面的CS教育和科研项目。每年30多个博士的毕业数目似乎只有Stanford可以匹敌。
    UIUC的Polaris并行化编译器是这个领域能和Stanford的SUIF直接叫板的拳头产品,清华开发并行编程环境时选用了这个系统。
    UIUC在计算机硬件、软件、AI、DB等领域都相当强大。特别是硬件,如前面提到的
    ILLIAC,CEDAR等。
    事实上,UIUC在超级计算机系统的研究开发方面绝不逊于MIT、Stanford等任何一个,甚至有过之而无不及。NCSA建立在UIUC这一事实本身就是佐证。UIUC CS的学生毕业后去学术界的不少,Stanford,UC. Berkeley等CS名校都有UIUC的博士挑大梁。但更多UIUC CS学人还是进入业界,成为业界实干的中坚。

    6. 康奈尔大学(Cornell University)

    作为IVY LEAGUE的成员和一所私立学校,Cornell有其独到的优势。在美国,私立学
    校一般要比公立学校难进,其学生也是经过严格的选拔才录取的。Cornell的CS学生入校
    后多能享受FELLOWSHIP的待遇,其个人经济条件非公立学校可比,加上贵族式校友的提
    拔,私立学校的出路是很诱人的。康奈尔在理论计算机方面一直是顶级高手,但在其他
    CS领域并不总在前10名。
    Cornell学生18000多,研究生过5000人。CS每年招攻读Ph.D.的学生25人左右。