2020年12月8日 星期二

[留學] 無背景經濟轉CS UW-Madison PCP+PMP 分享

 

PhotoCredit/Hui-Shun Hung Bascom Hall @ UW-Madison

編按:本文經 JT Chen 本人授權後貼出。

這年頭轉CS的方法很多,不過每個人背景不同,適用的方法自然也不一樣。如果你和我一樣沒有理工背景、沒有身分、沒有好的三維、沒github,甚至幾乎沒修過CS課,那或許可以參考我這兩年的成敗經驗。

Admission

  • UW-Madsion CS PCP (2019 fall)
  • UW-Madison MSCS-PMP (2020 fall)

Rejection (2019 fall)

  • Dartmouth MSCS
  • UMass Amherst MSCS
  • University of Chicago MPCS
  • UCI MCS
  • UCI MSWE
  • Rice MCS
  • Rice MCSE
  • UW-Madison MSCS (PMP)

Education

  • M.A.in Econ, NTU. GPA: 3.59/4.3

Related courses

  • UW-Madison
    • 2019 Fall
      • Operating System(CS537)
      • Database Management(CS564)
    • 2020 Spring
      • Algorithms(CS577)
      • Optimiaztion(CS524)
      • Programming(III) (CS400)
  • UCPH
    • Advanced topics in Machine Learning
  • NTU
    • Data structure and algorithms
    • Scientific computing
    • 勉強相關: Econometric Theory(III)、Advanced Statistical Inference

Test Scores

  • TOEFL: Total 94 (R28 L27 S18 W21)
  • GRE: Total 326 (V158 Q168) AWA 2.5

Work Experience

  • 國內電信業資料科學家 (2ish years)
  • RA @ NTU CSIE (5ish months)

Publication

  • 1*Academia Economic Papers (碩論改寫)

Recommendation

  • NTU Econ 論文指導教授
  • NTU CSIE 修課教授
  • UW-Madison CS修課教授

申請策略


2019: 去年申請時因為還在上班的關係,下班後其實沒什麼心力針對校系廣泛研究,也不知道可以問誰,最後就是憑感覺從轉領域心得文中常出現的項目挑選一些。當時期待自己背景相對特別能矇上一兩間,可惜實驗失敗。看來很多我自以為冷門的項目可能也是需要有些修課經驗才有競爭力吧。本來評估即使繼續工作個三五年大概也是差不多結果,正準備放棄出國這條路時,剛好看到在Madison負責審查的前輩發文提及PCP,然後就順手申請,並領了F1簽證過來。

2020: 由於不想再花額外兩年讀書,也不想再丟錢申請跟麻煩老師弄太多推薦信,選擇就讀
PCP後我就設定今年只申請Madison,被拒就回台灣找工作。因此上學期就是專心拚在校成績,除了完全沒準備刷題或實習,也沒再重考GRE、TOEFL。根據前人的分享,我猜測這邊只會強制把TOEFL不到92的篩掉; 而SOP跟CV的話我則只確認已把做過的一切交代清楚,然後刪掉些廢話沒再去找潤稿了。我相信關鍵終究在上學期成績,以及能否取得這邊老師的推薦信。當然有企圖心的人趁這段時間找實習或申請更好的學校或許能取得更多成就,不過我能在這邊讀CS就滿開心了,其實不像其他人有那種非得留在美國的強烈念頭,照著自己習慣的節奏努力比較重要,之後會怎樣就隨緣吧。

Madison CS PCP/PMP


這邊稍微介紹一下項目跟這兩學期來的一些修課心得。

PCP 是非學位的certificate,結業需求是從網站清單中的大學部核心課程挑選四門選修及格。若連資料結構基礎都沒有的話好像還要強制先修另外兩門基礎課程。我這兩學期遇到的老師都很認真。而大學部學生整體水準還算平易近人,不用擔心進來實力被海放拿不到好成績,個人認為是滿適合轉領域的學習環境。如果和我一樣計畫隔年申請,上學期修OS和DB是不錯的選擇。主要原因是兩門課的作業占分高,也沒有團體報告,所以不用煩惱考試太失常或是被組員雷到。只要用心寫程式作業多半就會有好成績。另外就是難度適中, 拿到推薦信的說服力可能也比較夠。

PMP的話則是至少修15學分大學部高年級+15學分研究所課程。據說多數人是一年半結業。PCP轉過去沒記錯能抵14學分,之後一年順利修過五門研究所課程的話就是兩年結業。有別於一些學校為求職項目打造的課程,這邊看起來則是和其他傳統MS、PhD一起修學術導向為主的進階課,而這些人的能力和大學生大概是不同次元的,所以該怎麼度過這一年還得花些功夫研究。

課程方面,這邊的OS很值得一修。300人的課居然就有約20位的TA+peer mentor。一周七天,每天都有半天的實驗室office hour是我過去難以想像的規模,可怕的是後面幾次比較難的作業時在系館待到晚上10點半還排不到助教.., 另外Andrea和她先生Remzi寫的OSTEP*連我這完全沒系統基礎的外行人都可以讀得很愉快,沒記錯的話這是我這輩子第一本讀完的原文書,很推薦想學OS的人閱讀。而這門課最大挑戰是合計七、八次的C和xv6程式作業,個人認為比較麻煩的幾次分別是從頭刻shell、concurrency版的map-reduce還有xv6上實現mlfq。我之前幾乎沒寫過C,甚至連pointer都幾乎沒用過,後來花很多時間追完先修課程的影片才慢慢跟上需求。

有人可能會想說之後要刷題應該就是要修演算法,不過我認為除非是對自身數學分析能力很有信心,不然盡量先跳過。這門課沒有程式作業,基本上都是數學證明,我想至少比以前修過的數學系高統還重視證明吧。不過演算法好像就是這樣,看到UIUC網站上的材料後發現這邊上的應該還算偏容易的。有興趣讀演算法的可以嘗試UIUC的Jeff's Note*,裡面內容還算精簡,不會有一些讓人看了就想放棄的東西。不過可能是我沒修過離散的關係,很多部分讀起來有點卡。

DB的話要學的扎實據說是要讀好cowbook,但我覺得這本書很難讀,不確定是寫的太囉嗦還是我懂得太少,同時我對於老師隨興無組織的上法也沒什麼共鳴,最後其實沒學得很好。
所以這邊想順便徵詢一些推薦的學習資源。

本來這學期是想修計算機結構補足這方面基礎,不過老師一再恐嚇我沒修過邏輯系統之類的會很辛苦, 同時我也想說或許是最後一學期當學生了,也用不著跟跟自己過不去,最後選了些輕鬆有趣的課來學Java跟練習建模。


心得


其實從我各項申請條件可以看出我也不是多厲害的人。不過這世界就是這樣吧,很多時候決
定一個人能有多少成就的不見得是實力,更多時候是出生在什麼地方、獲得多少機會。美國
碼農薪水比台灣高數倍不見得是他們厲害數倍,而是因為他們在美國; CS人會寫程式可能只
是他們剛好受過完整的電腦教育,其他科系的人照同樣套路學習或許也是差不多結果。

相信除此之外還有很多能轉CS的方式,大家有興趣還是盡量試試。即使有時候前方看似行不通的死路,但還是要走過才知道,或許走著走著道路就會自己出現了。


2 則留言:

  1. 感謝您分享,spring 也申請到這個了,方便的話可以跟原作者請教一些選課的問題嗎

    回覆刪除
  2. 也許您可以加入 UW-Madison 的學生會臉書社團詢問歐~ https://www.facebook.com/groups/SAT.UWMadison

    回覆刪除