作者:AdmitWrite線上留學平台
鏈接:https://www.zhihu.com/question/24334688/answer/2270175213
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
本人就讀於哥倫比亞的MSCS項目,在這裡借題主的問題和大家介紹一下這個項目的課程設置,並分享一下我的就讀體驗(包含生活、學習、就業等)希望看完本文能讓你更加了解哥大,對想要申請MSCS項目的學弟學妹一個參考。
招生問題
首先是大家比較關注的招生問題,哥倫比亞大學的MSCS項目招生人數還是比較多的,每年招生大概在200多人,而且中國學生的比例比較高,大約60%-70%都是中國人,其他主要是印度人、美國人、韓國人,再就是一些零零散散國家的人。而在中國同學之中,美本和陸本的同學人數基本上是五五開的。哥倫比亞大學在招生時的要求也是比較嚴格的,我覺得在我身邊的國內同學水平都是很高的,身處其中還是比較有壓力的。
學習體驗
不過今天我主要分享的不是申請部分的內容,這部分我就不贅述了,接下來進入正題,那就是哥倫比亞大學MSCS項目的學習體驗。這個項目給人最為直接的感覺就是工作量大,學習壓力更大,因為需要上的專業課很多,而且基本沒有水課,所以我基本天天都泡在圖書館裡。就算這樣我還是覺得有些吃力,哥大的這個項目的要求是在三個學期修完10門課之後畢業,基本配置一般是442,四節專業課一起上的話作業是很多的,一個作業可能就要花上一天的時間,再加上還要刷題找工作,時間也是很緊張的。另外開學一個半月就會有期中考試,還需要分出精力來複習,那種緊迫感也是可想而知的。
選擇這個項目的新生在剛剛入學的時候需要選擇一個track,這個時候大家只要選擇自己最喜歡的track就可以了,因為如果大家不是很喜歡自己選擇的track的話,第二個學期是可以進行更改的。我建議大家選擇machine learning這個track,這是因為這個項目選課十分的友好,基本可以選到所有的課程,因為這邊分配選課是要根據你選擇的track來進行優先分配,machine learning這個track優勢還是比較明顯的。
選課問題
說到這裡我再和大家說一下哥大的選課,在剛來哥大的時候我也被選課折磨了一番。說實話我之前從來沒有見過哥大這樣的選課模式,大家什麼課都可以隨意選擇,所以我們只要下手稍微晚了一點,就呆在waitlist裡面了。因此在開學前兩周的選課周里,最好要盡自己所能去聽所有的課,因為我們一旦選不上自己心儀的課程,還可以妥協去選一些別的課。這個時候如果我們前兩周的課沒有聽,那麼很可能錯過第一個作業或是老師布置的選課認為,這樣就失去了機會。因此在這邊前兩周我經常需要去聽很多自己不喜歡又聽不懂的課程,這對於我來說真的是一種煎熬。
所以我覺得選課一定要趁早,而且大家在選課的時候不要都去選硬課去值回學費,實際上在這裡無論你選擇了什麼課,最後都是自己做reading,之後做作業,如果你選的課太硬,reading做不完的話後續的作業就會很麻煩了。事實證明我的這種想法是非常正確的,因為雖然我沒有做project,但是OS也一直都是趕deadline的狀態,一個學期需要學完APUE、OSTEP、Linux Kernel Development三本參考書,現在想起來都覺得有些殘忍。
不過就算我們早早選課,像cv、ml這些熱門的課程因為僧多粥少還是很難選到的,如果大家不能第一時間選課,那麼就要進入waitlist了,有時一門課只有120人的容量,但是waitlist中卻有150甚至200人在裡面。不過大家也不用太過擔心,因為我周圍那些在waitlist的人基本在開學後一周之內都能選到課,這是因為哥大第一周是可以自由換殼的,而很多人在聽課之後會放棄自己之前選的課程,不過這段時間也是很煎熬的,因為一旦真的選不到課還是很難受的。
項目質量
說完了選課再說一下項目的質量問題,現在有很多的人說哥大的CS項目比較水,不過我並不是這麼認為的,在我看來學習還是要靠自己,我們可以自己去選擇一些硬課。像我選擇的課程難度都不是很低,完完全全是靠自己的大量自習才能搞定的。而我選的課里只有一門我覺得有點水,那就是數據庫,不過這也是因為我之前工作的時候使用數據庫比較多,對於那些轉專業沒有相關經驗的人來說,課程還是很有難度的。而且這門課的project是要在Google cloud上寫一個完整的網站,這個工作量無疑也是很大的。
不過課程雖然不水,但是課程的質量也並非都那麼高,這樣也和授課的教授有着直接的關係。像我上過database system的課,這個教授給我的感覺就是他在外面有事業的,教書只是他的副業,在上課的時候他兩道題就能講上一個小時,甚至有些時候記不清上節課講到哪裡,作業給的也不是很好。而給我上machine learning的教授則活脫脫將這門課變成了數學課,作業很難,課程內容也十分的硬核,因此教授對於課程質量有着決定性的影響。
不過無論什麼課程,這邊教授上課講的知識都是比較少的,一位教授的說法就十分的形象,他說他就像在教我們游泳,他只是負責把我們推下水,接下來都靠着我們的努力。有一個學期我選了四門課,其中兩門課每個星期上課兩個半小時,兩門課一星期只上課一小時50分鐘,剩下的時間都是自由安排的。不過有很多的homework和reading要做,所以時間是特別緊張的,因為老師在課堂上講的東西是不足以幫助我們完成作業的,自學壓力還是很大的。
而且CS的研究生項目是沒有基礎課的,像那種Python入門、數據結構入門這類幫助學生適應研究生的課程一概沒有,因此幾乎每一門課都需要我們自學很多知識。所以我們選課的時候也要做好規劃,不僅是課程的難度,我們還要關注每一門課是否有期末考試,如果每一門課都有期末考試,那麼我們也很可能應付不來。
因此這也要求同學們有一定的基礎,像OS就需要我們很會C,同時懂得操作系統的概念而且了解文件IO、socket接口。而像machine learning這門課,老師會要求同學有很好的高數、線代、機率以及統計知識,如果沒過關的話選課都不讓選。
說完了這些選課方面的事情,我也和大家分享一下我選的幾門課,讓大家提前了解一下這個項目中課程的特點,這樣大家未來選課的時候也可以做一個參考。
選課分享
1、CSOR4231 ANALYSIS OF ALGORITHMS by Eleni Drinea
優點
這門課的老師學術背景很厲害,她也十分的專業,在教學的時候更是認真負責,不僅在上課的時候所有的知識點都講的很細,而且學生如果沒聽懂她還會回頭重述一次。但是因為很多人在上課的時候經常聽懵,所以她上課經常會重複,不過這也是沒有辦法的事情。另外她準備的算法案例不是那些爛大街的東西而是都經過了她的精心設計,可以確保同學們真正學到東西,而為了讓同學們真正可以運用算法去解決問題,她布置的作業也不簡單,不過兩周一次的作業節奏還是很適合的。整個項目一共6次作業,加上一次mid term和final,作業而不需要寫代碼,都是設計算法,寫出pseudocode。而且老師大機率會錄製視頻,所以很適合那些不愛去上課的同學自學。
缺點
不過這門課也還是有一些缺點的,首先就是老師對於同學們的期望太高,因此一個學期內包含的算法類型太多,知識量也很大,大家拼盡全力也只能勉強跟上老師的進度,壓力山大。這也要求我們要有一定的專業知識基礎,否則學起來實在是太過費勁。還有一點就是考試的時間太短,大約只有一個小時出頭,不過題目量和一次作業差不多,所以考試分數普遍不是很高,只有數學大佬可以輕鬆過關,其他人就慘了。
個人建議
我之所以先寫這門課的情況,是因為我當時考試的成績真的有些不忍直視。這門課主要是算法設計,而不是背下來已有的算法,所以如果同學們在國內的時候就已經學過算法課或是有算法基礎並不是太難,不然需要有很多練習才能融會貫通。總之我覺得這是必學的課程之一,這門課還是很有東西的,只是想要學好還是需要大量的時間的。不過如果你不是數學大神的話,我建議大家選擇一些水課和這門課一起上,不然想要拿高分還是有些難度的。
2、COMS4118 Operating System I by Jae Lee
優點
接下來這門課學到的東西可以說是很多的,這門課的參考書包括了 <APUE> <OSTEP> 和 <Linux Kernel Development>,所以我們平時除了上課聽講之外,課外的閱讀量是很大的,大家千萬不要忽視這些參考書,因為上面的內容考試的時候是真的會考的。另外這門課的老師很有水平,專業知識也很豐富,最關鍵的是他對於Operating System是真愛,講課也很有熱情,而他布置的作業是急於Linux kernel的某個版本來做的,很多東西都需要我們自己讀kernel代碼才能寫出來,非常的practical。這門課一共有7次作業,全是代碼題,其中兩次比較容易,是單人完成的,剩下的都是組隊完成的,另外同樣有一次mid term和一次final。
缺點
不過這門課也有一些缺點,首先就是課外閱讀量的問題,雖然這可以幫助我們學到更多的知識,但是這閱讀量的確有些太大了,一般的同學還是很難駕馭的。另外作業量也是很大的,因為這邊的作業都是寫代碼,而其很多都要自己閱讀代碼差資料,所以儘管很多作業是組隊做的,但是想要學到東西我們每個人幾乎都是要自己完成一遍的,這個工作量也是很驚人的。
另外還有一點需要注意,那就是這門課對於同學們的基礎要求比較高,如果沒有足夠的C語言基礎那麼就可以直接放棄了,而且這個課程也需要同學們有基礎的Linux使用經驗,畢竟這些代碼都是在Linux上寫的。
個人建議
有很多的人說這門課是哥大CS課程中難度最大的一門,我倒不是很清楚它到底是不是最難的,但是我知道這一定是學習需要花時間最多的,當時我也花了大量的時間在這上面,結果導致我算法死的很慘。需要注意的是這門課不是很容易選到,不過前兩個星期退課的人也會很多,因為老師上課除了提到書上的知識,還會結合自己的工作、研究經驗來補充一些內容,因此沒有一定的專業背景和學習動力是比較難跟上的,所以退課的人也會比較多。
這門課前期會學習system call,之後開始進入kernel學習代碼,這些內容基本都涵蓋在前面提到的三本參考書中,所以後續如果不仔細讀參考書的話考試一定會gg的。我覺得如果大家真的很喜歡OS或是想要了解OS,這門課大家一定要上,另外大家如果喜歡實踐理論相結合的課程,這門課也是很好的選擇。在這裡我還有一個小建議,負責這門課的Jae平時還會教Advanced Programming,所以如果你想要申請這門課,最好可以提前一學期去聽AP,這也可以幫助你打好C語言的基礎。
3、COMS4111 INTRODUCTION TO DATABASES by Alexandros Biliris
優點
這門課和前面兩節課畫風並不是很一樣,因為這門課的上課節奏是比較慢的,也很適合有基礎的人「划水」,大家在選課的時候可以用這門課和那些比較硬核的課一起選,這樣可以大大減輕學習的壓力。另外這門課不涉及底層DB的時限和理論結構,比較專註於database design,所以很適合其他專業背景的同學來入門數據庫。
另外這門課無論是作業還是project的量都不是很大,也不是很難,除了寫網站的部分都可以在參考書和老師的課件中找到,學習起來挺輕鬆的。而這門課雖然不是很難,可是其內容也會涉及到自己寫SQL以及optional的web programming,也是一門理論和實踐相結合的課程,我們也能學到一定的知識。還有一點就是這門課的老師很風趣幽默,在上課的時候也會開一些玩笑來活躍氣氛,唯一需要擔心的就是你能不能接住。
缺點
但是這門課畢竟沒有太多硬核的知識,所以課程的深度還是存在不足的,對於想要理解數據庫底層的同學來說這門課不是很適合你。不過聽說裡面個別session中有些部分還是有難度的,需要使用python來實現index等機制,可是這依舊不能改變課程整體難度偏低的事實。而且這門課授課的節奏比較慢,舉例也不會太多,對於沒有學過DB的人這門課內容不難學,但是老師的上課模式會讓同學們接受起來有些困難,我也親眼見證這門課從最初的滿課到後來零零散散只有20人不到來上課,這也很可以說明問題。
個人建議
所以整體來看對於那些沒有DB基礎的同學來說,無論是學習相關的概念還是寫網站都是比較困難的,需要花很多的時間來自習,而對於我這種有基礎的同學來說這就是一門划水課,這也是我上過最輕鬆的一門課,大家也要結合自己的需要來判斷自己是否要申請這門課。
4、COMS 6998 Topic: CLOUD COMPUTING&BIG DATA by Sambit Sahu
優點
這門課是一個理論和實踐相結合的課程,主要是關於AWS的知識以及Hdoop和Spark的一些知識,同學們可以通過編碼來學些AWS的不同服務,也可以學到當前網站架構的新趨勢,另外在課程的學習過程中我們會閱讀很多的paper,這也可以幫助我們學到更多的知識。這門課還有一個好處就是它是開卷斷網考試的,考試難度不大,考場上我還看到不少坐的靠近的人一起對答案。
這門課的老師人也很好,如果我們沒有選上這門課只要給老師發一個郵件就可以了,對於這種編號「6」的畢業需要的課程來說,這無疑是一個福音。同時學習這門課比較的輕鬆,作業是3個Assignment需要利用AWS編程服務完成,外加一個mid term Quiz和一個final Quiz以及一些不定期的Quiz以及最終的Final Project。而且這個課是Group作業,我們如果能力不足的話是可以抱大腿的。
缺點
這門課的缺點也是很明顯的,首先你需要接受老師的印度口音,另外這門課的課件上沒有什麼有用的東西,有時候甚至乾脆沒有課件,因此如果你沒有去上課的話,那麼你不知道老師上節課講了什麼。另外這門課的考試基本都是實踐作業+paper閱讀+自己查資料得到的知識,上了課的話你也不一定可以考好。
個人建議
這門課我是極力推薦同學們選擇的,因為這門課可以學到行業中真正實用的技術,也能幫助我們了解一些和大數據相關的概念,非常有助於我們未來的就業。不過平心而論這門課的知識深度還是有所欠缺的,畢竟這門課牽扯的知識點還是比較多的,如果大家真的對這些項目有興趣的話,我建議大家在課外自己要多多鑽研,多看一些AWS官方的文檔,這樣有助於同學們提高自己的考試成績。
看到這裡相信會有一些同學擔心自己不能跟上哥大的平時課程,我覺得這一點大家大可不必擔心,我身邊很多來讀CS的國內同學很多都是本科畢業後就過來了,也有很多轉專業的同學,不過大家只要平時認真學習的話是不用擔心跟不上的。至於英語也沒有什麼問題,像我當時托福的成績是102,GRE是330,都不是很高,但是上課並不是很吃力。但是有一說一哥倫比亞大學的很多教授口語讓人一言難盡,有些時候還是有些讓人抓狂的。來這邊平時也並不會使用太多的英語,但是英語是很重要的,在最後求職的時候更是如此,因此大家也一定要注意鍛煉自己的英語能力。
就業問題
說完了平時的學習,接下來是大家都很關心的就業問題,首先在就業的時候career fair會給我們提供幫助,可是其提供的幫助是很有限的,大公司只有微軟和bloomberg來了,我始終沒有想通其他很多大廠明明在紐約有分部,可是他們都不願意來參加哥大的career fair。另外哥大的career fair的服務也是比較一般的,秋招的時候基本上很多廠就是投個簡歷之後讓我們到網上申請。我覺得這樣的就沒有必要排隊了,我們去career fair的時候盡量找那種有on campus interview的,這樣比較有助於我們拿面試,而且據說校招的面試會比較好過一些。
所以找工作主要還是要靠自己,主要就是找內推,而像小廠就是到handshake和linkedin上海投了。說實話紐約的地理位置對於就業還是比較有幫助的,在這裡會有很多不大不小的公司,他們也會有on campus interview,其中也會有很多的金融公司來info session,大家可以趁着這種機會去多交流交流。
我建議大家最好還是投大廠尤其那些轉專業的同學更是如此,因為基本只是考算法,小廠的OA和面試可以說是千奇百怪,同時招人少要求也更嚴格。另外我覺得Google不用太早投簡歷,首先9月份很多厲害的人都在投簡歷,很容易沒有headcount,而且我身邊不少同學11月中下旬投遞簡歷也都拿到了offer。不過linkedin一定要早投,投晚了就真的沒位置了。
為了提升我們的就業成功率,一份好的實習是很有必要的,我當時來美國之前曾經在國內face++實習了三個月,來美國前還刷題200。不過當時gg、fb、linkdein全部都是簡歷拒,當時能拿到面試的只有幾個很小的startup,還被HR放過好幾次鴿子,直到春招的時候才有了一些面試的機會。後來我和其他找實習的同學交流了一下,感覺到不顧數量地刷題是沒有意義的,刷題的時候要多考慮數據結構的優異程度和底層的複雜度,比如為什麼用array不用linkedlist,這些我們平時可能都不會注意,如果面試中對方問這種問題我們很容易暴露知識的漏洞。
一般來說哥大的學生還是比較受認可的,我了解我身邊那些國內的同學都拿到了offer,而整體就業情況還是很不錯的,所以就業前景比較好。另外我們在求職的時候被拒也沒有什麼問題,這本身就是一個堅持的過程,我們只要堅持一直投一直面試一定會有好的結果的。
生活相關
最後就是生活的方面的問題了,很多同學都覺得哥大的學費高,而且在紐約平時開銷也會比較大,不過我覺得雖然哥大的整體開銷水平是會高一些,但是卻並不算太高,只能算標準私立項目的開銷水平。哥大的MSCS項目是一個一年半的項目,學費是按學分收的,一個學分的費用是2000美金左右,30個學分就能畢業了。另外還有一些七七八八的像設施費這類的費用,而住宿的話如果合租的話一個月至少也要花到1100-1200美元左右。
另外吃飯的話如果不健康的話一天10美金就解決了,吃的健康一點一天也就二三十美金左右,整個項目念完算下來一般十二三萬美金就可以了。
環境
至於平時的生活我覺得哥倫比亞大學的整體環境還是很不錯的,學校雖然很小但是環境很精緻,周圍也有不少的美食,其中中餐館也是很多的。另外出校門就有中餐的餐車,取餐速度很快,價格也很便宜。不過如果大家住的離學校比較遠的話吃飯也會是一件麻煩事,我建議同學們最好還是學幾個拿手菜,這樣生活起來會方便不少。不過這邊購物是一個問題,附近沒有沃爾瑪還是有點坑的,所以不少東西都需要到Amazon上買,一般兩到三天就能到,也是可以接受的。
交通
這邊的交通也是比較方便的,一般從哥大附近的106街地鐵到時代廣場一帶半小時之內就到了,但是不得不說紐約地鐵的內部環境不是很好,地鐵站沒有空調是硬傷。而安全問題也是存在的,安全完全不比國內,所以大家晚上需要注意自己的安全。不過學校附近也是有很多警察的,大家只要不是特別往北走也是不會有太大問題的。還有就是在這邊上學大家最好先買一雙靴子,否則下雪真的是寸步難行。
以上就是我的分享了,我也希望可以幫助到想要申請哥大MSCS項目的同學,最後我祝願同學們都能順利申請到自己心儀的項目。