首先給大家介紹一下美國CS學(xué)科的分類。平時我們所說的CS其實是一個很廣的概念,就像醫(yī)學(xué)一樣,很多不同的細的分科,這里我列了一些美國比較常見的分科。
軟件工程
數(shù)據(jù)庫
計算機網(wǎng)絡(luò)
人工智能
計算機圖形學(xué)和多媒體
體系結(jié)構(gòu)/編譯器和并行計算
人機交互
管理信息系統(tǒng)
信息安全
理論和算法
軟件工程,是關(guān)于計算機軟件開發(fā)和維護的一門工程學(xué)科,簡單一點可以理解為CS+管理科學(xué)。是整個CS里最弱化數(shù)學(xué)能力的分支,但概念性很強,有點像半個文科,而且特別強調(diào)實踐,是所有分支里就業(yè)機會最多的方向,但可能不是最尖端,最有趣的方向。
數(shù)據(jù)庫,涉及與數(shù)據(jù)管理相關(guān)的所有方面,可應(yīng)用的領(lǐng)域有電腦游戲設(shè)計,數(shù)據(jù)隱私與安全等。數(shù)據(jù)庫是CS各領(lǐng)域中最抽象和枯燥的方向。抽象體現(xiàn)在所用的數(shù)學(xué)知識全部基于離散數(shù)學(xué)和抽象代數(shù),而不是連續(xù)數(shù)學(xué),所以要學(xué)好并不容易;枯燥體現(xiàn)在它不像很多其它方向那樣可以做出非?;ㄉ诘慕Y(jié)果或圖形界面。但學(xué)好數(shù)據(jù)庫的話,就業(yè)非常穩(wěn)定。
人工智能,AI可以說是目前CS最熱門的方向了。說得通俗一點,例如人臉識別,虹膜識別,google的自動駕駛,微軟的Hanover系統(tǒng)自動開藥,醫(yī)學(xué)領(lǐng)域的自動影像學(xué)、金融領(lǐng)域的自動算法交易都是AI的成果。大多數(shù)的科技公司,比如亞馬遜、特斯拉、谷歌都把AI看成下一個十年里,公司的創(chuàng)新驅(qū)動力。
學(xué)習(xí)AI需要非常廣泛的知識面和訓(xùn)練,不僅需要CS的雄厚的基礎(chǔ)知識,還需要了解一些認知心理學(xué)、語言學(xué)、哲學(xué)和工程學(xué)的知識。除此之外,還需要掌握一些技能和工具,例如統(tǒng)計學(xué)、神經(jīng)科學(xué)、控制、優(yōu)化和運籌學(xué)。對于大多數(shù)計算機科學(xué)排名較高的高校,他們往往在人工智能研究方面也會極為出色。包括斯坦福大學(xué),卡內(nèi)基梅隆大學(xué),麻省理工大學(xué),加州伯克利大學(xué),佐治亞理工大學(xué)等。
計算機圖形學(xué)Computer Graphics,多媒體Multimedia。這個專業(yè)與人工智能、計算機網(wǎng)絡(luò)、軟件工程全都有交叉。研究圖像的表達、處理等。計算機成像,三維動畫,甚至網(wǎng)絡(luò)影像傳播都屬于這個方向的范疇。學(xué)習(xí)這個專業(yè)的同學(xué)可以去游戲設(shè)計公司,電影視頻制作公司找工作??傊?,現(xiàn)在的生活離不開圖形圖像的數(shù)字表達處理,也就離不開學(xué)計算機圖形學(xué)和多媒體的同學(xué)。
人機交互(HCI)也是最近大熱的新興專業(yè)。不過很多人對HCI都存在一個誤區(qū)――人機交互就是設(shè)計界面,這是把人機交互和交互設(shè)計(Interactive Design)混為一談了。事實上HCI是一個大型的交叉學(xué)科,它包括認知心理學(xué),社會學(xué),CS,需要涉獵的知識也包括軟件,硬件,算法,Machine Learning, Deep Learning, 社會調(diào)查等。
舉個大家熟悉的例子,多點觸控技術(shù)就是人機交互研究的一大成果,這里面既包括算法的研究也包括硬件設(shè)備的開發(fā)以及軟硬件整合的系統(tǒng)技術(shù),以及手勢規(guī)則的定義等,而交互設(shè)計,則可能是指在設(shè)計一個APP時,如何將產(chǎn)品的各個功能與特定的手勢操作對應(yīng)起來,以及實現(xiàn)這些功能的次序和條件是什么樣的。HCI有兩個大方向: 1) 偏Design的(屬于藝術(shù)類方向,需要portfolio); 2)偏工程方向。理工科背景的學(xué)生一般都申請工程方向。
還有比如管理信息系統(tǒng)MIS本質(zhì)上說就是一個數(shù)據(jù)庫系統(tǒng),它和其他數(shù)據(jù)庫系統(tǒng)的不同就在于其目的用于整合必要的信息用于決策。MIS專業(yè)還分成在工程院(計算機學(xué)院)或者商學(xué)院(管理)下面。前者偏技術(shù),后者是偏商科了。咱們中國人去美國讀Master,當(dāng)然是偏技術(shù)的那種畢業(yè)以后路子平坦一些。
還有信息安全和計算機網(wǎng)絡(luò),其實嚴格一點說是屬于Computer engineering, 一些學(xué)校也會放在EE系下面。
體系結(jié)構(gòu)/編譯器和并行計算,Computer Architecture 計算機架構(gòu)是講計算機硬件組成的,屬于CE或EE;編譯器和并行計算申請的人也很少,理論和算法方向是理論層面的。
美國學(xué)校排名版本特別多,但大部分參考的都是USNews的排名,而USNews也有兩個排名,一個綜合排名,一個專業(yè)排名。其實綜合排名這個說法是不太準(zhǔn)確的,因為這本來是屬于本科類學(xué)科的排名。
你會發(fā)現(xiàn)在綜合排名里,很多公立學(xué)校的排名不是很靠前,這主要是因為很多公立學(xué)校在招收本科生的時候,會考慮到不同州由于教學(xué)水平不一樣,學(xué)生素質(zhì)也不太一樣,為了相對公平,會招收一部分可能不那么優(yōu)秀的學(xué)生進來,所以就會拉低公立學(xué)校的錄取水平,所以排名不是很靠前。但我們在申請Master或Ph.D的時候,應(yīng)該參考專業(yè)排名,專業(yè)排名能比較準(zhǔn)確地反映研究生院的水平。
這里我們把學(xué)校大概分為三檔:
Top10
這一檔是相對是比較難申請的。申請Top10你必須要有一定的亮點,不能有特別明顯的短板。拿到錄取的學(xué)生背景都是非常強的,研究經(jīng)歷、實習(xí)經(jīng)歷都很豐富,并且這些學(xué)生都很會包裝自己,在文書中把自己的特點和優(yōu)勢最大化的展現(xiàn)。申請硬件的話也有一個大概的衡量標(biāo)準(zhǔn)可以給大家參考,當(dāng)然申請也不是只看硬件,肯定是一個比較綜合的過程:GPA3.8 ,T105,G320。
雖然Top10學(xué)校的CS都不太好申請,但也有相對比較好申的學(xué)校,當(dāng)然只是相對,這種相對是跟斯坦福、麻省理工、伯克利這些學(xué)校來比較的。了解計算機專業(yè)都會知道CMU, 申請CMU有一個好處,因為這個學(xué)校的CS專業(yè)很大,所以相對的錄取概率也會比較大,UIUC也同理。另外還有Georgia Tech,UT-Austin也會相對容易一點。
Top30
Top30的申請要求相對會容易一些,你可以有1~2個不太明顯的缺點,但是也不能來一個GPA60,這肯定是不行的。這一檔里我們會比較推薦哥大、普度、賓大、南加州、加州大學(xué)圣地亞哥分校和加州大學(xué)歐文分校。這些學(xué)校的畢業(yè)生還是比較好找工作的。如果你達不
到Top10的水平,這些學(xué)校是很好的選擇。TOP30的話,GPA3.5 、T100 、G 315以上是比較推薦的。
Top100
TOP100這個檔次的學(xué)校跨度會比較大,但是在申請難度上的差別卻不是特別明顯,申請合理、條件中規(guī)中矩一些就能拿到錄取。GPA3.0、T90、G310以上即可。這里面比較推薦的學(xué)校就有UC-Davis,UC-Riverside,TAMU, Stony Brook,NCSU等。
在申請這些學(xué)校的時候,排名不用看的太重,60名到70名差距不是很大。申請這些學(xué)校,首先需要考慮地域條件。地域好的地方,往往工作會比較好找。
舉個例子,加州部分學(xué)校雖然排名比較靠后,但是畢業(yè)生的工作也會相當(dāng)好找。除了加州之外,還有德州。因為德州現(xiàn)在在達拉斯那邊已經(jīng)形成了一個比較強勢的IT圈。另外還有亞特蘭大,亞特蘭大北部的IT公司也是非常多的。還有紐約、波士頓,以及西雅圖。
有些申請短板是無法改變的,比如本科學(xué)校、GPA。想要大幅度改變GPA,這是比較難的,往往是需要花費很大的力氣重修但是還是提升不了多少。所以如果你覺得自己定位是在TOP50,想沖一下TOP30,或者想TOP30沖TOP10,這種情況下,你就要想其他辦法來彌補你的不足了。比較有效的方法主要有兩個:
爭取發(fā)表學(xué)術(shù)論文
第一個是發(fā)表論文,發(fā)表論文主要有三個比較好的方法。第一個是進你們學(xué)校教授的實驗室,這個需要你去和教授談,一般如果你成績不錯,表明緣由的話,教授一般都不會拒絕你,免費的勞動力一般他們都會要的。如果你進了實驗室,他一般會讓博士生或者碩士生帶你。
如果你運氣比較好,你碰到一些博士或者碩士師兄,他們正好要發(fā)論文,你去幫他們整理一下數(shù)據(jù),畫畫圖,哪怕做一些技術(shù)含量比較低的活,他們也有可能會把你的名字掛在上面,這樣就可以完成你的論文任務(wù)了。完成這一步你可以淘汰一大部分的同學(xué)。
第二個方法,你可以利用暑假去中科院或者其他研究機構(gòu)去實習(xí),中科院和微軟亞洲研究院的論文產(chǎn)量都是非常高的。
還有第三個方法,其實你不用把論文想的太難,你可以和你幾個成績好的同學(xué)做個項目,組隊去出一篇論文,能找到老師指導(dǎo)的話肯定會更好。
CS類交叉學(xué)科與跨專業(yè)
肯定有同學(xué)實在沒有條件去彌補這些不足,但又想申請比較好的學(xué)校怎么辦?其實還有一種曲線救國的方法――申請交叉學(xué)科。
因為如果你想申請CS,你不僅在和國人競爭,還有美國本土學(xué)生在和你一起申請,而美國學(xué)校在錄取的時候肯定會多考慮自己國家的學(xué)生,所以CS申請難度相對會比其他專業(yè)更難一點。但是我們可以去申請一些交叉的學(xué)科,這些學(xué)科往往會比CS專業(yè)申請要求低一些,競爭也不會那么激烈。
比如ECE電子與計算機工程,聽起來名字也非常像CS,還有比如計算科學(xué)與工程,這主要是偏向于理論計算的一個學(xué)科,但這個學(xué)科里面都是有偏向于Computer Science部分的。而且這些專業(yè)在找工作的時候,在難度和工資收入上和傳統(tǒng)的CS沒有明顯的區(qū)別,但是錄取要求會低很多,性價比很高。
CS如此熱門,自然也是吸引了一大批同學(xué)想跨專業(yè)申請,如果想轉(zhuǎn)CS,有哪些課程可以推薦?具體需要學(xué)哪些課程呢?
首先,大家可以在MOOC平臺,包括Coursera,edx Udacity等等這些平臺上修計算機的課,他們的課程是非常全面的,理工和商科類的都有,可以修完拿證書,認可度是比較不錯的;另外就是可以去巴魯克的官網(wǎng)修C++的網(wǎng)課也是可以的,在美國的認可度很高。
數(shù)學(xué)方面:線性代數(shù),概率與統(tǒng)計和離散數(shù)學(xué)這幾門是必修課,基本上國內(nèi)的工科開設(shè)離散數(shù)學(xué)的比較少,如果沒有這門課程的話看看學(xué)校可不可以選修,如果不可以選修這門課的話可以在Coursera,edx,Udacity等等平臺上修這門課拿到證書也是可以的。另外就是可以參加國賽或者美賽,爭取拿到比較好的獎項,也可以很有利于證明自己的數(shù)學(xué)能力。
計算機的課程包括:數(shù)據(jù)結(jié)構(gòu)和算法,操作系統(tǒng),數(shù)據(jù)庫;如果時間有限,建議先攻數(shù)據(jù)結(jié)構(gòu)和算法。編程語言方面最好會C語言,C++,Java和python等;跨專業(yè)申請有難度,但也并不完全不可能。
還有一種法子,你可以試著到美國后再本校轉(zhuǎn)專業(yè),在美國轉(zhuǎn)專業(yè)是比國內(nèi)容易很多的。這其實是一個比較好的方法,但是也不能夠保證是一定可以的,而且你也要付出很多的努力,同時學(xué)兩個專業(yè)的課程是非常累的。