北美「碼農」收入到底有多高?近期一個帖子引發了熱議:20年前本科畢業月薪3000人民幣的樓主,2014年35歲那年移民,現在年收入達到了40萬美元,摺合人民幣270萬……

那麼如何才能出國讀Computer Science呢?——博世留學為你帶來權威的計算機留學申請全攻略。

學科概覽: 什麼是Computer Science

儘管大家習慣性地把計算機學科稱為CS,但是從人才培養目標的角度而言,我們通常認為,計算機學科可以分成計算機工程(computer engineering)和計算機科學(computer science)兩部分。

計算機工程方向的教學內容,通常傾向於培養學生工程項目方面的動手能力,偏重於程序設計語言的學習、軟體工程的實踐等等。其培養目的在於盡量拓寬學生在工具應用層面的眼界,讓學生能夠熟練掌握多種業界主流的開發工具和開發模型。

計算機科學方向的教學內容比較偏向理論,其培養目的,是教會學生基於數學和哲學,利用計算機作為工具,對一些問題進行建模求解。所以這也要求學生具備紮實的線性代數、離散數學、形式邏輯、統計學等紮實的數學基礎。這些問題有可能是生活中可以見到的應用型問題,比如研究如何準確地使用計算機演算法對人臉進行識別,或使用計算機演算法與人類棋手對弈,對這類問題的研究稱為應用型基礎研究;被研究的問題也有可能是純理論問題,比如研究基如何通過蒙特卡洛方法對深度學習網路進行剪枝優化等等,這類研究的方向比較抽象,通常被稱為理論型基礎研究。我們一般認為,理論型研究是應用型研究的基礎和工具。

計算機工程通常是計算機系本科生和部分碩士研究生的培養方向學習範疇。而部分碩士研究生(尤其是M.Phil)和絕大多數博士研究生(Ph.D)都在從事計算機科學方面的研究。

本科培養體系

在本科階段,培養計劃的目的在於引領學生對計算機領域進行廣泛但並不深入的了解,課程大致可以分為幾類:

計算機是什麼:計算機科學導論,操作系統,編譯原理,計算機體系結構,資料庫基礎,網路導論,數字電子電路,等。

開發工具和開發模型:面向過程程序設計(C語言),面向對象程序設計(C++,Java或Python),彙編語言,軟體工程導論,網路工程導論等。

攻讀更高層次學位時可能用到的數學基礎:線性代數,概率與統計,離散數學,隨機過程,積分變換,等。

除此之外,本科培養體系里的專業選修課程會接觸到一些細分領域的入門課程,如機器學習,人工智慧,網路安全,管理信息系統等。

研究生培養體系

通常在碩士階段,學生開始接觸到比較實際的計算機科學專業方向,這通常取決於導師自己的方向。但由於碩士培養周期較短,對專業方向的涉及也常常比較淺顯,碩士畢業生通常的狀態是「具備比較紮實的計算機工程基礎,已經開始接觸計算機科學問題。

到了博士階段,學生的主要任務就是挑選一個計算機科學的細分方向進行深入研究,直至斬獲該細分方向的突破性進展才能夠畢業。計算機科學的研究方向互相交叉,很難給出一個科學的分類圖譜,我們這裡列出一些常見的研究方向及組合:

細分方向:人工智慧

人工智慧又稱Artificial Intelligence,通過創造出一個數學模型,用訓練的方式使其自我進化,繼而能夠正確處理其並未遇到的問題。這個用數學模型模擬出的過程(學習-思考-推理)與人類腦部工作機理相似,故稱為人工智慧。人工智慧的實現方式和相關學派很多,例如基於統計的學習方法,神經網路等。人工智慧是一種基礎研究,其成果可供大部分應用研究使用。例如,卷積神經網路(CNN)就是一種基於神經網路的人工智慧模型,如何創建卷積神經網路是人工智慧研究的範疇,而如何對CNN進行合理應用甚至加以改造以解決實際問題,是應用型研究(如圖像處理)的範疇。從就業的角度而言,人工智慧也是一個炙手可熱的方向,一般來說人工智慧的細分方向又包括以下三個方面:

數字圖像處理:傳統意義上的圖像處理,通常是指對數字圖像進行處理,以便於提取出其中有價值的部分。早期圖像處理的研究常局限於如何通過色彩空間中的變換進行預處理,繼而對輪廓,紋理進行提取,或對ROI(region of interesting)進行分割(業界曾認為圖像變換、增強及分割是圖像處理的三大主要任務)。其目的在於為後繼工作,如物體識別等,提供精準的素材(特徵)。隨著人工智慧的發展,圖像處理的研究熱點逐漸變成了人工智慧在圖像領域的應用研究。例如,使用生成對抗網路(GAN)對圖像進行補全等。近年來,由於數字照片的普及,人們對於圖像處理的需求愈發強烈,相機廠商及手機廠商,甚至一些世俗化的圖像處理APP(美圖秀秀等)均大量招入圖像處理類研究生,以改善其產品的拍照及後期處理質量。

模式識別(PR):通俗一點來說,模式識別的研究任務,就是回答「這是個什麼東西?「。即,使用前處理(如圖像處理或自然語言處理)得到的特徵,對特徵所對應的實例進行分類(識別)。模式識別在日常生活中的應用及其廣泛,從圖像類的生物特徵識別(人臉、指紋、虹膜、步態識別)、圖像內容識別(google photo,車輛自動駕駛)到語音類的命令詞識別(智能家居)、聽寫(自動會議記錄),都要使用模式識別的方法。模式識別與人工智慧在研究方向上緊密相關,大量的人工智慧研究者會選擇模式識別問題作為其研究方向的應用背景。

自然語言處理(NLP):自然語言處理是人工智慧和語言學的交叉方向,也可以看作一種模式識別問題。其一般使用人工智慧的理論基礎,模擬人腦對人類語言的理解和生成。自動翻譯、自動應答機器人等是NLP的典型應用。

人工智慧方向如果按research topic來說的話,覆蓋的研究話題主要有:

Learning and Probabilistic Inference (深度學習與概率推斷): Graphical models. Kernel methods. Nonparametric Bayesian methods. Reinforcement learning. Problem solving, decisions, and games.

Knowledge Representation and Reasoning (知識表示與推理): First order probabilistic logics. Symbolic algebra.

Search and Information Retrieval (搜索與信息檢索): Collaborative filtering. Information extraction. Image and video search. Intelligent information systems.

Speech and Language (語言識別與自然語言處理): Parsing. Machine translation. Speech Recognition. Context Modeling. Dialog Systems.

Vision (計算機視覺): Object Recognition. Scene Understanding. Human Activity Recognition. Active Vision. Grouping and Figure-Ground. Visual Data Mining.

Robotics (機器人與自動駕駛): Motion Planning, Computational Geometry. Computer assisted surgical and medical analysis, planning, and monitoring. Unmanned Air Vehicles

細分方向:信息安全

信息安全(Information Security,Cybersecurity)主要對加密演算法、安全協議以及從網路安全或漏洞掃描等工程問題中抽象出的理論進行研究,近幾年,也有相當的研究者將人工智慧引入信息安全領域。隨著信息化的進程,信息安全作為一項基礎服務也受到了業界的關注,但目前僅限於漏洞掃描和入侵檢測領域。所以業界普遍認為信息安全行業具有良好的發展前景,其研究領域包括:

Cryptography (密碼學):Complexity-theoretic approaches to cryptography, development of new cryptographic systems, cryptanalysis, protocol development, applied cryptography, quantum computation, and applications that include electronic commerce, electronic voting, wireless communications, and protocols for sensor webs.

Privacy (隱私安全):Privacy in wireless sensor webs, privacy in RFID systems, privacy issues in databases, privacy in web based applications.

Security, programming languages, and software engineering (軟體安全):The interaction between programming languages and computer security -- an area often called "software security."

Network security (網路安全):High-performance network security monitoring and intrusion prevention.

其他細分方向

人機交互(Human-Computer Interaction)

語境感知計算(Context-aware Computing):活動分析,智能空間,位置感知系統,隱私技術;感知界面(Perceptual Interfaces):基於視覺的界面,語音和話語界面;協作和學習(Collaboration and Learning):基於模式的創作工具,ESL(英語作為第二語言)學習,小組協作技術,包括地理上分散式的遠程沉浸式協作;驗光和人類視覺模擬(Optometry and Human Vision Simulation):計算機輔助角膜建模和可視化,醫學成像,手術模擬的虛擬環境,視覺逼真的渲染等等。

計算機架構與工程(Computer Architecture and Engineering)

研究解決計算機體系結構中的下一代問題,以解決並行計算的巨大挑戰,引入其他領域的技術(例如,用於高影響優化的機器學習),基於新型基板的架構思想,功率預算問題,微架構電路水平問題,以及感測器網路發展中的架構問題。

計算生物學(Computational Biology)

生物數據集的規模和範圍空前增長,包括多物種基因組數據,多態變體資料庫,蛋白質結構和RNA結構資料庫,基因表達數據,大規模基因敲除實驗的生化測量和生物醫學數據。電路設計和納米技術的想法在新的生物感測器和執行器的設計中發揮著關鍵作用。表示,操縱和整合這些數據需要集合大量的計算機領域的知識,例如資料庫,演算法,人工智慧,圖形,信號處理和圖像處理。對產生此類數據的潛在現象的推理需要系統級思維,這也是控制理論,信息理論和統計機器學習等領域的基礎。

控制、智能系統與機器人(Control,Intelligence System and Robotics)

控制和機器人技術關注的是建模系統和機器的一般問題,然後使它們對輸入作出適當的響應。 特別是當目標系統在規模上增長時,優化和數學技術起著關鍵作用。 控制範圍從半導體過程式控制制,混合和網路控制到非線性和學習控制,所以這個領域結合了機械工程,生物學和計算機的交叉。機器人技術被廣泛地解釋為包括從毫米級移動機器人到3米轉子跨度直升機的移動自動系統,用於組裝的固定自治系統,以及諸如遠程呈現和虛擬現實的人類增強能力。 為機器人提供圖像理解能力,以及利用計算機視覺來輔助人類,是當前關鍵研究領域之一。

通信與網路(Communication and Network)

研究涵蓋理論,模擬,模擬和實施。資訊理論,編碼論,博弈論,控制論,統計學,數據分析和大系統漸近性的技術起著突出的作用。關心的問題包括數據中心,點對點計算,邊緣計劃,社交網路,無線網路控制及其需求,例如隱私和安全,激勵和機制設計。研究活動還涉及系統生物學,DNA和RNA序列重建以及MRI。在大規模部署通信基礎設施時,信息理論,網路,數據壓縮,編碼和多用戶通信以及演算法和協議設計以及系統範圍政策考慮等一些核心問題的基礎工作都是研究的核心。

其他

除此之外,還有Cyber-Physical Systems and Design Automation (網路物理系統和設計自動化) ,Database Management Systems (資料庫管理系統),Graphics (計算機圖形學) ,Scientific Computing (科學計算) ,Signal Processing (信號處理),Theory (計算理論與複雜度科學)。

選校建議

很多申請者在申請選校的時候,都依賴於US NEWS的排名,或者QS的排名。但是這些排名,一般都由學術聲譽、論文數量、論文引用、會議論文和書籍出版、國際化程度等指標來衡量,對CS專業其實不很適用。

CS的研究,很多時候都是在搶熱點,看誰做得更快,因此很多重要的科研成果都是發表在會議論文上,而US NEWS對於會議論文的權重只有可憐的2.5%,而學術聲譽等指標又過於主觀,因此這些排名參考意義不大也就情有可原了。

因此我們一般推薦更適合CS專業的 CSRankings.org 排名,一般來說,CMU,MIT,Stanford,UC Berkeley美國大學裡毫無疑問的CS巨頭,不管是理論研究還是應用領域,都是引領世界潮流的。

當然,排名也僅僅是一個參考,我們建議申請者不要過於糾結排名的細微區別。比如蒙特利爾的大學,即使是在 CSRankings.org 里也僅僅是排名加拿大第7,但是在深度學習和人工智慧領域,Yoshua Bengio教授可謂大名鼎鼎。由於在神經網路研究領域作出的重要貢獻,Hinton教授、LeCun教授以及Bengio教授三人成功獲得2019年圖靈獎。如果能成為Bengio教授的學生,即使蒙特利爾大學排名不好看,又有誰在乎呢,或者說這個排名又怎麼科學呢?

選校不僅僅是看排名,還有地理位置,項目特色, 學校聲譽,業界合作,師生比,留學成本等等。 如果想在學術圈發展,導師的業界地位最重要。如果能拜在圖靈獎得主門下,學校聲譽、專業排名,都可以忽略。這裡說的業界地位,最起碼也要是IEEE Fellow級別的。因為這樣的導師,推薦信才有分量。 如果想畢業之後去公司,那麼學校名氣>導師地位>專業排名。畢竟HR不是學術圈裡的人,一個婦孺皆知的校名比什麼都好使。此外,導師的業界地位和人脈也很重要。

現在很多申請者去美國讀計算機的碩士,目標都很明確,就是去Amazon,Facebook,Microsoft這樣的大公司,或者矽谷的明星start-up。因此有些人對地理位置看得很重,認為加州的項目就一定比其他地方好,其實不盡然。因為CS碩士畢業生,通常的就業崗位是Software Development Engineer或者Data Scientist,說實話只要學校能讓你過了簡歷篩選,基本上學校的title就沒那麼重要了。剩下的比拼就是科研和項目經歷,編程基本功與技能,應付筆試(刷題)和面試的能力了。至於地理位置,很多大公司都有資金實力在全美範圍里招聘的,即使你在UIUC大農村,或者Wisconsin,一樣會有HR主動上門來做hiring event。因此對於地理位置一般的學校,也不應該排斥。地理位置的優勢可能會讓你對於業界的信息資訊更為通暢,感受到的創業氛圍更加濃厚,除此之外,頂多是找實習的時候,讓你少搬家幾次罷了。

因此申請學校就是能多申盡量多申。因為就和投資一樣,申請某個學校的不確定性是很大的,現在的 CS 項目申請者數量極大,很難保證每個人的材料都被認認真真看過。而如果我們不把雞蛋放在一個籃子里,用各種投資組合進行風險對沖,就能很大程度的縮小方差、減少風險,從而獲得和自己實力匹配的 offer。 對於 PhD 學生來說,我覺得你的導師水平和你學校在你科研小方向的實力非常重要,比 CS 專排重要的多,因為你真正的專業其實是你研究的小方向,而不是 CS。看小方向的實力應該去看你的領域頂會 paper 的數量和質量,畢竟 PhD 以 發 paper 為生。

而看導師,除了看中 H-index,也要看他的人品以及在學術圈和業界的人脈和口碑,這和你今後的發展高度相關。另外,學校的綜合排名(名氣)也是非常重要的,今後假如要創業或者回國當青千,別人通常只大致知道綜合排名 (除了 CMU 這種 CS 特別有名的),這也是為什麼哈佛的 CS 會比 GaTech, UTAustin 要難申。而對於 Master 來說這些排名都不大重要了,重要的是你申請的項目的質量和就業情況。例如,綜排很高的學校會有那種一年的MEng,這種項目時間太短就很難找到好的工作。還有, CMU 雖然是 CS 第一強校,但因為整個學校有非常多的計算機相關學院,找工作時內耗很大,找工作時有優勢的也就是和 CS 高度相關的 Master 項目(機器學習,語言技術研究,計算數據科學,計算機科學等),其他有的還不如一些 Top20 學校 的 MSCS。

課程設置

根正苗紅的CS項目:NEU

對於計算機系本科的申請者來說,純CS項目一般都是首選,比如美國東北大學(NEU)的CS碩士項目就很受中國學生歡迎。東北大學位於波士頓,地理位置毋庸置疑,其CS碩士生就業數據也非常不錯,業界口碑也很好。畢業生起薪通常在10萬美元左右,就職的崗位包括Amazon的軟體開發工程師,德勤的諮詢師,微軟的軟體工程師和全棧工程師等。

從課程設置上來說,學生需要修3門必修課,課程涵蓋程序設計理論,軟體開發管理或計算機系統,以及演算法理論。

同時,學生需要在人工智慧,人機交互,數據科學,遊戲設計,計算機圖形學,信息安全,計算機網路,編程語言,軟體工程,計算機系統以及計算機理論中,選擇一個領域作為specialization。同時,選課也是非常自由的,對於5門選修課的要求,只要求在specialization的領域裡選至少2門,其餘的課程沒有限制。

人工智慧的track,可以選的課有:人工智慧基礎,機器人科學與系統,自然語言處理,機器學習,高級機器學習等。

數據科學的track的課程包括:數據管理系統,機器學習,信息存儲,數據挖掘技術,大規模並行數據處理,數據管理,數據科學,數據可視化等。

遊戲設計的track包括:遊戲人工智慧,計算機圖形學,人機交互,遊戲引擎開發,高級機器學習等。

信息安全的track課程包括:軟體安全,網路安全,密碼學與通信安全,隱私安全與可用性,軟體工程,密碼學基礎等。

完成課業任務之後,學生還可以做6-8個月的co-op實習,以及3-4個月的暑期實習,對未來找工作也是幫助非常大的。同時,NEU還為非計算機背景的申請者設置了Align的橋樑課程,讓轉CS的同學可以有2個學期的時間來補一些計算機的基礎,可以說,這對轉專業申請CS的同學來說,考慮得算是非常周到了。

工科轉CS:Duke ECE

杜克大學的Master of Science in Electrical and Computer Engineering是比較常見的工科學生轉CS的項目,課程一共有4個方向,包括:計算機工程,信號與信息處理(大數據分析方向),工程物理,微電子與納米材料。這是個很flexible的項目,也就是說即使你入學的時候背景是微電子相關的,一樣可以選擇計算機工程來作為你的碩士方向。這個項目一般兩年可以讀完,可以選擇純修課(coursework only),做project或者做thesis來畢業。每年招生規模在120人左右,中國學生比例較高。

對於計算機工程方向,可以選擇軟體開發或者硬體設計兩個方向。對於畢業相從事Software Development Engineer(碼農)的同學來說,選擇軟體開發方向就行了,課程架構包括編程基礎,軟體工程和計算機系統基礎,還有分散式系統,iOS開發,存儲架構,雲計算等比較實用的課程。

ECE 551:是關於編程、數據結構、演算法以及C++實現的課程,要求在Linux系統下用emacs寫代碼交作業,實現Makefile編譯,gdb調試,valgrind查內存泄漏等等。教材是Duke的Drew Hilton教授自己寫的《All of programming》,基本上面試中會碰到的編程問題都會在這本書里找到對應的知識點,如heap實現,哈希表實現,C++的虛函數的實現,編譯基本過程,sort排序等等。

ECE 550:和ECE 551一樣,這也是軟體工程的基礎課,主要關於計算機系統與工程的入門知識。這門課從基本的電路的基礎到後面講cache的實現,MIPS語句,Datapath,指令,操作系統等等,基本是計算機裡面的硬體實現,雖然內容多也雜,但感覺作為一個沒學過操作系統和計算機組成的人來說還是很有收穫的。

ECE 650:主要關於系統編程,內容涵蓋計算機網路、並發、進程線程、操作系統、資料庫等等。其中比較詳細的講了計算機網路和操作系統。project也非常偏嚮應用,包括線程安全地實現malloc函數,基於socket編程的HOT POTATO遊戲,C++里用postgresql增刪改查資料庫,最後修改Linux的kernel以實現幾個攻擊內核的函數。

ECE 651:主要關於軟體工程的基礎知識,老師會安排實際的項目來分組,(安卓組,後端組,前端組)基於agile 的開發模式讓大家給客戶開發軟體。可以了解到各種開發模式的區別,熟練Java開發,包括需要寫一些requirement,architecture文檔等等,以及真正完成一項可以使用的軟體。

數據科學家第一步:USC Applied Data Science

隨著數據科學(Data Science)越來越火熱,很多北美的CS院系也開始開設新的數據科學碩士項目。南加州大學(USC)的應用數據科學碩士項目前身為Master of Science in Data Informatics,而且這個項目也可以用來做OPT的STEM extension。項目主要培養學生數據管理,數據可視化,數據挖掘,人工智慧與機器學習的知識,以及大數據的基礎架構(Hadoop和Spark)的應用和解決實際問題的能力。靈活的課程設置也能讓學生有選擇性地規劃自己的學業,為留美找工作做好準備。

該項目培養計劃要求學生修讀32學分的課程(8門課),其中6門必修課包括:

INF 510:Principe of Programming for Informatics,即編程原理,包括利用Python存儲,抓取和分析web數據,熟悉如何對大數據集進行操作和管理,以及簡單的Java編程入門。對於Python編程能力出色的同學,可以申請免修這門課,換一門對應的選修課。

INF 549:Introduction to Computational Thinking and Data Science,即數據科學和計算的入門課程,授課範圍覆蓋數據分析,數據可視化,並行處理,元數據,數據溯源與管理等。

INF 550:Overview of Data Informatics in Large Data Environment,即大數據環境的數據信息學基礎課程,主要講授數據信息學的方法,因此需要有對應的數理基礎,覆蓋的話題包括機器學習,數據挖掘,非SQL資料庫,基於cluster的大數據分析,in-data技術等。

INF 551:Foundation of Data Management,即數據管理基礎,需要有相關的操作系統,網路與資料庫的知識背景,主要講授現代數據存儲系統(雲存儲),數據管理,數據網路,數據中心,map-reduce架構等。

INF 552:Machine Learning for Data Informatics,即大數據科學裡的機器學習,對編程能力,線性代數和統計知識有一定要求,主要側重運用機器學習方法來解決實際問題,如專家推薦系統的搭建。

INF 553:Foundation and Application of Data Mining,即數據挖掘的基礎與應用,主要側重於map-reduce 架構的運用,同時結合數據挖掘演算法來處理實際應用中的大數據情形。

除了這些必修課以外,還需要選擇一門用戶界面開發或者可視化的課程,同時還有其他方向的課程可以自由選擇,包括應用自然語言處理,高級數據存儲,演算法分析,網路搜索引擎與信息存儲,大數據里的隱私與安全,知識圖譜的構建等等。雖然這個項目時間緊湊,很多學生在第二學期就拿到了實習,畢業之後的就業率也算不錯,不少同學都最終成為了一名傳說中的Data Scientist!

申請規劃

數學背景+編程能力

正處在風口上的計算機科學,留學申請的難度越來越大。不僅有數學統計物理的同學想轉行做CS,就連傳統的社科類專業,比如經濟學、政治學、 新聞學、社會學的人都有申請CS項目的。 一般來說CS的master比較強調申請者的編程能力和項目經歷(甚至GitHub上star的多少)。

同時,數學背景,比如數學分析,線性代數,數理統計等課程的成績也是很看重的一方面,相比之下GPA比GRE托福等Standard Score重要得多。 再者,美國CS華人faculty比例相當大,一般來說國內的老師也跟北美CS的學術圈有緊密的聯繫,能拿到靠譜的推薦信為申請結果提升不少。除了推薦信,項目經歷和研究經歷,如果能在文書材料中適當地展示出申請者的學術潛力,突出科研經歷與項目經歷,對申請結果會有出其不意的效果。對於跨專業的申請者,在Coursera等公開課平台上修讀一些編程和計算機理論的基礎課,也能彌補一些跨專業申請的障礙。

背景提升+套辭

美國CS的申請中,套辭的作用是非常顯著的,因為funding基本上是來自於professor自己的科研經費的,而且年輕的assistant professor需要大量的科研助手。當然,對於大牛校,比如哈佛大學或者CMU,他們的PhD項目都是給fellowship獎學金的,同時為了給學生自由選擇導師的權利,也不會一開始就綁定導師,因此套磁的意義就不是很大。如果本科期間有去美國交流或者暑期研究的機會,可以多修課彌補國內課程設置的短板,刷高GPA,還有機會拿到內推,對申請結果是很大的提升。

但是如果申請歐洲國家,或者澳洲的學校,套磁就更有決定性影響了。只要是研究型的項目(PhD/Mphil),導師都有決定要不要你的權利,甚至說你的獎學金很可能就是從導師自己的科研經費里來的。總的來說,不管是申請碩士還是PhD,有合適的海外交流機會的話更是不要錯過。 如果有參加美國數學建模比賽、Kaggle平台上的比賽、以及商業公司舉辦的大數據分析比賽的經歷,也會讓申請者增色不少。另外,由於 PhD 申請水漲船高,原本很看中 GPA 和英語成績的 master 也越來越看科研了, 這是 master 申請者需要注意的。

申請PhD:學校背景和科研經歷很重要

北美CS不管是碩士還是PhD,裡面中國學生的比例也相當高,而且負責招生的教授很多也是華人,他們對中國學校的情況非常了解,對名校背景非常看重。

每個學期的Summer都是教授們回國內開會,講課,拿funding的季節,同時也會直接去清北復交科大等學校去找系主任要人。因此非名校背景的申請者非常吃虧。隨著CS的競爭越來越激烈,名校背景往往意味著更紮實的基礎知識。如果不是名校背景的同學,GPA保持在3.5以上,也可以取得不錯的申請結果。一般來說,申請碩士的GPA不能低於3.2, 申請PhD不能低於3.5,再低就很難彌補了。

相對來說GRE的成績差不多就行,比如Verbal 150+,Quantitative 170,aw 3.5,但是托福成績的好壞就往往會影響到拿Teaching Assistant(獎學金)的機會。一般來說托福要考到100+,口語22+,才不會成為你的短板。但是CS科研經費充足,老師有足夠的research assistant的崗位,只要托福過了學校的基準線,科研能力強的學生也能拿到全獎。因此,對於硬性指標不強的申請者,可以考慮抓住一些科研機會,多發審稿周期較快的會議論文,在申請的時候有不錯的publication會對申請者脫穎而出。同時,先申請一個碩士作為後續申請PhD的跳板,是非名校背景的申請者常用的策略。

關於PhD的錄取標準,擔任過CMU admission committee主席的Dave Andersen 教授曾要求負責招生的老師:

Dont spend a lot of time reviewing the top 2% of applicants. Theyre easy to identify, they get admitted everywhere, and the error rate is low.

Dont spend a lot of time reviewing the bottom 50% or differentiating among them.

Please focus your attention on finding the students who have the potential to be in the top 10% percent, but are likely to be overlooked by other top programs.

根據Andersen教授的標準,top 2%的申請者一般畢業於頂尖名校(MIT,哈佛,CMU,Stanford等),有知名期刊或者會議的publication,接近4.0的GPA,有熟知的教授的推薦信,PS展現了對專業領域的focus和motivation。雖然這個標準非常嚴苛,但是對於中國申請者來說,也可以大概了解到頂尖學校的選人標準,即使不能全部達標,努力往這上面靠就能最大程度地提高自己的錄取概率。

申請PhD:套磁和暑期研究讓你脫穎而出

學校背景+推薦信+數學背景+編程能力+科研活動經歷+GPA+托福/雅思/GRE……

這些指標孰輕孰重,其實這個事情很難說,因為現在的申請形勢是瞬息萬變的,幾年前的經驗已經不太適用,例如前幾年 MSRA(微軟亞洲研究院) 號稱「全國第一留學中介」,去實習的學生大多 能收到很好的錄取,但是今年明顯已經完全不如去美國實驗室做暑研了。而即使是 CS 的大方向每個小方向也完全不同,例如,機器學習方向由於申請者多如牛毛,而且一些會議質量有所下降,某些 A 類會議的一作論文並不能保證你申到 TOP30 的學校,而系統方向的頂會一作則基本讓你前程無憂。況且不同學校要求也不同。所以最好的方法是和正在國外念書甚至任教的學長學姐聯繫,他們可能會了解更多錄取的內幕,另外要多和清北、美本的同學交流,他們往往有更好的信息來源。 當然,博世留學作為連接申請者和海外導師的橋樑,在這方面是做得非常專業的,眾多CS大神在這裡等你來預約。

一定要對這些事情指標做個排序的話,牛推/內推 >> 頂 會 論 文 > 實 習 >GPA= 本 科 學 校 >>>TOEFL Speaking>GRE AW>TOEFL>GRE。當然,牛推和內推是可遇不可求的,申請者除了在暑期研究或者學術會議的時候去認識一些大牛教授,平時並沒有很大的機會,這也是為什麼海外本科優勢更大的原因。儘管推薦信放在這麼重要的位置,並不意味著後面幾項就可以不下功夫了,而且在中國申請者這個pool里,這一項基本都可以忽略不計。

一個得到了美國大牛教授強推的人,一定是和他合作發表了若干篇高水平論文,且經常用流利的英語和他談笑風生,另外大牛之所以同意他來組裡做科研,也是因為他在名校上學且有著很棒 GPA 和實習經歷。所以這些變數都是強相關的,說推薦信重要是因為在審材料的時候非常看重推薦信,因為這往往反映了學生的綜合實力。而且在多如牛毛的背景各異的申請者中,很難通過其他因素來快速判出高下。例如,南大的前 3 和清華的前 20 誰更好? 均分 90 的同學雖然只排十幾名,但分數真的比 92 分的第一名差很多嗎?這時候,人們就會傾向於相信自己認識的人和認識申請者的人。

申請碩士/PhD:時間規劃

大一大二是最寶貴的大學時光,很大程度上決定了你留學申請的硬體:GPA。對於CS申請者來說,最好的規劃是盡量在大一大二保持均分85左右,特別是CS的專業課,有精力和機會的話,還應當多修讀一些數學課和統計課程。

如果是要去美國留學,大三就要開始準備托福和GRE了。特別是GRE考試要求的辭彙量非常大,需要一個比較長的準備周期。 如果是去美國之外的國家留學,也要準備托福或者雅思的考試了。同時大三又是專業課最多的時候,時間規劃非常重要。

大三暑假也是很重要的時間點,這是準備留學申請的衝刺階段了。 如果語言成績考試分數不夠,要抓緊時間刷分。同時根據自我發展的規劃,定好自己的意向學校,對照各項留學申請的要求,查漏補缺。 比如科研經歷缺乏,比賽經歷空白,或者還沒有跟系裡的老師深 接觸過,推薦人還沒確定......

大四一開始,申請季就來了,有的學校12月中旬就截止了。聯繫推薦人,準備文書材料(PS+CV),填寫網申,英語成績送分,準備套磁,郵寄書面材料,準備面試,辦理簽證,行前準備......如果沒有充分的準備,你將手忙腳亂。

學科前景

每天都有人驚呼互聯網改變生活,事實上互聯網科技公司也在逐步傳統經濟。當今市值超過5000億美元的公司,有谷歌的母公司(Alphabet),微軟,亞馬遜,騰訊,Facebook,阿里巴巴等,今日頭條等新興科技公司發展勢頭也不容小覷。這些高科技公司每年創造者數以萬計的工作崗位,使得Computer Science成為現今最為火熱,前景最好的學科之一。

從就業的角度而言,計算機工程方向的學生的對口就業職位是軟體工程師,即人們所常說的「程序員」。基於不同的細分方向,和個人對於不同工具的熟練程度,可能分成前端工程師、後端工程師、資料庫工程師、演算法工程師等等。其主要職責在於基於設計文檔,利用某種特定開發工具,將設計思想實現為產品。隨著工作年限的增加,軟體工程師可能進階成為高級工程師、系統分析師、系統架構師等,也有相當部分的工程師在晉陞過程中轉為技術管理崗,即研發經理、產品經理、售前(方案)工程師等等。

走學術路線的話,科研院所和高等院校是這類學生的一個主要去處。特別地,由於大學裡教席通常有限,進入大專院校前有可能需要做一期博士後,以進行更深入的科研訓練。然而,近年來,隨著人工智慧稱為社會熱點,業界開始意識到理論研究可以成為公司經濟效益的增長點,於是對研究型人才的需求呈爆炸式增長,很多公司將研究和開發的概念進行融合,將演算法的創新作為公司的主要競爭力。於是,我們可以看到各類從事人工智慧領域的公司,都為研究型畢業生留有一席之地,並且薪資豐厚。

留美工作

相對於國內互聯網公司的996甚至007的工作模式,北美的「碼農」們享受著到點就打卡下班的福利。良好的work-life balance,完善的福利體系和10萬美元起的年薪,讓很多CS的同學畢業之後選擇留在了美國,成為一個標準的美國中產階級。一般來說,常見的崗位名稱包括軟體開發工程師(SDE),數據科學家(Data Scientist),機器學習家(Machine Learning Scientist),移動端工程師(Mobile Engineer),前端工程師(Front-end Engineer),產品經理(Product Manager)等。

舉例來說,SDE是互聯網公司需求量最大的崗位,每年Amazon,微軟,谷歌等高科技公司都會招聘成千上萬的工程師。一般這些互聯網公司都集中在西雅圖或者加州的灣區,起薪範圍在14萬美元左右。拿Amazon來說,SDE 1的起薪為14萬美元左右,股票價值10萬美元左右(分四年給),再加上4萬美元左右的簽字費和1萬美元左右的簽字費。特別優秀的可以拿到SDE 2的待遇,基本上在SDE 1的標準上可以上浮10%-20%。在積累幾年經驗之後,跳槽之後拿到20萬美元年薪的也不在少數,回國拿到50-100萬人民幣年薪的也非常多。

現階段正是美國經濟復甦的好時期,留學生畢業後有很多的工作機會,尤其以CS專業最為火爆。不論是矽谷/西雅圖還是華爾街,軟體、互聯網、金融公司給CS專業畢業生的薪資水平連續兩年超過10%的增長,加上靈活的工作簽證和綠卡制度,吸引著許多同學轉專業學CS,加入到求職大軍中來。一般來說,大家欲通過面試進入科技公司,需要先投簡歷拿到電話/校園面試。一到三輪電話/校園面試之後表現合格的,公司會買機票邀請到總部進行Onsite面試,再進行四到七輪面對面的廝殺之後,就有機會拿到Offer。

第一步拿到面試,需要有比較過硬的簡歷,並且找到和自己的背景對口的職位,如果有相關實習經歷會非常有幫助。拿到面試之後,就要想辦法搞定面試官了。一般來說面試內容分三類:個人背景 (之前的項目經驗和專長)、知識題和代碼題。Master的同學們會有更多的代碼題,PhD 同學們會被問到比較多的科研內容。

個人背景的提問很好準備,根據自己之前的經歷,畫出四乘四的表格,寫出簡歷上的三到四個項(實習、科研、大研等),在表格中填好每段經歷的四個問題:「遇到了什麼困難,怎樣克服」、「有趣、最閃光的點」、「掌握了什麼技術」以及「如何體現了團隊精神」,把這個表格牢記在心即可。知識題一般是考察對基本概念的熟悉程度和CS背景是否紮實,金融公司喜歡問一些C++相關的,互聯網公司可能會問一些大規模/多用戶應用相關的。代碼題是最後決定性的一環,需要花一些時間好好準備,熟悉常見的數據結構和演算法。 —般來說,45分鐘的面試,要在白板或者在線文檔里寫出兩道中等難度的演算法題,做出最低的時間和空間複雜度,沒有Bug,就算合格。《Cracking the Coding Interview》、《演算法導論》和 leetcode.com 都會很有幫助。有了足夠的練習,先問清楚題目,然後向面試官簡單描述自己的解法,如果對方覺得可行,就高速高質地把code寫好,邊寫邊和面試官交流,最後把結果做出來。

可以說,這是Computer Science最好的年代,互聯網+的繁榮和產業資本的推動,改變了每個人的生活,也改變了很多中國學生的命運。如果你也想留學北美學習CS,加入這些耳熟能詳的互聯網巨頭,就趕緊預約博世留學的各位CS大神導師吧。


推薦閱讀:
相关文章