美國大學計算機專業(很多人都沒給咱姑娘講清楚)
一. 專業介紹
計算機科學研究計算機系統以及軟體的設計,以及相關理論和應用領域。在該專業,你將學習很多抽象化的概念。因為計算機溝通要求精確性,因此你必須學會使用精確的程序語言。在學習的過程中,你會被要求思考很多的問題,例如,為什麼編程語言被設計成現在這樣?現實問題如何轉化並編譯成一個程序,並成功解決該現實問題?當一個程序被執行時,計算機內部是如何運行的?計算機如何構建才能使其功能運轉?計算機和程序對於各個領域都有什麼影響?
一些大學注重實用性技術,一些則注重抽象概念和最新技術前沿理論。另外,一些大學要求學生要有很強的數學和邏輯背景。計算機科學是一個很有難度,充滿挑戰性的行業,學生的項目和作業都需要長時間的消耗,它也是一個年輕的,充滿機遇但又對智力要求非常高的領域。如果你痴迷與抽象化思考以及實踐性應用,那麼計算機科學將很適合你。
你如果喜歡以下內容:喜歡數學和邏輯性問題並試圖用程序來解決這些問題,對於事物工作原理給出精確解釋,喜歡機械和電子的小製作;你如果擅長以下內容:傾聽,注重細節,創造力,批判性思維,數學,定量分析,長時間的集中注意力。那麼你很適合這個專業。
計算機科學專業的典型課程設置有:數據結構、數學、運演算法則、操作系統、軟體工程、編程、人工智慧。計算機科學相關專業有:計算機工程、電子通訊工程、計算數學、認知科學、軟體工程、系統工程、機器人技術、信息技術、計算機工程技術、電腦製圖。
因為就讀此專業的學生並不多,計算機科學專業就業前景極好。高級程序員,系統分析人員,網路管理者,資料庫經理,軟體開發人員,金融分析人員多種職業任你選擇。
美國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):用戶使用資料庫的計算機軟體/硬體資源的集合。即採用了資料庫技術的計算機系統;(9)大規模計算中的I/O: 在大規模計算中實現計算機主機與外圍設備進行信息交換的技術。系統軟體層面的這些方向是中國的計算機科學系培養的大學生的中心方向。所以每年有很多的申請者申請這個方向里的內容。主要集中在網路與通訊,軟體工程,資料庫系統等幾個方向。這幾個方向的競爭性比較大。因此條件一般的申請者注意避開上面幾個專業方向申請會把握比較大。
而計算機應用層面就包括:(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人左右。
7. 華盛頓大學(University of Washington) 位於Seattle的U. of Washington得天獨厚——計算機界的巨牛MS就在西雅圖,而且更要命的是,Bill Gates就是那裡的人。這位Harvard的輟學者給了哈佛許多MONEY,但同給U. of Washington的錢財相比,實在是小巫見大巫。 U. of Washington位於風光秀麗的WASHINGTON湖畔,氣候四季如春。33000多學生中研究生有8000名左右。Seattle最令人厭惡的地方可能就是一年有160天會降水。 U. of Washington的CS較大,30多名Faculty成員,每年近20個優質博士畢業,以及大量的Master。估計每年的招生數應該不低。U. of Washington的CS在各個方面比較均衡,最強的軟體排名第5,而其他領域一般也都能位居前10,好像沒有明顯很弱的地方。 圖靈獎得主Dick Karp從UC. Berkeley告老還鄉後又被返聘到了U. of Washington的CS。U. of Washington的CS要求很高,Ph.D.學生入學的平均GPA高達3.86,GRE2160以上,加上一般較早的DEADLINE,申請U. of Washington是相當有難度的。
8. 普林斯頓大學(Princeton University) Princeton是個令人神往的地方,這裡曾經是世界的科學中心。 Princeton的CS不大,18個Faculty成員,學生人數也不算多。科研上除了排名第5的理論,似乎還沒注意到其他閃光點。但是,Princeton無疑培養出了大量計算機界的優秀人物,Jeffrey D. Ullman,John McCarthy等巨牛人物均出自大名鼎鼎的Princeton。在Princeton領受的教育是最好的教育熏陶。 Princeton學校不大,只有6000多學生,研究生不過1700人。
9. 威斯康星大學(University of Wisconsin-Madison) U. of Wisconsin-Madison的CS較大,35個Faculty成員,200多個研究生,每年招60—70個新生。目前幾乎1/4的Faculty來自UC. Berkeley,博士生畢業後有去Stanford ,UC. Berkeley等牛校挑大樑的,但和UIUC類似,似乎進入業界的更多一些。然而要在這裡拿到博士學位可不容易。超過七成的人,會在中途找到比較理想的工作後,拿著碩士文憑拔腿就跑,免得被那些無窮無盡的科研項目給整慘了。 U. of Wisconsin-Madison的資料庫一直在前3位,經常是第1位。這裡的資料庫由於在設計實現DBMS系統上的傳統優勢,使其在業界的聲譽相當崇高,據說Microsoft里有一幫Wisconsin校友從中興風作浪,Oracle也格外青睞Wisconsin-Madison的學子。 Wisconsin的硬體、計算機體系結構實力巨牛,99排名第6,對業界相當有影響力。微處理器中的超標量技術(SuperScalar)源於此地;多處理機CACHE一致性的匯流排偵聽SNOOPING協議,IEEE SCI協議等,都是源於此地。正在研究開發中的MultiScalar技術和 DataScalar技術據說可以把微處理器每個時鐘周期的指令發射數提到10以上,大大地提高微處理器的計算能力。Wisconsin的軟體99排名第7。主要是在系統軟體方面做OS 的設計與實現,WEB上的CACHE策略,支持共享主存和消息傳遞兩種並行編程模式及其混合的並行程序設計語言和編譯器,以及由MIDSHIP項目挑起的關於並行與分散式計算,OODB,科學資料庫,支持圖象查詢的新型查詢語言以及圖象處理等方面的研究。由於美國有大量的衛星圖象需要及時處理,加上迫切需要GIS系統的研究開發,這方面的研發使得U. of Wisconsin-Madison撈到了不少經費。 Wisconsin和UIUC的CS理論都是前10名左右。Wisconsin的Carl de Boor是逼近理論 方面的大牛。 U. of Wisconsin-Madison是個大型的綜合性學校,40000學生中研究生院的超過10 000,這萬人中有博士生5000,碩士生3500,法學院、醫學院、護理學院、獸醫學院的職業學生2000人。2200多Faculty中有多位諾貝爾獎得主,52個院士,其中18個是工程院院士。需要注意的是,Wisconsin的CS有點不同於其他許多學校,它隸屬於College of Letters & Science,而不在College of Engineering下面。因此許多偏硬體的項目,比如嵌入式系統,網路硬體、路由,多媒體,通信,自控以及數字信號處理等項目不在CS D ept.,而是在工程院下的Dept. of Electrical & Computer Engineering,即ECE系。那個系也挺大,比CS還要大不少。98年在工程類排名的計算機工程一項上排了第9位。
10. 德克薩斯大學(University of Texas-Austin) U. of Texas-Austin的CS較大,Faculty中好像有個圖靈獎得主。該系發展比較平衡,最好的AI排第5,其他幾個專業也多能擠進前十。 U. of Texas-Austin是個巨大的學校,5萬學生,研究生院的可能有1.3萬。但學校的主校區卻好像面積不足,僅140公頃,按美國大學的標準,太不足了。
11. 加州理工學院(California Institute of Technology) CIT的CS很小,只有大約5位教授,每年招很少的學生。雖然申請CIT是免費的,但建議不要輕易嘗試。由於系太小,CIT好像只是在計算機硬體和科學計算的可視化方面很強。該系多年以來一直穩坐第11、12位幾乎沒動過窩;類似的情況還有斯坦福,MIT,穩居第1、2位,Cornell穩居第5位,U. of Wisconsin-Madison穩居第9、10位。CIT的CS和其他系,比如數學、物理、生物等需要大量科學計算的部門聯繫很緊密。CIT學校也很小, 2000名學生中研究生佔1100人。Faculty人數也不多,但幾乎個個是巨牛,按平均水平看,CIT可能是世界上最牛的學校了。加州理工學院創建於1891年,這所私立大學的宗旨是「為教育事業、政府及工業發展需要培養富有創造力的科學家和工程師」。迄今為止,它已培養了1萬7千名學生,其中有22名獲得諾貝爾獎,還有大批獲得美國政府頒發的各種科學學術獎項。它被譽為美國一流的科技理工類學院當之無愧。專業特色: CIT的CS專業是一個FULL TIME的PROGRAM,並且只接收PHD申請者。學制上,第一年完成專業課程及制定MS論文研究。第二年,學生主要完成MS論文,以及參加PHD資格考試。通過考試後,學生正式進入博士階段的專業研究工作。 CIT的CS專業鼓勵學生從事創新及交叉學科的研究工作。學生經常會合作完成大型項目,其中每個人都會在項目中扮演重要角色,不可替代。 CIT的CS專業的研究重點在於演算法,通信協議,網路,圖形學及人機交互,VLSI,安全及資訊理論,計算機視覺等。這些方向與物理,生物,數學,機械等交叉學科關係密切。
申請點評:CIT作為全美三大理工之一,在全世界享有盛名,畢業生普遍致力於高端技術領域或從事企業的高層管理。無論是CIT還是CIT的CS專業都秉承著"少而精,小而美"的方針。換句話說,想要申請進入CIT的CS專業學習,難度可想而知。CIT要培養的絕對是專業尖端人才,因此在申請前,需要學生一切背景都做到出類拔萃,才會有機會。對於大多數中國本科畢業生來說,申請成功的機會極小。
12. 馬里蘭大學(University of Maryland at College Park) U. of Maryland at CP是一個實力相當強勁的CS,軟體第8,資料庫第4,AI第9,三個專業都擠進了前10位,它的TINY系統有相當的知名度。
13. 加州大學洛杉磯分校(University of California-Los Angeles) 歷史上UCLA的CS曾經一度輝煌,上到過第6(NRC" 82),但近年來一直徘徊在第13 ~15。而且CS的各個專業細目幾乎沒有一個能進前10名。儘管如此,UCLA的CS還是十分強大的。 UCLA輝煌的歷史可能在於它對Internet的發展所作出的巨大貢獻。六十年代美國的ARPA在搞網路互連的開創性研究,ARPA網的四個節點是:UCLA,Stanford的SRI,UCSB和 U. of Utah。此時一位來自美國新英格蘭地區的青年Vinton Cerf不去離家咫尺的Yale大學,遠涉千里,來到了加州。他先在Stanford獲得數學學士,然後到UCLA拿下了CS的碩士和博士。 畢業後Cerf一直在SRI從事ARPA網的研究,特別是研究如何讓它無法正常工作。幾年後,Cerf與MIT一位到業界闖蕩的數學教授Kyhn合作研發,搞出了一套軟體系統用於網路互連(1973年)。這就是TCP/IP協議的誕生。 UCLA作為INTERNET的先驅,地處陽光燦爛的南加州,應當成為CS學生的樂土。 UCLA有學生33000人,其中研究生院的佔9900人。地處洛杉磯的UCLA周圍幾乎有玩不盡的地方:如DISNEY,HOLLYWOOD等。由於位於大城市,校園不是很大,但風景異常美麗。 UCLA的CS較大,規模應該和U. of Washington和U. of Wisconsin-Madison類似。
14. 密歇根大學(University of Michigan-Ann Arbor) U. of Michigan 是個非常了不起的學校。在BIG TEN里,從綜合的角度上說它可算得上是領頭羊了,當然UIUC, U. of Wisconsin-Madison也緊隨其後。這裡的CS偏硬的更厲害些,硬體排在第9,而計算機工程排第7,EE第5,都是前10名中的巨牛。Michigan 的CS和EE合在一起稱為EECS系,是個相當大的系,每年招收的學生應當不在少數。 Michigan的CS估計在歷史上也相當牛,U. of Wisconsin-Madison CS里兩位來自Mi chigan 的教授都是院士,在其他CS系裡,比如UIUC的,也大有Michigan 的牛人在。如前述,UIUC的CS在硬體上極強,而Michigan 的CS中有許多UIUC的哥們在那裡當老師。
15. 喬治亞理工學院(Georgia Institute of Technology) GIT是個較大的學校,GIT的工程學院很厲害,研發經費僅次於MIT,和UIUC,Michigan差不多。CS系的資料庫第7,GUI第4。
16. 布朗大學(Brown University) Brown的規模不大。這所IVY LEAGUE中的私立學校可能擁有一些類似於CORNELL的優勢。CS的GUI可以列在第6位,好像還有許多關於語音識別等偏人工智慧方面的研發項目。
17. 哈佛大學(Harvard University) 在CS的早期發展史上,Harvard曾經是泰斗級的人物,畢竟CS和數學,物理的淵源太深太長了。好像王安是這裡出來的,Bill Gates也是這裡出來的。Harvard畢竟是Harva rd,總是名人輩出,因為Harvard總是可以招到最優秀的人。但千萬別以為哈佛人人牛。Harvard不喜歡帶工程色彩的東西,CS是掛在Arts & Science學院下面的Division of E ngineering and Applied Science,好像連獨立的一個系都不是。除了理論可以排進前 10名以外,其他項目怕也拿不出多少貨色了。 哈佛大學共有學生18000人,其中研究生院的11000人。Harvard大學擁有世界上最多的諾貝爾獎得主,150多個美國國家科學院院士。哈佛的CS估計不會是大個子,招的學生可能也不多,申請的難度應當很大。
18. 耶魯大學(Yale University) YALE曾經也進過前10名(NRC" 82),是YALE和UCLA而不是Princeton和U. of Texa s-Austin位於前10名的榜上。YALE的CS不大,十幾個老師加上為數不多的學生,每年只招收六個博士研究生。 和Harvard這樣很重文理的學校一樣,YALE的CS在理論上比較強。但不同於哈佛,YALE有獨立的CS系,受到較高的重視。YALE CS在AI和軟體方面比較強。著名的LINDA並行編程模式就是在這裡提出並實現的。YALE 的畢業生到學術界的比到業界的似乎要多,哈佛似乎也是這樣。
19. 普渡大學(Purdue University) 可能許多人還不知道,Purdue的計算機系是美國最早成立的計算機系。建系之初一直處於TOP 10。在70年代由於本人不甚了解的原因,沒落了。Purdue的排名也不太穩定,從13到30的排法似乎都見過。Purdue是個大學校,有35000學生。其工程學院很出名 20.
20. 萊斯大學(Rice University) Rice是個位於休斯頓的小學校,4000名學生,研究生有1600左右吧。CS也不大,優勢在於軟體,排在第9位。該系的KENNEDY是個巨牛的人物,是美國HPCC常委的關鍵人物之一,好像還是總統在信息科學方面的特別顧問。KENNEDY是並行計算領域的大牛。前幾年,他義無反顧地承擔起高性能FORTRAN語言(HPF)的編譯器研製工作,項目之大,投入人力之巨,加上他的權威地位,被人們寄予普遍厚望。可惜後來項目失敗了。從此並行計算界陷入了一陣低潮。這幾年KENNEDY好像轉向去做針對特定處理器的後端優化技術了。Rice CS 學生的出路相當好。
一. 專業介紹
計算機科學研究計算機系統以及軟體的設計,以及相關理論和應用領域。在該專業,你將學習很多抽象化的概念。因為計算機溝通要求精確性,因此你必須學會使用精確的程序語言。在學習的過程中,你會被要求思考很多的問題,例如,為什麼編程語言被設計成現在這樣?現實問題如何轉化並編譯成一個程序,並成功解決該現實問題?當一個程序被執行時,計算機內部是如何運行的?計算機如何構建才能使其功能運轉?計算機和程序對於各個領域都有什麼影響?
一些大學注重實用性技術,一些則注重抽象概念和最新技術前沿理論。另外,一些大學要求學生要有很強的數學和邏輯背景。計算機科學是一個很有難度,充滿挑戰性的行業,學生的項目和作業都需要長時間的消耗,它也是一個年輕的,充滿機遇但又對智力要求非常高的領域。如果你痴迷與抽象化思考以及實踐性應用,那麼計算機科學將很適合你。
你如果喜歡以下內容:喜歡數學和邏輯性問題並試圖用程序來解決這些問題,對於事物工作原理給出精確解釋,喜歡機械和電子的小製作;你如果擅長以下內容:傾聽,注重細節,創造力,批判性思維,數學,定量分析,長時間的集中注意力。那麼你很適合這個專業。
計算機科學專業的典型課程設置有:數據結構、數學、運演算法則、操作系統、軟體工程、編程、人工智慧。計算機科學相關專業有:計算機工程、電子通訊工程、計算數學、認知科學、軟體工程、系統工程、機器人技術、信息技術、計算機工程技術、電腦製圖。
因為就讀此專業的學生並不多,計算機科學專業就業前景極好。高級程序員,系統分析人員,網路管理者,資料庫經理,軟體開發人員,金融分析人員多種職業任你選擇。
美國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):用戶使用資料庫的計算機軟體/硬體資源的集合。即採用了資料庫技術的計算機系統;(9)大規模計算中的I/O: 在大規模計算中實現計算機主機與外圍設備進行信息交換的技術。系統軟體層面的這些方向是中國的計算機科學系培養的大學生的中心方向。所以每年有很多的申請者申請這個方向里的內容。主要集中在網路與通訊,軟體工程,資料庫系統等幾個方向。這幾個方向的競爭性比較大。因此條件一般的申請者注意避開上面幾個專業方向申請會把握比較大。
而計算機應用層面就包括:(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人左右。
7. 華盛頓大學(University of Washington) 位於Seattle的U. of Washington得天獨厚——計算機界的巨牛MS就在西雅圖,而且更要命的是,Bill Gates就是那裡的人。這位Harvard的輟學者給了哈佛許多MONEY,但同給U. of Washington的錢財相比,實在是小巫見大巫。 U. of Washington位於風光秀麗的WASHINGTON湖畔,氣候四季如春。33000多學生中研究生有8000名左右。Seattle最令人厭惡的地方可能就是一年有160天會降水。 U. of Washington的CS較大,30多名Faculty成員,每年近20個優質博士畢業,以及大量的Master。估計每年的招生數應該不低。U. of Washington的CS在各個方面比較均衡,最強的軟體排名第5,而其他領域一般也都能位居前10,好像沒有明顯很弱的地方。 圖靈獎得主Dick Karp從UC. Berkeley告老還鄉後又被返聘到了U. of Washington的CS。U. of Washington的CS要求很高,Ph.D.學生入學的平均GPA高達3.86,GRE2160以上,加上一般較早的DEADLINE,申請U. of Washington是相當有難度的。
8. 普林斯頓大學(Princeton University) Princeton是個令人神往的地方,這裡曾經是世界的科學中心。 Princeton的CS不大,18個Faculty成員,學生人數也不算多。科研上除了排名第5的理論,似乎還沒注意到其他閃光點。但是,Princeton無疑培養出了大量計算機界的優秀人物,Jeffrey D. Ullman,John McCarthy等巨牛人物均出自大名鼎鼎的Princeton。在Princeton領受的教育是最好的教育熏陶。 Princeton學校不大,只有6000多學生,研究生不過1700人。
9. 威斯康星大學(University of Wisconsin-Madison) U. of Wisconsin-Madison的CS較大,35個Faculty成員,200多個研究生,每年招60—70個新生。目前幾乎1/4的Faculty來自UC. Berkeley,博士生畢業後有去Stanford ,UC. Berkeley等牛校挑大樑的,但和UIUC類似,似乎進入業界的更多一些。然而要在這裡拿到博士學位可不容易。超過七成的人,會在中途找到比較理想的工作後,拿著碩士文憑拔腿就跑,免得被那些無窮無盡的科研項目給整慘了。 U. of Wisconsin-Madison的資料庫一直在前3位,經常是第1位。這裡的資料庫由於在設計實現DBMS系統上的傳統優勢,使其在業界的聲譽相當崇高,據說Microsoft里有一幫Wisconsin校友從中興風作浪,Oracle也格外青睞Wisconsin-Madison的學子。 Wisconsin的硬體、計算機體系結構實力巨牛,99排名第6,對業界相當有影響力。微處理器中的超標量技術(SuperScalar)源於此地;多處理機CACHE一致性的匯流排偵聽SNOOPING協議,IEEE SCI協議等,都是源於此地。正在研究開發中的MultiScalar技術和 DataScalar技術據說可以把微處理器每個時鐘周期的指令發射數提到10以上,大大地提高微處理器的計算能力。Wisconsin的軟體99排名第7。主要是在系統軟體方面做OS 的設計與實現,WEB上的CACHE策略,支持共享主存和消息傳遞兩種並行編程模式及其混合的並行程序設計語言和編譯器,以及由MIDSHIP項目挑起的關於並行與分散式計算,OODB,科學資料庫,支持圖象查詢的新型查詢語言以及圖象處理等方面的研究。由於美國有大量的衛星圖象需要及時處理,加上迫切需要GIS系統的研究開發,這方面的研發使得U. of Wisconsin-Madison撈到了不少經費。 Wisconsin和UIUC的CS理論都是前10名左右。Wisconsin的Carl de Boor是逼近理論 方面的大牛。 U. of Wisconsin-Madison是個大型的綜合性學校,40000學生中研究生院的超過10 000,這萬人中有博士生5000,碩士生3500,法學院、醫學院、護理學院、獸醫學院的職業學生2000人。2200多Faculty中有多位諾貝爾獎得主,52個院士,其中18個是工程院院士。需要注意的是,Wisconsin的CS有點不同於其他許多學校,它隸屬於College of Letters & Science,而不在College of Engineering下面。因此許多偏硬體的項目,比如嵌入式系統,網路硬體、路由,多媒體,通信,自控以及數字信號處理等項目不在CS D ept.,而是在工程院下的Dept. of Electrical & Computer Engineering,即ECE系。那個系也挺大,比CS還要大不少。98年在工程類排名的計算機工程一項上排了第9位。
10. 德克薩斯大學(University of Texas-Austin) U. of Texas-Austin的CS較大,Faculty中好像有個圖靈獎得主。該系發展比較平衡,最好的AI排第5,其他幾個專業也多能擠進前十。 U. of Texas-Austin是個巨大的學校,5萬學生,研究生院的可能有1.3萬。但學校的主校區卻好像面積不足,僅140公頃,按美國大學的標準,太不足了。
11. 加州理工學院(California Institute of Technology) CIT的CS很小,只有大約5位教授,每年招很少的學生。雖然申請CIT是免費的,但建議不要輕易嘗試。由於系太小,CIT好像只是在計算機硬體和科學計算的可視化方面很強。該系多年以來一直穩坐第11、12位幾乎沒動過窩;類似的情況還有斯坦福,MIT,穩居第1、2位,Cornell穩居第5位,U. of Wisconsin-Madison穩居第9、10位。CIT的CS和其他系,比如數學、物理、生物等需要大量科學計算的部門聯繫很緊密。CIT學校也很小, 2000名學生中研究生佔1100人。Faculty人數也不多,但幾乎個個是巨牛,按平均水平看,CIT可能是世界上最牛的學校了。加州理工學院創建於1891年,這所私立大學的宗旨是「為教育事業、政府及工業發展需要培養富有創造力的科學家和工程師」。迄今為止,它已培養了1萬7千名學生,其中有22名獲得諾貝爾獎,還有大批獲得美國政府頒發的各種科學學術獎項。它被譽為美國一流的科技理工類學院當之無愧。專業特色: CIT的CS專業是一個FULL TIME的PROGRAM,並且只接收PHD申請者。學制上,第一年完成專業課程及制定MS論文研究。第二年,學生主要完成MS論文,以及參加PHD資格考試。通過考試後,學生正式進入博士階段的專業研究工作。 CIT的CS專業鼓勵學生從事創新及交叉學科的研究工作。學生經常會合作完成大型項目,其中每個人都會在項目中扮演重要角色,不可替代。 CIT的CS專業的研究重點在於演算法,通信協議,網路,圖形學及人機交互,VLSI,安全及資訊理論,計算機視覺等。這些方向與物理,生物,數學,機械等交叉學科關係密切。
申請點評:CIT作為全美三大理工之一,在全世界享有盛名,畢業生普遍致力於高端技術領域或從事企業的高層管理。無論是CIT還是CIT的CS專業都秉承著"少而精,小而美"的方針。換句話說,想要申請進入CIT的CS專業學習,難度可想而知。CIT要培養的絕對是專業尖端人才,因此在申請前,需要學生一切背景都做到出類拔萃,才會有機會。對於大多數中國本科畢業生來說,申請成功的機會極小。
12. 馬里蘭大學(University of Maryland at College Park) U. of Maryland at CP是一個實力相當強勁的CS,軟體第8,資料庫第4,AI第9,三個專業都擠進了前10位,它的TINY系統有相當的知名度。
13. 加州大學洛杉磯分校(University of California-Los Angeles) 歷史上UCLA的CS曾經一度輝煌,上到過第6(NRC" 82),但近年來一直徘徊在第13 ~15。而且CS的各個專業細目幾乎沒有一個能進前10名。儘管如此,UCLA的CS還是十分強大的。 UCLA輝煌的歷史可能在於它對Internet的發展所作出的巨大貢獻。六十年代美國的ARPA在搞網路互連的開創性研究,ARPA網的四個節點是:UCLA,Stanford的SRI,UCSB和 U. of Utah。此時一位來自美國新英格蘭地區的青年Vinton Cerf不去離家咫尺的Yale大學,遠涉千里,來到了加州。他先在Stanford獲得數學學士,然後到UCLA拿下了CS的碩士和博士。 畢業後Cerf一直在SRI從事ARPA網的研究,特別是研究如何讓它無法正常工作。幾年後,Cerf與MIT一位到業界闖蕩的數學教授Kyhn合作研發,搞出了一套軟體系統用於網路互連(1973年)。這就是TCP/IP協議的誕生。 UCLA作為INTERNET的先驅,地處陽光燦爛的南加州,應當成為CS學生的樂土。 UCLA有學生33000人,其中研究生院的佔9900人。地處洛杉磯的UCLA周圍幾乎有玩不盡的地方:如DISNEY,HOLLYWOOD等。由於位於大城市,校園不是很大,但風景異常美麗。 UCLA的CS較大,規模應該和U. of Washington和U. of Wisconsin-Madison類似。
14. 密歇根大學(University of Michigan-Ann Arbor) U. of Michigan 是個非常了不起的學校。在BIG TEN里,從綜合的角度上說它可算得上是領頭羊了,當然UIUC, U. of Wisconsin-Madison也緊隨其後。這裡的CS偏硬的更厲害些,硬體排在第9,而計算機工程排第7,EE第5,都是前10名中的巨牛。Michigan 的CS和EE合在一起稱為EECS系,是個相當大的系,每年招收的學生應當不在少數。 Michigan的CS估計在歷史上也相當牛,U. of Wisconsin-Madison CS里兩位來自Mi chigan 的教授都是院士,在其他CS系裡,比如UIUC的,也大有Michigan 的牛人在。如前述,UIUC的CS在硬體上極強,而Michigan 的CS中有許多UIUC的哥們在那裡當老師。
15. 喬治亞理工學院(Georgia Institute of Technology) GIT是個較大的學校,GIT的工程學院很厲害,研發經費僅次於MIT,和UIUC,Michigan差不多。CS系的資料庫第7,GUI第4。
16. 布朗大學(Brown University) Brown的規模不大。這所IVY LEAGUE中的私立學校可能擁有一些類似於CORNELL的優勢。CS的GUI可以列在第6位,好像還有許多關於語音識別等偏人工智慧方面的研發項目。
17. 哈佛大學(Harvard University) 在CS的早期發展史上,Harvard曾經是泰斗級的人物,畢竟CS和數學,物理的淵源太深太長了。好像王安是這裡出來的,Bill Gates也是這裡出來的。Harvard畢竟是Harva rd,總是名人輩出,因為Harvard總是可以招到最優秀的人。但千萬別以為哈佛人人牛。Harvard不喜歡帶工程色彩的東西,CS是掛在Arts & Science學院下面的Division of E ngineering and Applied Science,好像連獨立的一個系都不是。除了理論可以排進前 10名以外,其他項目怕也拿不出多少貨色了。 哈佛大學共有學生18000人,其中研究生院的11000人。Harvard大學擁有世界上最多的諾貝爾獎得主,150多個美國國家科學院院士。哈佛的CS估計不會是大個子,招的學生可能也不多,申請的難度應當很大。
18. 耶魯大學(Yale University) YALE曾經也進過前10名(NRC" 82),是YALE和UCLA而不是Princeton和U. of Texa s-Austin位於前10名的榜上。YALE的CS不大,十幾個老師加上為數不多的學生,每年只招收六個博士研究生。 和Harvard這樣很重文理的學校一樣,YALE的CS在理論上比較強。但不同於哈佛,YALE有獨立的CS系,受到較高的重視。YALE CS在AI和軟體方面比較強。著名的LINDA並行編程模式就是在這裡提出並實現的。YALE 的畢業生到學術界的比到業界的似乎要多,哈佛似乎也是這樣。
19. 普渡大學(Purdue University) 可能許多人還不知道,Purdue的計算機系是美國最早成立的計算機系。建系之初一直處於TOP 10。在70年代由於本人不甚了解的原因,沒落了。Purdue的排名也不太穩定,從13到30的排法似乎都見過。Purdue是個大學校,有35000學生。其工程學院很出名 20.
20. 萊斯大學(Rice University) Rice是個位於休斯頓的小學校,4000名學生,研究生有1600左右吧。CS也不大,優勢在於軟體,排在第9位。該系的KENNEDY是個巨牛的人物,是美國HPCC常委的關鍵人物之一,好像還是總統在信息科學方面的特別顧問。KENNEDY是並行計算領域的大牛。前幾年,他義無反顧地承擔起高性能FORTRAN語言(HPF)的編譯器研製工作,項目之大,投入人力之巨,加上他的權威地位,被人們寄予普遍厚望。可惜後來項目失敗了。從此並行計算界陷入了一陣低潮。這幾年KENNEDY好像轉向去做針對特定處理器的後端優化技術了。Rice CS 學生的出路相當好。
一. 專業介紹
計算機科學研究計算機系統以及軟體的設計,以及相關理論和應用領域。在該專業,你將學習很多抽象化的概念。因為計算機溝通要求精確性,因此你必須學會使用精確的程序語言。在學習的過程中,你會被要求思考很多的問題,例如,為什麼編程語言被設計成現在這樣?現實問題如何轉化並編譯成一個程序,並成功解決該現實問題?當一個程序被執行時,計算機內部是如何運行的?計算機如何構建才能使其功能運轉?計算機和程序對於各個領域都有什麼影響?
一些大學注重實用性技術,一些則注重抽象概念和最新技術前沿理論。另外,一些大學要求學生要有很強的數學和邏輯背景。計算機科學是一個很有難度,充滿挑戰性的行業,學生的項目和作業都需要長時間的消耗,它也是一個年輕的,充滿機遇但又對智力要求非常高的領域。如果你痴迷與抽象化思考以及實踐性應用,那麼計算機科學將很適合你。
你如果喜歡以下內容:喜歡數學和邏輯性問題並試圖用程序來解決這些問題,對於事物工作原理給出精確解釋,喜歡機械和電子的小製作;你如果擅長以下內容:傾聽,注重細節,創造力,批判性思維,數學,定量分析,長時間的集中注意力。那麼你很適合這個專業。
計算機科學專業的典型課程設置有:數據結構、數學、運演算法則、操作系統、軟體工程、編程、人工智慧。計算機科學相關專業有:計算機工程、電子通訊工程、計算數學、認知科學、軟體工程、系統工程、機器人技術、信息技術、計算機工程技術、電腦製圖。
因為就讀此專業的學生並不多,計算機科學專業就業前景極好。高級程序員,系統分析人員,網路管理者,資料庫經理,軟體開發人員,金融分析人員多種職業任你選擇。
美國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):用戶使用資料庫的計算機軟體/硬體資源的集合。即採用了資料庫技術的計算機系統;(9)大規模計算中的I/O: 在大規模計算中實現計算機主機與外圍設備進行信息交換的技術。系統軟體層面的這些方向是中國的計算機科學系培養的大學生的中心方向。所以每年有很多的申請者申請這個方向里的內容。主要集中在網路與通訊,軟體工程,資料庫系統等幾個方向。這幾個方向的競爭性比較大。因此條件一般的申請者注意避開上面幾個專業方向申請會把握比較大。
而計算機應用層面就包括:(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人左右。
7. 華盛頓大學(University of Washington) 位於Seattle的U. of Washington得天獨厚——計算機界的巨牛MS就在西雅圖,而且更要命的是,Bill Gates就是那裡的人。這位Harvard的輟學者給了哈佛許多MONEY,但同給U. of Washington的錢財相比,實在是小巫見大巫。 U. of Washington位於風光秀麗的WASHINGTON湖畔,氣候四季如春。33000多學生中研究生有8000名左右。Seattle最令人厭惡的地方可能就是一年有160天會降水。 U. of Washington的CS較大,30多名Faculty成員,每年近20個優質博士畢業,以及大量的Master。估計每年的招生數應該不低。U. of Washington的CS在各個方面比較均衡,最強的軟體排名第5,而其他領域一般也都能位居前10,好像沒有明顯很弱的地方。 圖靈獎得主Dick Karp從UC. Berkeley告老還鄉後又被返聘到了U. of Washington的CS。U. of Washington的CS要求很高,Ph.D.學生入學的平均GPA高達3.86,GRE2160以上,加上一般較早的DEADLINE,申請U. of Washington是相當有難度的。
8. 普林斯頓大學(Princeton University) Princeton是個令人神往的地方,這裡曾經是世界的科學中心。 Princeton的CS不大,18個Faculty成員,學生人數也不算多。科研上除了排名第5的理論,似乎還沒注意到其他閃光點。但是,Princeton無疑培養出了大量計算機界的優秀人物,Jeffrey D. Ullman,John McCarthy等巨牛人物均出自大名鼎鼎的Princeton。在Princeton領受的教育是最好的教育熏陶。 Princeton學校不大,只有6000多學生,研究生不過1700人。
9. 威斯康星大學(University of Wisconsin-Madison) U. of Wisconsin-Madison的CS較大,35個Faculty成員,200多個研究生,每年招60—70個新生。目前幾乎1/4的Faculty來自UC. Berkeley,博士生畢業後有去Stanford ,UC. Berkeley等牛校挑大樑的,但和UIUC類似,似乎進入業界的更多一些。然而要在這裡拿到博士學位可不容易。超過七成的人,會在中途找到比較理想的工作後,拿著碩士文憑拔腿就跑,免得被那些無窮無盡的科研項目給整慘了。 U. of Wisconsin-Madison的資料庫一直在前3位,經常是第1位。這裡的資料庫由於在設計實現DBMS系統上的傳統優勢,使其在業界的聲譽相當崇高,據說Microsoft里有一幫Wisconsin校友從中興風作浪,Oracle也格外青睞Wisconsin-Madison的學子。 Wisconsin的硬體、計算機體系結構實力巨牛,99排名第6,對業界相當有影響力。微處理器中的超標量技術(SuperScalar)源於此地;多處理機CACHE一致性的匯流排偵聽SNOOPING協議,IEEE SCI協議等,都是源於此地。正在研究開發中的MultiScalar技術和 DataScalar技術據說可以把微處理器每個時鐘周期的指令發射數提到10以上,大大地提高微處理器的計算能力。Wisconsin的軟體99排名第7。主要是在系統軟體方面做OS 的設計與實現,WEB上的CACHE策略,支持共享主存和消息傳遞兩種並行編程模式及其混合的並行程序設計語言和編譯器,以及由MIDSHIP項目挑起的關於並行與分散式計算,OODB,科學資料庫,支持圖象查詢的新型查詢語言以及圖象處理等方面的研究。由於美國有大量的衛星圖象需要及時處理,加上迫切需要GIS系統的研究開發,這方面的研發使得U. of Wisconsin-Madison撈到了不少經費。 Wisconsin和UIUC的CS理論都是前10名左右。Wisconsin的Carl de Boor是逼近理論 方面的大牛。 U. of Wisconsin-Madison是個大型的綜合性學校,40000學生中研究生院的超過10 000,這萬人中有博士生5000,碩士生3500,法學院、醫學院、護理學院、獸醫學院的職業學生2000人。2200多Faculty中有多位諾貝爾獎得主,52個院士,其中18個是工程院院士。需要注意的是,Wisconsin的CS有點不同於其他許多學校,它隸屬於College of Letters & Science,而不在College of Engineering下面。因此許多偏硬體的項目,比如嵌入式系統,網路硬體、路由,多媒體,通信,自控以及數字信號處理等項目不在CS D ept.,而是在工程院下的Dept. of Electrical & Computer Engineering,即ECE系。那個系也挺大,比CS還要大不少。98年在工程類排名的計算機工程一項上排了第9位。
10. 德克薩斯大學(University of Texas-Austin) U. of Texas-Austin的CS較大,Faculty中好像有個圖靈獎得主。該系發展比較平衡,最好的AI排第5,其他幾個專業也多能擠進前十。 U. of Texas-Austin是個巨大的學校,5萬學生,研究生院的可能有1.3萬。但學校的主校區卻好像面積不足,僅140公頃,按美國大學的標準,太不足了。
11. 加州理工學院(California Institute of Technology) CIT的CS很小,只有大約5位教授,每年招很少的學生。雖然申請CIT是免費的,但建議不要輕易嘗試。由於系太小,CIT好像只是在計算機硬體和科學計算的可視化方面很強。該系多年以來一直穩坐第11、12位幾乎沒動過窩;類似的情況還有斯坦福,MIT,穩居第1、2位,Cornell穩居第5位,U. of Wisconsin-Madison穩居第9、10位。CIT的CS和其他系,比如數學、物理、生物等需要大量科學計算的部門聯繫很緊密。CIT學校也很小, 2000名學生中研究生佔1100人。Faculty人數也不多,但幾乎個個是巨牛,按平均水平看,CIT可能是世界上最牛的學校了。加州理工學院創建於1891年,這所私立大學的宗旨是「為教育事業、政府及工業發展需要培養富有創造力的科學家和工程師」。迄今為止,它已培養了1萬7千名學生,其中有22名獲得諾貝爾獎,還有大批獲得美國政府頒發的各種科學學術獎項。它被譽為美國一流的科技理工類學院當之無愧。專業特色: CIT的CS專業是一個FULL TIME的PROGRAM,並且只接收PHD申請者。學制上,第一年完成專業課程及制定MS論文研究。第二年,學生主要完成MS論文,以及參加PHD資格考試。通過考試後,學生正式進入博士階段的專業研究工作。 CIT的CS專業鼓勵學生從事創新及交叉學科的研究工作。學生經常會合作完成大型項目,其中每個人都會在項目中扮演重要角色,不可替代。 CIT的CS專業的研究重點在於演算法,通信協議,網路,圖形學及人機交互,VLSI,安全及資訊理論,計算機視覺等。這些方向與物理,生物,數學,機械等交叉學科關係密切。
申請點評:CIT作為全美三大理工之一,在全世界享有盛名,畢業生普遍致力於高端技術領域或從事企業的高層管理。無論是CIT還是CIT的CS專業都秉承著"少而精,小而美"的方針。換句話說,想要申請進入CIT的CS專業學習,難度可想而知。CIT要培養的絕對是專業尖端人才,因此在申請前,需要學生一切背景都做到出類拔萃,才會有機會。對於大多數中國本科畢業生來說,申請成功的機會極小。
12. 馬里蘭大學(University of Maryland at College Park) U. of Maryland at CP是一個實力相當強勁的CS,軟體第8,資料庫第4,AI第9,三個專業都擠進了前10位,它的TINY系統有相當的知名度。
13. 加州大學洛杉磯分校(University of California-Los Angeles) 歷史上UCLA的CS曾經一度輝煌,上到過第6(NRC" 82),但近年來一直徘徊在第13 ~15。而且CS的各個專業細目幾乎沒有一個能進前10名。儘管如此,UCLA的CS還是十分強大的。 UCLA輝煌的歷史可能在於它對Internet的發展所作出的巨大貢獻。六十年代美國的ARPA在搞網路互連的開創性研究,ARPA網的四個節點是:UCLA,Stanford的SRI,UCSB和 U. of Utah。此時一位來自美國新英格蘭地區的青年Vinton Cerf不去離家咫尺的Yale大學,遠涉千里,來到了加州。他先在Stanford獲得數學學士,然後到UCLA拿下了CS的碩士和博士。 畢業後Cerf一直在SRI從事ARPA網的研究,特別是研究如何讓它無法正常工作。幾年後,Cerf與MIT一位到業界闖蕩的數學教授Kyhn合作研發,搞出了一套軟體系統用於網路互連(1973年)。這就是TCP/IP協議的誕生。 UCLA作為INTERNET的先驅,地處陽光燦爛的南加州,應當成為CS學生的樂土。 UCLA有學生33000人,其中研究生院的佔9900人。地處洛杉磯的UCLA周圍幾乎有玩不盡的地方:如DISNEY,HOLLYWOOD等。由於位於大城市,校園不是很大,但風景異常美麗。 UCLA的CS較大,規模應該和U. of Washington和U. of Wisconsin-Madison類似。
14. 密歇根大學(University of Michigan-Ann Arbor) U. of Michigan 是個非常了不起的學校。在BIG TEN里,從綜合的角度上說它可算得上是領頭羊了,當然UIUC, U. of Wisconsin-Madison也緊隨其後。這裡的CS偏硬的更厲害些,硬體排在第9,而計算機工程排第7,EE第5,都是前10名中的巨牛。Michigan 的CS和EE合在一起稱為EECS系,是個相當大的系,每年招收的學生應當不在少數。 Michigan的CS估計在歷史上也相當牛,U. of Wisconsin-Madison CS里兩位來自Mi chigan 的教授都是院士,在其他CS系裡,比如UIUC的,也大有Michigan 的牛人在。如前述,UIUC的CS在硬體上極強,而Michigan 的CS中有許多UIUC的哥們在那裡當老師。
15. 喬治亞理工學院(Georgia Institute of Technology) GIT是個較大的學校,GIT的工程學院很厲害,研發經費僅次於MIT,和UIUC,Michigan差不多。CS系的資料庫第7,GUI第4。
16. 布朗大學(Brown University) Brown的規模不大。這所IVY LEAGUE中的私立學校可能擁有一些類似於CORNELL的優勢。CS的GUI可以列在第6位,好像還有許多關於語音識別等偏人工智慧方面的研發項目。
17. 哈佛大學(Harvard University) 在CS的早期發展史上,Harvard曾經是泰斗級的人物,畢竟CS和數學,物理的淵源太深太長了。好像王安是這裡出來的,Bill Gates也是這裡出來的。Harvard畢竟是Harva rd,總是名人輩出,因為Harvard總是可以招到最優秀的人。但千萬別以為哈佛人人牛。Harvard不喜歡帶工程色彩的東西,CS是掛在Arts & Science學院下面的Division of E ngineering and Applied Science,好像連獨立的一個系都不是。除了理論可以排進前 10名以外,其他項目怕也拿不出多少貨色了。 哈佛大學共有學生18000人,其中研究生院的11000人。Harvard大學擁有世界上最多的諾貝爾獎得主,150多個美國國家科學院院士。哈佛的CS估計不會是大個子,招的學生可能也不多,申請的難度應當很大。
18. 耶魯大學(Yale University) YALE曾經也進過前10名(NRC" 82),是YALE和UCLA而不是Princeton和U. of Texa s-Austin位於前10名的榜上。YALE的CS不大,十幾個老師加上為數不多的學生,每年只招收六個博士研究生。 和Harvard這樣很重文理的學校一樣,YALE的CS在理論上比較強。但不同於哈佛,YALE有獨立的CS系,受到較高的重視。YALE CS在AI和軟體方面比較強。著名的LINDA並行編程模式就是在這裡提出並實現的。YALE 的畢業生到學術界的比到業界的似乎要多,哈佛似乎也是這樣。
19. 普渡大學(Purdue University) 可能許多人還不知道,Purdue的計算機系是美國最早成立的計算機系。建系之初一直處於TOP 10。在70年代由於本人不甚了解的原因,沒落了。Purdue的排名也不太穩定,從13到30的排法似乎都見過。Purdue是個大學校,有35000學生。其工程學院很出名 20.
20. 萊斯大學(Rice University) Rice是個位於休斯頓的小學校,4000名學生,研究生有1600左右吧。CS也不大,優勢在於軟體,排在第9位。該系的KENNEDY是個巨牛的人物,是美國HPCC常委的關鍵人物之一,好像還是總統在信息科學方面的特別顧問。KENNEDY是並行計算領域的大牛。前幾年,他義無反顧地承擔起高性能FORTRAN語言(HPF)的編譯器研製工作,項目之大,投入人力之巨,加上他的權威地位,被人們寄予普遍厚望。可惜後來項目失敗了。從此並行計算界陷入了一陣低潮。這幾年KENNEDY好像轉向去做針對特定處理器的後端優化技術了。Rice CS 學生的出路相當好。
一. 專業介紹
計算機科學研究計算機系統以及軟體的設計,以及相關理論和應用領域。在該專業,你將學習很多抽象化的概念。因為計算機溝通要求精確性,因此你必須學會使用精確的程序語言。在學習的過程中,你會被要求思考很多的問題,例如,為什麼編程語言被設計成現在這樣?現實問題如何轉化並編譯成一個程序,並成功解決該現實問題?當一個程序被執行時,計算機內部是如何運行的?計算機如何構建才能使其功能運轉?計算機和程序對於各個領域都有什麼影響?
一些大學注重實用性技術,一些則注重抽象概念和最新技術前沿理論。另外,一些大學要求學生要有很強的數學和邏輯背景。計算機科學是一個很有難度,充滿挑戰性的行業,學生的項目和作業都需要長時間的消耗,它也是一個年輕的,充滿機遇但又對智力要求非常高的領域。如果你痴迷與抽象化思考以及實踐性應用,那麼計算機科學將很適合你。
你如果喜歡以下內容:喜歡數學和邏輯性問題並試圖用程序來解決這些問題,對於事物工作原理給出精確解釋,喜歡機械和電子的小製作;你如果擅長以下內容:傾聽,注重細節,創造力,批判性思維,數學,定量分析,長時間的集中注意力。那麼你很適合這個專業。
計算機科學專業的典型課程設置有:數據結構、數學、運演算法則、操作系統、軟體工程、編程、人工智慧。計算機科學相關專業有:計算機工程、電子通訊工程、計算數學、認知科學、軟體工程、系統工程、機器人技術、信息技術、計算機工程技術、電腦製圖。
因為就讀此專業的學生並不多,計算機科學專業就業前景極好。高級程序員,系統分析人員,網路管理者,資料庫經理,軟體開發人員,金融分析人員多種職業任你選擇。
美國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):用戶使用資料庫的計算機軟體/硬體資源的集合。即採用了資料庫技術的計算機系統;(9)大規模計算中的I/O: 在大規模計算中實現計算機主機與外圍設備進行信息交換的技術。系統軟體層面的這些方向是中國的計算機科學系培養的大學生的中心方向。所以每年有很多的申請者申請這個方向里的內容。主要集中在網路與通訊,軟體工程,資料庫系統等幾個方向。這幾個方向的競爭性比較大。因此條件一般的申請者注意避開上面幾個專業方向申請會把握比較大。
而計算機應用層面就包括:(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人左右。
7. 華盛頓大學(University of Washington) 位於Seattle的U. of Washington得天獨厚——計算機界的巨牛MS就在西雅圖,而且更要命的是,Bill Gates就是那裡的人。這位Harvard的輟學者給了哈佛許多MONEY,但同給U. of Washington的錢財相比,實在是小巫見大巫。 U. of Washington位於風光秀麗的WASHINGTON湖畔,氣候四季如春。33000多學生中研究生有8000名左右。Seattle最令人厭惡的地方可能就是一年有160天會降水。 U. of Washington的CS較大,30多名Faculty成員,每年近20個優質博士畢業,以及大量的Master。估計每年的招生數應該不低。U. of Washington的CS在各個方面比較均衡,最強的軟體排名第5,而其他領域一般也都能位居前10,好像沒有明顯很弱的地方。 圖靈獎得主Dick Karp從UC. Berkeley告老還鄉後又被返聘到了U. of Washington的CS。U. of Washington的CS要求很高,Ph.D.學生入學的平均GPA高達3.86,GRE2160以上,加上一般較早的DEADLINE,申請U. of Washington是相當有難度的。
8. 普林斯頓大學(Princeton University) Princeton是個令人神往的地方,這裡曾經是世界的科學中心。 Princeton的CS不大,18個Faculty成員,學生人數也不算多。科研上除了排名第5的理論,似乎還沒注意到其他閃光點。但是,Princeton無疑培養出了大量計算機界的優秀人物,Jeffrey D. Ullman,John McCarthy等巨牛人物均出自大名鼎鼎的Princeton。在Princeton領受的教育是最好的教育熏陶。 Princeton學校不大,只有6000多學生,研究生不過1700人。
9. 威斯康星大學(University of Wisconsin-Madison) U. of Wisconsin-Madison的CS較大,35個Faculty成員,200多個研究生,每年招60—70個新生。目前幾乎1/4的Faculty來自UC. Berkeley,博士生畢業後有去Stanford ,UC. Berkeley等牛校挑大樑的,但和UIUC類似,似乎進入業界的更多一些。然而要在這裡拿到博士學位可不容易。超過七成的人,會在中途找到比較理想的工作後,拿著碩士文憑拔腿就跑,免得被那些無窮無盡的科研項目給整慘了。 U. of Wisconsin-Madison的資料庫一直在前3位,經常是第1位。這裡的資料庫由於在設計實現DBMS系統上的傳統優勢,使其在業界的聲譽相當崇高,據說Microsoft里有一幫Wisconsin校友從中興風作浪,Oracle也格外青睞Wisconsin-Madison的學子。 Wisconsin的硬體、計算機體系結構實力巨牛,99排名第6,對業界相當有影響力。微處理器中的超標量技術(SuperScalar)源於此地;多處理機CACHE一致性的匯流排偵聽SNOOPING協議,IEEE SCI協議等,都是源於此地。正在研究開發中的MultiScalar技術和 DataScalar技術據說可以把微處理器每個時鐘周期的指令發射數提到10以上,大大地提高微處理器的計算能力。Wisconsin的軟體99排名第7。主要是在系統軟體方面做OS 的設計與實現,WEB上的CACHE策略,支持共享主存和消息傳遞兩種並行編程模式及其混合的並行程序設計語言和編譯器,以及由MIDSHIP項目挑起的關於並行與分散式計算,OODB,科學資料庫,支持圖象查詢的新型查詢語言以及圖象處理等方面的研究。由於美國有大量的衛星圖象需要及時處理,加上迫切需要GIS系統的研究開發,這方面的研發使得U. of Wisconsin-Madison撈到了不少經費。 Wisconsin和UIUC的CS理論都是前10名左右。Wisconsin的Carl de Boor是逼近理論 方面的大牛。 U. of Wisconsin-Madison是個大型的綜合性學校,40000學生中研究生院的超過10 000,這萬人中有博士生5000,碩士生3500,法學院、醫學院、護理學院、獸醫學院的職業學生2000人。2200多Faculty中有多位諾貝爾獎得主,52個院士,其中18個是工程院院士。需要注意的是,Wisconsin的CS有點不同於其他許多學校,它隸屬於College of Letters & Science,而不在College of Engineering下面。因此許多偏硬體的項目,比如嵌入式系統,網路硬體、路由,多媒體,通信,自控以及數字信號處理等項目不在CS D ept.,而是在工程院下的Dept. of Electrical & Computer Engineering,即ECE系。那個系也挺大,比CS還要大不少。98年在工程類排名的計算機工程一項上排了第9位。
10. 德克薩斯大學(University of Texas-Austin) U. of Texas-Austin的CS較大,Faculty中好像有個圖靈獎得主。該系發展比較平衡,最好的AI排第5,其他幾個專業也多能擠進前十。 U. of Texas-Austin是個巨大的學校,5萬學生,研究生院的可能有1.3萬。但學校的主校區卻好像面積不足,僅140公頃,按美國大學的標準,太不足了。
11. 加州理工學院(California Institute of Technology) CIT的CS很小,只有大約5位教授,每年招很少的學生。雖然申請CIT是免費的,但建議不要輕易嘗試。由於系太小,CIT好像只是在計算機硬體和科學計算的可視化方面很強。該系多年以來一直穩坐第11、12位幾乎沒動過窩;類似的情況還有斯坦福,MIT,穩居第1、2位,Cornell穩居第5位,U. of Wisconsin-Madison穩居第9、10位。CIT的CS和其他系,比如數學、物理、生物等需要大量科學計算的部門聯繫很緊密。CIT學校也很小, 2000名學生中研究生佔1100人。Faculty人數也不多,但幾乎個個是巨牛,按平均水平看,CIT可能是世界上最牛的學校了。加州理工學院創建於1891年,這所私立大學的宗旨是「為教育事業、政府及工業發展需要培養富有創造力的科學家和工程師」。迄今為止,它已培養了1萬7千名學生,其中有22名獲得諾貝爾獎,還有大批獲得美國政府頒發的各種科學學術獎項。它被譽為美國一流的科技理工類學院當之無愧。專業特色: CIT的CS專業是一個FULL TIME的PROGRAM,並且只接收PHD申請者。學制上,第一年完成專業課程及制定MS論文研究。第二年,學生主要完成MS論文,以及參加PHD資格考試。通過考試後,學生正式進入博士階段的專業研究工作。 CIT的CS專業鼓勵學生從事創新及交叉學科的研究工作。學生經常會合作完成大型項目,其中每個人都會在項目中扮演重要角色,不可替代。 CIT的CS專業的研究重點在於演算法,通信協議,網路,圖形學及人機交互,VLSI,安全及資訊理論,計算機視覺等。這些方向與物理,生物,數學,機械等交叉學科關係密切。
申請點評:CIT作為全美三大理工之一,在全世界享有盛名,畢業生普遍致力於高端技術領域或從事企業的高層管理。無論是CIT還是CIT的CS專業都秉承著"少而精,小而美"的方針。換句話說,想要申請進入CIT的CS專業學習,難度可想而知。CIT要培養的絕對是專業尖端人才,因此在申請前,需要學生一切背景都做到出類拔萃,才會有機會。對於大多數中國本科畢業生來說,申請成功的機會極小。
12. 馬里蘭大學(University of Maryland at College Park) U. of Maryland at CP是一個實力相當強勁的CS,軟體第8,資料庫第4,AI第9,三個專業都擠進了前10位,它的TINY系統有相當的知名度。
13. 加州大學洛杉磯分校(University of California-Los Angeles) 歷史上UCLA的CS曾經一度輝煌,上到過第6(NRC" 82),但近年來一直徘徊在第13 ~15。而且CS的各個專業細目幾乎沒有一個能進前10名。儘管如此,UCLA的CS還是十分強大的。 UCLA輝煌的歷史可能在於它對Internet的發展所作出的巨大貢獻。六十年代美國的ARPA在搞網路互連的開創性研究,ARPA網的四個節點是:UCLA,Stanford的SRI,UCSB和 U. of Utah。此時一位來自美國新英格蘭地區的青年Vinton Cerf不去離家咫尺的Yale大學,遠涉千里,來到了加州。他先在Stanford獲得數學學士,然後到UCLA拿下了CS的碩士和博士。 畢業後Cerf一直在SRI從事ARPA網的研究,特別是研究如何讓它無法正常工作。幾年後,Cerf與MIT一位到業界闖蕩的數學教授Kyhn合作研發,搞出了一套軟體系統用於網路互連(1973年)。這就是TCP/IP協議的誕生。 UCLA作為INTERNET的先驅,地處陽光燦爛的南加州,應當成為CS學生的樂土。 UCLA有學生33000人,其中研究生院的佔9900人。地處洛杉磯的UCLA周圍幾乎有玩不盡的地方:如DISNEY,HOLLYWOOD等。由於位於大城市,校園不是很大,但風景異常美麗。 UCLA的CS較大,規模應該和U. of Washington和U. of Wisconsin-Madison類似。
14. 密歇根大學(University of Michigan-Ann Arbor) U. of Michigan 是個非常了不起的學校。在BIG TEN里,從綜合的角度上說它可算得上是領頭羊了,當然UIUC, U. of Wisconsin-Madison也緊隨其後。這裡的CS偏硬的更厲害些,硬體排在第9,而計算機工程排第7,EE第5,都是前10名中的巨牛。Michigan 的CS和EE合在一起稱為EECS系,是個相當大的系,每年招收的學生應當不在少數。 Michigan的CS估計在歷史上也相當牛,U. of Wisconsin-Madison CS里兩位來自Mi chigan 的教授都是院士,在其他CS系裡,比如UIUC的,也大有Michigan 的牛人在。如前述,UIUC的CS在硬體上極強,而Michigan 的CS中有許多UIUC的哥們在那裡當老師。
15. 喬治亞理工學院(Georgia Institute of Technology) GIT是個較大的學校,GIT的工程學院很厲害,研發經費僅次於MIT,和UIUC,Michigan差不多。CS系的資料庫第7,GUI第4。
16. 布朗大學(Brown University) Brown的規模不大。這所IVY LEAGUE中的私立學校可能擁有一些類似於CORNELL的優勢。CS的GUI可以列在第6位,好像還有許多關於語音識別等偏人工智慧方面的研發項目。
17. 哈佛大學(Harvard University) 在CS的早期發展史上,Harvard曾經是泰斗級的人物,畢竟CS和數學,物理的淵源太深太長了。好像王安是這裡出來的,Bill Gates也是這裡出來的。Harvard畢竟是Harva rd,總是名人輩出,因為Harvard總是可以招到最優秀的人。但千萬別以為哈佛人人牛。Harvard不喜歡帶工程色彩的東西,CS是掛在Arts & Science學院下面的Division of E ngineering and Applied Science,好像連獨立的一個系都不是。除了理論可以排進前 10名以外,其他項目怕也拿不出多少貨色了。 哈佛大學共有學生18000人,其中研究生院的11000人。Harvard大學擁有世界上最多的諾貝爾獎得主,150多個美國國家科學院院士。哈佛的CS估計不會是大個子,招的學生可能也不多,申請的難度應當很大。
18. 耶魯大學(Yale University) YALE曾經也進過前10名(NRC" 82),是YALE和UCLA而不是Princeton和U. of Texa s-Austin位於前10名的榜上。YALE的CS不大,十幾個老師加上為數不多的學生,每年只招收六個博士研究生。 和Harvard這樣很重文理的學校一樣,YALE的CS在理論上比較強。但不同於哈佛,YALE有獨立的CS系,受到較高的重視。YALE CS在AI和軟體方面比較強。著名的LINDA並行編程模式就是在這裡提出並實現的。YALE 的畢業生到學術界的比到業界的似乎要多,哈佛似乎也是這樣。
19. 普渡大學(Purdue University) 可能許多人還不知道,Purdue的計算機系是美國最早成立的計算機系。建系之初一直處於TOP 10。在70年代由於本人不甚了解的原因,沒落了。Purdue的排名也不太穩定,從13到30的排法似乎都見過。Purdue是個大學校,有35000學生。其工程學院很出名 20.
20. 萊斯大學(Rice University) Rice是個位於休斯頓的小學校,4000名學生,研究生有1600左右吧。CS也不大,優勢在於軟體,排在第9位。該系的KENNEDY是個巨牛的人物,是美國HPCC常委的關鍵人物之一,好像還是總統在信息科學方面的特別顧問。KENNEDY是並行計算領域的大牛。前幾年,他義無反顧地承擔起高性能FORTRAN語言(HPF)的編譯器研製工作,項目之大,投入人力之巨,加上他的權威地位,被人們寄予普遍厚望。可惜後來項目失敗了。從此並行計算界陷入了一陣低潮。這幾年KENNEDY好像轉向去做針對特定處理器的後端優化技術了。Rice CS 學生的出路相當好。
推薦閱讀:
※第七天:Leecode 394. Decode String
※電腦是由哪些零部件組成的?
※Webpack4入門(3)
※7-Zip:從未初始化內存到遠程代碼執行
※Scrapy框架的使用抓取分析