北美CS申請: A Complete Guide to Enter Top CS Schools

ChengYen Hsieh 謝承延
14 min readJul 9, 2022

--

前言

我是謝承延,歷經兩年的準備之後,我順利錄取了CMU SCS (School of Computer Science) 下的 MSCV (Master of Science in Computer Vision),在NTUEE度過充實的四年以後,下一站將前往Pittsburgh開啟美國的碩士之旅。

我一直很想將這段時間的經驗好好地整理成文章,希望能讓申請CS的學弟妹們搞懂留學的遊戲規則,要知道,留學申請是一項長時間的奮戰,因此我希望能用這一系列文章,讓讀者瞭解要如何規劃目標與時間,順利成為一個strong candidate。 (跳過前言)

Carnegie Mellon University

能否錄取夢幻學校取決於你的資歷

不知為何,大部分的留學文章,幾乎都是在教你「如何寫SOP」、「如何寫Resume」。即使文件的撰寫很重要,但是背後更重要的是你過往的資歷,這是需要長時間累積的,也是你申請留學真正的底牌。

因此我希望在這系列文章中告訴你:

  1. 哪些準備將大幅提升你的申請競爭力?
  2. 完整的時間線規劃,讓你瞭解什麼時間點該完成哪些任務,一步一步地累積需要的資歷
留學準備要有策略

誰適合閱讀這篇文章?

所有正在申請路上的朋友都可以參考這系列文章,即使你不打算遵照文章中的建議,讀完之後你也能夠瞭解整體的流程為何,幫助你提早做準備。 如果覺得對你有幫助或有任何疑問,記得follow 或者聯絡我

Table of Content:

  1. My Background
  2. How to become a strong candidate to top cs schools?
  3. The timeline you should follow (很懶的直接看這)
  4. Some CS schools you should know
  5. Resource
  6. Contact Me

My Background

先提供一些個人背景,希望方便讀者做落點判斷。(Fall 2022 申請結果)

NTU B.S. Electrical Engineering
* Overall GPA : 4.00/4.3
* Major GPA : 4.22/4.3
* Last 60 GPA : 4.25/4.30
Test
* GRE 332(V 162/Q 170/AW 3.5)
* TOEFL 109(R 29/L 28/S 24/W 28)
Publications (ML/CV相關)
* IEEE First Author Paper (AICAS) x1
* IEEE First Author Paper(in submission to ICASSP, CVPR) x2
(皆為申請當下狀態)
Work Experience
* ASUS AICS ML Engineer Intern
* Arrow Electronics FAE Intern
Teaching Experience
* Lecture TA at PBC (Programming for Business Computing) at NTU
* Signals and Systems TA at NTU
-----------------------------------------
Admissions
- CMU SCS MSCV (2/15)
- UCSD MS CSE (3/22)
- UCLA MS CS (3/25)
- UCB MEng EECS (3/28)
- CMU MS ECE (3/25)
- UMich MS ECE (3/30)
- UIUC MEng ECE (5/14)
Rejection
- Stanford MS EE (2/19)
- CMU MS CS,ML (2/25)
- UMich MS CSE (4/12)
- Columbia MS CS ()

如果你還對學校的資訊不太瞭解,可以參考美國CS學校排名AI排名,以及這篇文章的簡述

有幸進Top-3 的 CMU我已經相當滿意,但偶爾會想其實當初也許可以做的更好,因為在摸索申請的過程中總是不免走了一些歪路,做了一些毫無幫助的事情浪費時間,這也是為何我想寫這篇文章,希望讀者看完之後能夠很清楚的知道自己該如何準備,相信你們可以做得更好。

如果你還需要參考 Resume

How to become a strong candidate to top cs schools?

CS學校的申請,主要注重的資歷有這幾項,重要性高的(根據個人及同學的經驗)會優先列出,每一項我會做簡單的Q&A,並幫助你訂出一個目標

1) 📑 Research/Publications or Internship

想瞭解研究/實習的優點嗎? 請先參考

目標設定:

有一些人問,那研究要做到怎樣的程度呢? 以ML/CV領域為例,如果在申請時你能夠publish 2~3篇strong paper,就算是很強的資歷了(可惜我辦不到),不同領域會有不同標準,因此可以趕快詢問你實驗室的學長,這個領域發一篇paper的週期通常是多久,如果是半年左右,那可以用3篇做為你的目標。

⚠️設定這個目標僅是為了幫助你瞭解一個strong candidate可能擁有的資歷背景,也記得不要為了拚數量忽略了過程,真正重要的是這段學習的過程,research is a process!!!

如果你還有時間的話,可以利用暑假進行跟你申請領域相關的實習(例如Software/ML Engineer Intern),2~3篇paper+2段相關實習經歷,相較大多申請者而言,你的經歷會更加全面且突出!

時間安排:

神經病啊?大學才四年就要我發3篇paper?哪可能做到? 我懂你們的想法。但是要申請頂尖CS的學校,你本來就不能當個普通人,而且其實好好安排的話是可以做到的,請參考時程安排,或以下影片:

Tips from CMU Phd Student
Google Brain — Imagen : Text-to-Image Diffusion Models

2) ✏️ Letter of Recommendation 推薦信

若有相關疑問,請先參考Q&A

很多人說一定要找知名大牛教授寫推薦信,我個人認為不一定(當然我猜還是有幫助)。 真正應該注重的是這位教授是否跟你有長期指導/合作關係,因為當教授要推薦你的某項特質時,他勢必得用一些實際的例子去佐證,所以大家才會說不要找修課老師寫,因為他就算真的想幫你大概也寫不出什麼solid的東西。

目標設定: 💌💌💌

這時候做研究的好處就出來了,認真地跟教授做專題能讓你拿到一封內容solid的推薦信。通常比較competitive的申請者會有2~3封強力的推薦信,因此建議你提早規劃要找哪三位教授幫忙,大部分人的安排是(3專題教授 or 2專題教授+1實習主管),我則是(2專題+1 TA指導教授)

真的很感謝幫我寫推薦信的王鈺強、吳安宇、孔令傑教授!

時間安排:研究跟推薦信的取得是同步進行的

假設你有兩年的時間準備,你可以選擇4個學期總共找3位不同的專題教授,你也可以搭配你的研究進度一起安排,例如你發3篇paper,每一篇paper都是跟不同教授合作,你就可以請三位教授幫忙撰寫推薦信。

當然,你也可以做2個專題研究,剩下一封推薦信找修課教授/實習主管寫。

3) 💯 GPA and Courses

這一部分,我主要想提供一些修課建議

目標設定:

就我聽到的身邊的人來說:
👑 錄取TOP-3 CS(Stanford, CMU): GPA 4.0~4.3,大多是4.1以上
👑 TOP15 (e.g., UCLA, UCSD, Columbia) :大約 >=3.8
👑 Top 20~30 (USC, Brown, NYU) 有聽過3.5左右的人錄取
以上是討論CS相關的program,EE的話門檻會再稍微低一些,不過我猜這些數據bias應該很大,總而言之,拿4.3就對了啊,你說是吧哈哈

⚠️目前大部分學校在申請時不需要將GPA從 4.3制轉換為4.0制,但少數學校需要,例如 UMich密西根大學

修課建議❗❗❗:

請多修一點可以做project的課程,相信我,你在寫SOP以及找工作時會很感謝自己! 因為:

  1. 寫SOP時需要具體例子說明你的技術背景,專案經歷就是一個客觀的證據(但注意要盡量讓專案的結果能夠數字化!!!)
  2. 在大家都缺少工作經驗的狀況下,專案將是resume中的亮點,能夠具體說明你會使用哪些工具、有使用哪些framework的經驗

4) 👄 GRE/TOEFL

該如何準備GRE請參考本人的心得,TOEFL我沒寫心得(很懶

目標設定:

其實這部分我覺得蠻不一定的,因為學校對GRE要求變成 optional,今年有很多人根本沒考GRE也是錄取了夢幻學校。
CMU SCS就我所知錄取的應該TOEFL大多在107以上,但我也不太確定這部分影響重不重。

雖然不確定GRE/TOEFL會不會有太大的影響,但還是建議你好好準備,GRE 327、TOEFL 107 以上對你絕對不會吃虧,不是因為申請結果,而是因為在這段過程中,你的英文能力會有一定程度的提升

時間安排:

請參考時程安排

5) Extra Experience (Teaching, Club, Volunteer)

為甚麼會把這項給列出來呢? 其實在許多學校的申請文件當中包含了一個叫做PHS (personal history statement)的項目,就我的認知,這個文件是學校為了追求diversity and inclusion的一項小措施。
UCSD甚至將這部分細分成了Leadership、Research、Community Involvement、Overcoming Adversity等項目,讓你有機會描述你獨特的生長背景以及課外經歷,足以發現學校對這些事情日益重視。

因此,大家也不要覺得參加一些課外活動都沒有意義,你所有做過的努力在你申請的某個時間點都會驚喜地給你回饋,像我就很慶幸我在大學花了一年擔任PBC的Lecture TA,在PHS中我也描述了不少教學時的體悟!

The timeline you should follow

在這裡提供你三種不同的時間規劃圖,基本上照著這個Timeline走,就能完成留學申請的前置準備,我個人推薦 Version 3
我安排的原則是:同一時間點只做一件事,這個原則會大大減輕你的負擔

Version1: Baseline 想完成申請最低限度的requirement,照著這個timeline走就綽綽有餘了

Timeline v1: Baseline

許多CS學校12/15 deadline (如UCLA, UCSD, USC),但仍有許多學校是更早(CMU SCS 12/9) 或更晚 (Columbia 1/15),請依學校官網為準。
這個版本的timeline會讓你完成最基本的英文考試以及取得3封推薦信

Version2: become a strong candidate 碩士申請一生也許就這一次,這一堂準備過程會成為你人生中精彩的一趟旅途

目標:

  1. 2~3篇paper
  2. GRE/TOEFL
  3. Project Experience
  4. 3 Solid LoR
Timeline v2: Strong candidate

GRE/TOEFL 用假期的時間於兩~三個月內完成 (建議當全職考生)。研究部分,可以在大二暑假參與說明會或跟學長姐打聽推薦的專題教授,及早跟教授約時間討論專題進行方式。

第一個研究專案通常因為基礎知識不足會需要比較久的時間,因此可以給自己大三一整年。之後則會開始漸入佳境,完成一篇新paper的時間會越來越短,如果能找2~3人一組進行研究,你的進度可能會更快。注意三份研究時間上盡量不要有任何重疊,且題目盡量選擇有關連的,記得一個大原則:同一時間只專心做一件事

選課的部分盡量配合研究(未來申請領域),在大三期間把研究相關基礎課程都補完(例如ML),大四則修一些有final project的課程(例如DLCV, 實驗課),這些課程會讓你具有充分的project experience (對寫Resume跟SOP都很有幫助),也會幫助你累積研究相關知識。

推薦信的部分,如果你三個研究題目都找不同的教授指導,基本上就沒問題了,有了這些研究的投入,教授寫推薦信的時候內容也會比較solid,同時比起其他學生,你也比較有機會拿到教授的強推

Version3: industry experience 將來要找工作,也想累積一些實習經驗?

目標:

  1. 2篇paper
  2. 2 Related Internship Experience
  3. GRE/TOEFL
  4. Project Experience
  5. 3 Solid LoR
Timeline v3: industry experience

在大三及大四找相關的暑期實習,以ML/CV為例,可以找Microsoft AI RD Center/ASUS AICS 或其他公司的ML Engineer Intern職位。優點是:

  1. 你現在有了實習也有研究經歷,跟其他申請者相比算是很全面的。
  2. 找實習過程中會練習Leetcode,提前預習將來找軟體工作的情況
  3. 兩份研究各花一年完成,時間上比v2充裕很多。

缺點:

  1. TOEFL跟實習重疊,英文程度普通的人通常很難兼顧實習+準備TOEFL
  2. 少一份LoR (可另找實習主管 or 修課教授)

Version4: Design your own schedule

最好的情況是安排你自己的schedule,這裡提供你2個大原則:

  1. 先列出你要完成的目標: 例如GRE/TOEFL,想累積多少研究/實習經歷
  2. 同一的時間點不要有兩個任務重疊,這點很重要

Some CS schools you should know

incoming

Resource

這篇文章實在太長了...我會整理在其他medium文章,有興趣的話就按下follow吧

Contact Me

這兩年的準備過程中,要說有甚麼小後悔的,那就是我沒有早點去找能夠給予我建議、幫助的人,我只能靠自己摸索屬於留學準備的策略,在這段過程中走了不少歪路。

我知道很多人像我這樣,不會主動去找別人求助,但這不是一個好習慣,到了國外,踏上留學的旅途以後,我們總是得互相幫忙。 我相信這種氛圍需要每一個台灣朋友共同去營造,而我很樂意率先成為其中一員。

如果你有任何申請相關的疑問,歡迎來詢問我:

Linkedin (盡量使用Linkedin):

www.linkedin.com/in/chengyen-hsieh

Facebook:

才剛辦的Twitter:

其他Medium文章:

--

--

ChengYen Hsieh 謝承延

CMU MSCV Student | ML Research Engineer | Share tips and personal stories regarding Computer Vision, Machine Learning, Software, Lives of international students