2018年3月25日 星期日

Compbio/Bioinfo PhD, JHU/CMU-Pitt/UIUC

台灣目前做bioinfo、genomics這塊的人不算很多,理工背景出身再少一些,在這邊分享一下申請PhD的過程以及一些自己的想法。長期看留學板,非常感謝出國前輩們的分享,也希望自己可以提供未來有志者一些幫助。


Research Interests

Computational Biology (Genomics), Bioinformatics, Human Genetics, High-performance Computing


Results (All PhD)

Admission

CMU-Pitt CPCB (1/27)
    no interview
    onsite Open House: 3/1-3
    fellowship

UIUC CS (1/27)

    Skype interviews: 12/27 (email 12/23), 1/21 (email 12/19)
    RAship

JHU CS (2/28)

    Skype interview: 1/12 (email 1/9)
    onsite visit: 2/28
    RAship


Rejection

UCSF iPQB (12/16), MIT CSB (1/13)
Stanford BMI (1/23), Yale BBS (CSB Track) (2/8)
UC Berkeley (3/6), UC San Diego BISB (3/6)
Harvard BIG (3/8), Princeton QCB (3/10)


Pending

UCLA EE
    Skype interview: 2/15 (email 2/11)
    decline on 3/19

JHU Human Genetics
    waitlist (1/18)

UW EE



Decision

JHU CS


Background

Education

M.S. in Electronics Engineering, NTU (2015-2017)

B.S. in Electrical Engineering, NTU (2010-2015)

B.A. in Economics, NTU (double degree)
    GPA: 3.92/4.3 (43/201)

Exchange student, UIUC (2014)



Standardized Tests

GRE
   157(76%)/170(97%)/3.5(42%) (2017/9)

TOEFL
   105 (R29/L27/S24/W25) (2017/9)
   101 (R25/L27/S23/W26) (2013/10)


Publications

Journal:
    1st author x1 (in preparation) // alignment algorithm (software)

Conference: // 全部都是生物資訊相關的數位電路 (IEEE CAS)

    1st author x(1+1 submitted)
    2nd author x1
    co-author x(2+1 submitted)


Experience and Awards

Student Researcher, NTU (2013-2017)
Technical Intern, Synopsys, California, USA (2016)
Teaching Assistant x3, NTU (2015-2017)
Novatek Fellowship (2016)
General Chair, NTUEE summer camp (2013)
NTUCOS (2010-2012)

Letter of Recommendation

3 from NTU: 指導教授、碩班口試委員 x2 (生機系、台大醫院)


大綱

1. What is Computational Biology?

2. Why PhD?


3. 申請準備

    3-1. 時程
    3-2. Program選擇
    3-3. Standardized Tests
    3-4. Letter of Recommendation
    3-5. Curriculum Vitae
    3-6. Statement of Purpose
    3-7. Contact

4. After Submission

    4-1. Interview
    4-2. Onsite Visit
    4-3. 選校


1. What is Computational Biology?

這是一個新興的領域,核心是「利用計算方法處理生物的問題」。這個學科常見的名稱是computational biology(計算生物學)和bioinformatics(生物資訊學),對於這兩個名稱的區分滿混亂的 ([1,2]),大致上可以當作同義詞...而我個人著重的是computational genomics ([3]),再把研究領域限縮到genomics(基因體)的層級。

21世紀初,「人類基因體計畫(Human Genome Project)」定序第一組人類基因體,也帶動基因定序技術的突破性成長,現今的技術已經可以高速、精確、便宜的定序生物基因體,提供基礎生物學、醫學領域新型且高效率的分析方式。但因為基因體的資料量與複雜度都非常高,很需要有效率的方法來處理、分析資料,所以計算端的投入也相當重要。


在電機系,很多人聽到生物就倒退很多步 XD,當然做相關研究懂生物是個plus,但核心基本上就是演算法/資料結構,我的研究多在處理字串、也有一些graph結構,有些人會做big data analysis等等,生物的特性一般來說會model為演算法的constraints,並沒有到非常複雜,這邊可以參考台大生機系陳倩瑜老師的slides ([4])。



2. Why PhD?

我想這是關於申請出國最重要的一個問題,我每一次的面試都有被問到這題,畢竟一個PhD大概就是4-6年,對校方/申請者本人都是巨大的投資,我身邊也不乏人PhD唸一唸發現「這不是自己想要的」、「其實對研究沒有這麼有興趣」,拿到國外名校PhD admission不是什麼人生勝利組證書,回歸根本還是要傾聽自己內心的聲音,想想自己未來想做什麼事、當個怎樣的人。

NTUEE出國唸書的風氣很盛,不過我大學期間並沒有計畫要唸PhD,申請了一學期的交換去UIUC,體驗一下短暫的留學生生活,當時覺得在美國生活實在太辛苦了(當時那邊功夫茶還沒開,買不到珍奶這件事我覺得非常不OK),不宜久留。另外一個原因是我當時做數位電路,在美國感覺沒有比台灣好多少,就決定留在電子所跟專題的指導老師唸碩班,我在大學時代的最後一個專題project是做
處理DNA序列(sequence alignment)的數位電路,當時沒有什麼想法,不過這個project成了後來我走向生物資訊的關鍵。

在碩班期間,
我打算延伸大學時期的sequence alignment研究,因此修了一些相關的生物資訊課程,也參與滿多實驗室內的其他projects,我在這時期增加了不少學術寫作的經驗、也累積了幾篇發表。在更認識生物資訊之後,我發現這個領域真的太有趣了,新一代定序技術的發展才短短十來年已經造成很大的impact,加上我自己很喜歡跨領域的學科,於是開始重新考慮出國唸PhD。

碩二上,我跑去醫學院修了「次世代定序、生物資訊學與基因體醫學(NGS-BI-GM)」,這是最後讓我確定要申請PhD的原因。這門課有一大部份是從基因體醫學的角度來切入新一代定序技術的影響,因為我從小就很怕血不敢當醫生QQ,覺得能用自己的專業提供人類醫療另一個層面的幫助是非常棒的事情。


我覺得博士班的期程比較足,碩班的兩年時間偏短,
雖然我沒有打算一定要走學界,但我認為若能在好的實驗室做出好的研究,不管以後往哪走都很有幫助,加上computational genomics program大多只有PhD,所以MS vs. PhD的選擇對我來說不是大問題,我最後全部申請PhD


3. 申請準備

3-1. 時程

我的準備時間非常趕,算是運氣滿好的一路都滿順利,也多虧許多朋友鼎力協助,才能申請到理想的學校,可以的話還是早點開始準備申請的事情比較好,像GRE五年內有效,先找個比較閒的時候考一考放著也不錯。

9月:

    英文考試(基本上都在唸GRE)、CV初稿

10-11月:
    SOP、LOR初稿x1、找program
    大致11/25左右完成所有文件 (第一批deadline是12/1)

12月:
    聯絡教授


3-2. Program選擇

這部份我覺得有滿大的討論空間,因為生物資訊這塊大部份沒有獨立的系所,有些學校會放在ECE/CS下面(偏重計算),有些會有專門的bioinformatics/computational biology program(大多偏重生物)。

我的計畫是這兩類的系各投一半

生物:
    Harvard BIG、MIT CSB、UCSF iPQB、
    JHU HG、Princeton QCB、Yale BBS (CBB)、UCSD BISB
計算:
    CMU-Pitt CPCB、UC Berkeley EECS、UIUC CS、
    JHU CS、UCLA ECE、UW EE

在申請結束之後,我認為我這樣的program分配不是很好,CS近年已經不太好申請,但生物的系又更難:一是我非相關科系出身;二是招生名額少,像MIT CSB今年只收6-8人、Harvard BIG今年據說國際生只收2人;三是國際生的身分問題,我有聯絡上Yale的老師,他請我去確認是否適用training-grant/CSC funding,結果是都不行,後來Yale沒有發面試/錄取給我,
最後偏Bio的系我一間都沒上

再選擇一次的話,這些生醫program我會少投幾間,改投電資為主的program,像Princeton我有興趣的實驗室也都有在CS department。但也可能遇到一個問題是有些CS科系做生物資訊的老師不夠多,因此另一個途徑是海投一大波以量取勝,但要考慮推薦信跟財力的問題


另外建議可以申請教育部百大獎學金,107年度合作的學校有Cambridge、Oxford、UIUC、Columbia、WUSTL、Caltech等,如果申請上的話教育部會出一些經費支援(通常是全額獎學金的一半)。我把這個獎學金填給UIUC CS,不過後來發現他們其實不太缺錢...面試我的老師也明確說這不會影響錄取。我的理解是EECS普遍比較多private funding,比較有彈性;而偏生醫的科系以政府經費為主,對國際生的限制比較多,有外部經費來源的話學校的經費壓力比較小,可能會帶來錄取上的幫助。


選擇program也特別要注意該校的深度,也就是自己有興趣的實驗室/老師的數目,畢竟唸一個PhD是段不短的時間,和老師處不好、老師被別的學校挖角或跑去開公司都很常發生,如果一間學校只有1~2位老師的題目比較相關,就學之後的容錯度會低很多。我大概是抓有3間以上相關實驗室的program來投。



3-3. Standardized Tests

通常申請PhD的話,G/T的分數不是最重要的事情,一般是建議考過門檻即可,理工科抓G320/T100大致堪用(不過還是有些學校把托福門檻定得比較高、或是想當TA的話有要求speaking分數)。分數過門檻之後,高個三五分我覺得沒有太大的差別,除非能拼到G335/T115以上這種很突出的分數,不然建議把時間投資在別的地方。

通常這些英文成績的要求都不是絕對,但如果申請者的表現不是非常特殊的話,每個環節都很重要,英文沒過門檻可能會直接被擺到申請者pool的後段,相當可惜。之前看到一句話:「英文考試再難,也不會有唸一個PhD難」,我覺得滿受用的,勉勵G/T苦海中的考生。



3-4. Letter of Recommendation

推薦信可能是所有申請項目裡面最重要的一項,JHU CS即在官方的Q&A ([5])中提到推薦信是他們最優先看的項目:
What does it take to get accepted into the PhD program? 
The four areas we weigh are, in rough order of importance: letters of recommendation, your record of projects or research, undergraduate institution and transcript, and GRE scores.
在邀請推薦信前,可以先規畫自己的申請資料想強調哪些方向。因為我是轉領域,指導教授的專長是硬體架構,因此我希望我的推薦信可以展現我在生物資訊領域也有好的研究能力。我的另外兩封信都來自台大外系教授(修過一位教授兩門課、一位一門課,都是我的碩班口委),他們都是生物資訊的專家,一位做computation端、一位做genetic medicine,我認為這樣的組合可以從生醫、資訊兩端來強化我的申請資料。我在加州實習的主管也有答應可以幫忙寫推薦信,但因為公司的領域離生物資訊比較遠,所以選擇了現在的組合。

如果有唸碩士班,可以主動邀請教授擔任口試委員,這非常有助於老師更了解你,而且我邀請的兩位外系教授都是相關領域的專家,他們在我的口試中給了非常好的建議,對我的碩論的研究、後續的方向都很有幫助。


推薦信邀稿的時間我抓一個月,並提供教授們需要的資訊。我先做好一版CV之後開始聯絡教授,雖然CV後來會再修,但通常足夠做為寫信的參考。另外有些老師可能會希望有草稿,雖然擬草稿要花一些時間(還要特別注意用句不要太像自己的SOP XD),但也可以藉著擬稿promote自己想強調的特質,透過交叉掩護來顯現自己在申請資料中的優勢。擬稿時,盡量想像教授的立場來描述自己,可以參考[6]。



3-5. Curriculum Vitae

這應該是申請資料裡面比較好準備的一項,畢竟核心的內容都是先前的累積成果。我直接拿朋友的latex模版來改,網路上也有很多CV的template,挑一個喜歡的再微調即可。

排版的建議是簡潔、明確、強調重點。我認為我的優勢是publication不少,所以把這欄放在滿前面,想要給人「這學生有研究能力」的印象;另外,research experience也是重要的欄位,要把做過的project寫清楚,強調自己做了什麼事情、結果有多好。


我完全沒寫相關課程,後續面試中偶爾有被問到修過哪些生物的課,倒是沒人問過修過哪些CS課(我其實沒什麼修 XD),我覺得這些資訊成績單上就有,沒有必要寫來佔珍貴的版面。至於獎項、課外活動這些項目,
如果有世界級的獎項或是活動參與當然很加分,但因為這些項目很容易灌水(畢竟國外教授不會知道台灣某大學的校內比賽是否有代表性),所以不建議花太多篇幅。不過我還是有列一些上去,因為我覺得那些活動參與對我來說是重要的經歷,都略過的話覺得人生不太完整。

CV有一件很重要的事情是要避免錯字/文法錯誤(不只CV,全部申請資料都要注意),務必多次檢查,能找到朋友幫忙看也會很有幫助。



3-6. Statement of Purpose

SOP在理工領域的申請中,通常是唯一可以看出申請人內心想法的資料,所以我在SOP的寫作中,非常強調自己的想法(為什麼要唸PHD、為什麼做這個領域、對研究領域的insight等等),相關的經驗則是作為該想法的支持如果在SOP中只是一一介紹自己的經歷,則淪為詳細版的CV,無法讓審查者對你有更多的認識。

我參考板上jasontang學長貼的MIT media lab範文(#1M3WGqwO)來設計我的SOP,我的文章圍繞著「我對這個研究領域的想法」來開展,再佐以我的經驗來增加說服力,整體架構如下:

    1. 為什麼做computational genomics

    2. 我認為在這個領域中要成功的關鍵特質:
        (a)整合不同計算方法的能力
        (b)跨領域合作的能力
    3. 我有深厚的演算法基礎
        (佐證:先前的發表經驗)
    4. 為什麼「(a)整合不同計算方法的能力」重要
        (佐證:我在碩論中整合多種方法,做出很好的結果)
    5. 為什麼「(b)跨領域合作的能力」重要
        (佐證:我做過跨領域的合作project,因為雙方能力互補,所以最後成果不錯)
    6. 未來目標──希望能夠利用計算方法幫助醫療進步
        (佐證:志工經驗、社會科學的學習給我啟發)
    7. 寫一些目標program的優點,結論說所以我們很適合呢

雖然說最終希望以「想法為骨幹、經驗為輔佐」的結構呈現SOP,但其實開始構思時的出發點還是以自身經驗出發,畢竟有相關的經歷強化,拋出來的想法才會看起來紮實,而且也希望SOP上可以擺上自己最好的一面。


我的方法是先把自己比較特別的經驗列在筆記本上,再去整理這些材料,並配合自己對於研究領域的想法來組織整篇文章。呼應先前在推薦信段落寫到的,在組織文章時應該先想過自己想要在申請資料中想強調哪些特色,能強化這些特色的材料要優先保留,難免有些好材料不適合整篇文章的大結構,還是得忍痛拿掉。

我十月開始寫SOP,10/15第一版、10/22第二版、10/29第三版,前面真的很慘,每一次改版幾乎都是砍掉重寫,到第三版才有比較滿意的架構(不過後面還是改很多)。一開始真的寫得很像字多的CV,那時候整天都在想要怎麼組織這篇文章,寫SOP要多花時間來調整架構、不要怕重寫。

因為我相較於我的朋友們,算滿晚申請學校,所以拜託了非常多正在國外唸書的朋友來給我建議。特別是在文章架構規劃的階段,如果能找到有經驗的人給些建議,會有非常大的幫助。

有個小議題是需不需要在SOP裡面提到有興趣的老師,我都有寫,不過後來覺得不需要佔這個版面,大部份的申請系統都有欄位填professor of interest (POI)了。但如果在申請送出前有聯絡到老師,則建議提及。



3-7. Contact

首先講一下聯絡教授,我總共主動寫信給九位老師,大部份挑EECS的老師寄信,生物program因為幾乎都是委員會審查,我就只選一些最想去的實驗室PI寫信。內容首先是簡單的自我介紹,然後會提到老師的paper中和我過往經驗較相關的部份,如果有用到很類似的方法也會特別提出來。

聯絡結果如下:
    正面回應 x2
    今年不收人 x1
    我不在委員會如果錄取了歡迎再聯絡 x1
    請我確認經費可行性(前面提到的Yale老師) x1
    沒回 x4

正面回應其中一封就是我未來JHU的指導教授,另一封有面試,但我後來跟他說我會去別間學校,值得一提的是這兩位教授後來跟我約面試都是回覆我當初寄的那串信。

聯絡教授會不會影響錄取這不好說,但仍然有一些好處:首先,我寫信前會讀過教授的研究內容,確認研究方向、運用的方法符合自己的興趣,這讓我多認識了很多原本略知一二但不熟的研究題目,對整個生物資訊的領域有比較開闊的了解、對後續選校也有幫助;第二,有些老師就是沒打算收人,早點知道這個消息就不會佔一格申請系統的POI名額,甚至可以改投別的program,或是老師可能會介紹其他相關的教授給你認識。

另外推薦一個多認識教授的方法,至少在生物資訊領域,很多教授的交流是透過twitter,開個帳號搜尋一下有興趣的老師,有時候可以知道他們的研究近況、甚至有沒有打算收人(我當初看到JHU老師po文說他今年要收PhD學生,當天馬上寄信,也得到正面回覆),twitter的推薦功能也可以找到其他相關領域的教授,對於選擇投哪些系很有幫助。此外,每天刷一下,看看教授們在關心什麼題目,有助於更全面地了解研究領域的發展,這對研究生涯絕對是好事,也有個近期一點的好處是面試的時候可以拿這些題目來聊。

另外也可以考慮聯絡學生,尤其是台灣學生,如果發現目標實驗室有正在就學/剛畢業不久的台灣人,可以試著寫一封有禮貌的信聯絡他/她,我有聯絡到幾位友善的學長姊,回答我對於實驗室的風格、學校的狀況、業界走向等等的各式問題,非常感激他們的協助。申請學校可以盡量積極,多認識、多了解都是好事。


4. After Submission

4-1. Interview

如果有拿到面試,那錄取的機會已經很大了!必準備的內容包含自我介紹、準備要問老師的問題、以及「所有」申請資料裡面有提到的內容。另外「為什麼要唸PhD?」、「唸完PhD之後的規劃是什麼?」這類問題也都要好好準備,我後來幾個面試直接把這些內容包在自我介紹裡面一起講 XD。

面試前建議先擬個稿,端看對自己英文的信心決定要擬多細,我有大概寫一份自我介紹和最重要的一兩個project,當然實際面試不會照稿唸,但先走過一遍到時候比較容易正常發揮,不然面試的時候應該都會滿緊張的,有時候會漏掉重要的內容。另外,我第一次面試的時候,教授請我介紹一下我的研究經驗,我傻傻的從最久以前的project開始講,沒想到教授聽一聽就開始問問題,但我根本有點忘記研究的細節,雖然後來有回想起來,但其實滿抖的,因為面試時間有限,建議好料先端上桌。

在自己提問的部份,我都會問老師你指導學生的風格是什麼、學生畢業之後的發展、學校跨領域合作的機會,當然還有研究相關的內容。


4-2. Onsite Visit

Onsite visit是個非常有助於認識該學校/program的機會,CMU-Pitt CPCB的open house是辦給已錄取的學生,我也趁旅行的一天空檔安排飛一趟Baltimore拜訪JHU的實驗室。

我去JHU時還沒有offer,但老師還是很爽快地答應讓我去參觀,還主動說可以補助我來回Baltimore的機票和住宿費用。我把這趟visit視為額外的onsite interview,不過當天的行程還算輕鬆,主要在和實驗室學生、教授meeting,每段都是30分鐘,除了老師有問一些technical問題,其他時間都在聊天,我也找機會觀察老師和其他學生的互動。我在離開JHU當天晚上收到老師寄來的offer。

CPCB的open house有三天,大部份有收到offer的學生都有來,主要的行程在第二天,這天我meet了五個教授,各20分鐘,還有各種午餐、晚餐social,我那天身體狀況不太好(到Pittsburgh前一天飛機delay硬是在紐約多待一晚 QQ),整天吃B群和咖啡硬撐著,行程結束回房間癱在床上整個人動不了...可以的話旅程安排得鬆一點,比較有時間調整。

對我來說,visit之後兩個program都有加分,和未來可能的同學、現在的學生、教授們聊聊都很有益於自己選擇學校,也可以稍微認識接下來要待好幾年的城市。加上學校會多少補助一些費用,負擔不算那麼大,我認為非常值得走一趟。


4-3. 選校

先簡介一下我有錄取的programs:

UIUC CS: 
收我的教授研究做得非常好,和許多外系、外校老師都有合作,學校的CS也非常強、計算資源豐富,另外原本UI系統的醫學院只有Chicago分校有,今年UIUC也要開醫學院,未來可能會有一些醫學相關的合作機會,不過跟我另外兩間學校比起來,生醫相關的資源還是少很多,而且他們Bioinformatics and Computational Biology group偏小,核心教授有四人(網站上掛六人,但有兩位本業是別的領域)。


CMU-Pitt CPCB:
這是CMU和Pitt (U. of Pittsburgh)合開的PhD program,是很有特色的一個規劃,CMU是CS #1、Pitt在醫學領域也非常強(NIH funding top-5、Pittsburgh城市滿滿都是UPMC醫院大樓),這個program結合兩邊的強項,資源豐富。網頁上可以看到CPCB可以選擇的實驗室數目非常多,獎學金優沃(再考慮Pittsburgh物價,真的很多 XD)、而且保證給到畢業。

在CPCB,兩間學校的教授都可以指導學生,最後如果選CMU的advisor就拿CMU畢業證書、選Pitt就拿Pitt,前兩年修課的時候是兩邊跑(核心課程是四門生物入門課、一門machine learning)。這個program今年約莫收24人,今年有看到中國人x2、韓國人x2 (這邊指的是拿該國學歷申請,大學/MS在美國的沒算進去),往年會有10~12人去唸,目前CPCB應該是沒有台灣人。

研究的部份,因為教授數目非常多,大部份的研究領域都有相關的教授,不過整體來說比較著重machine learning,很多人的研究都和ML有點關係。

JHU CS:
學校的CS排名不太好(#25 @US News 2018 CS Ranking),一部份的原因是系不大,不過整體來說engineering的資源比上述兩間弱。但JHU的compbio非常強,他們開發的Bowtie系列aligner可以說是史上最成功的生物資訊軟體之一,此外,JHU的醫學院極好,在這邊預計可以有滿多機會參與生醫相關的研究。


最後我主要在考慮CMU和JHU兩間學校,CMU的優點在於非常強的CS,還有program非常廣,想做什麼題目做大概都可以,缺點是做algorithm的老師偏少(主做這塊的僅有一位,但他做得非常好);JHU的優勢在醫學,且有非常好的alignment/genome data processing algorithm的開發經驗,另外我覺得老師和學生的互動很好,我也比較喜歡JHU的campus。

兩邊的客觀條件我覺得都非常好,最後算是憑感覺去做決定。因為我剛開始做compbio時就讀了JHU老師做的Bowtie的paper,後續做研究時也用了類似的方法,最後秉持一個想和偶像一起做研究的心態決定加入JHU。

結語

從大學到碩班畢業,一路上自己算是迂迴前進,大一、大二花較多時間在課外活動,雖然有點傷GPA,但這大大影響我的價值觀,也培養了團隊合作、表達等軟實力;大學後段做了一些數位電路,還一度半轉行唸了一個經濟系;碩班開始往生物資訊發展,進而決定申請博班。雖然許多經歷在CV上看起來不太相關,但這對我都是很重要的養分,讓我更認識自己、清楚自己想要的是什麼,以致於現在可以很堅定的往下一個目標前進。

引用一位我的高中老師說的話:「如果目標是90分,那盡量做95~100分的準備,如此就算失常也可以達標。」我在碩班第一年尚未決定申請學校,但當時累積的一些研究成果對於後來申請PhD有很大的幫助,鼓勵各位有餘力的話拉高自己的標準,把手上的事情做好、做到超乎標準,有一天說不定就會派上用場。

致謝

追夢路上,得到非常多的鼓勵、支持、包容,感謝盧老師長期的指導,給我極大的空間自由發揮;感謝兩位陳老師,你們是讓我堅定走上這條路的大推手;感謝好友們提供的建議以及協助,被我瘋狂騷擾還是這麼有耐心;感謝各路貴人的幫助;感謝台大電機帶給我更開闊的視野;感謝家人、女朋友的包容和支持。

最後,我知道自己是個幸運的人,從小有很好的家庭、社會支持,期勉自己莫忘初衷,成為一個更好的人,將這些不出於己的幸運反饋於社會。

Reference

  1. https://www.quora.com/What-are-the-differences-between-bioinformatics-and-computational-biology
  2. https://rbaltman.wordpress.com/2009/02/18/bioinformatics-computational-biology-same-no/
  3. http://www.cs.jhu.edu/~langmea/resources/lecture_notes/genomics_comp_genomics.pdf
  4. http://bioinfo.bime.ntu.edu.tw/c4lab/FAQforUndergraduates.pdf
  5. https://www.cs.jhu.edu/graduate-studies/graduate-admissions-information/graduate-admissions-faq/
  6. https://www.quora.com/What-do-professors-generally-consider-and-write-in-their-recommendation-letters-for-their-undergraduate-students-for-graduate-studies