1. 程式人生 > >一個清華大學畢業生在麻省理工學院讀計算機專業看美國博士研究生如何攻博

一個清華大學畢業生在麻省理工學院讀計算機專業看美國博士研究生如何攻博

從生源上講,美國沒有哪個學校可以把全國各省的理科狀元和前十名大半收入囊中。MIT雖然始終在理工科方面獨佔鰲頭,但是加州理工學院、斯坦福Stanford、Berkeley等名校並不遜色太多。像Stanford更是以地處矽谷、生產楊致遠型的資本家而獨具吸引力。從優秀學生的聚集程度上講,大概MIT加上Stanford都不足以與清華一拼。    託福TOEFL和GRE畢竟沒白考,上課能聽懂百分之八九十。本來用於錄老師講課內容的單放機只帶了一次,也沒開錄,後來再也沒帶過。閱讀課文也沒有太多的困難,哪有GRE歪詞那麼多?  

    美國學生實在是基礎差,又不用功,一百分的作業得不到五十分的一般都是美國人。(日本、印尼等其他國家人的英文名字讀起來可沒有美國人的名字那麼順)。但是,這裡的課程負擔可實在是不輕鬆,一般來說,選三門課上是標準(不少人只敢選兩門);能上四門課的人堪稱不同凡響;五門課?最好不要想!    一個清華大學計算機專業畢業生

在這裡的第一學期上了一門叫《計算機系統設計》的本科課程,其辛苦程度真實一言難盡。十五個星期內交了十次作業,作了六次課程設計。有的設計還分幾個部分,分開交設計報告。所以設計報告大概也交了有十次左右。最恐怖的是有一次,十天內要交六份作業或設計報告,而且當時正值其他幾門課正在期中考試。任何抱怨都是沒有用的,老師說:“我很抱歉。但這門課很重要,請大家不停地工作。”學生從一般的邏輯時序電路開始設計(數電都已忘得差不多了);核心是自行設計“麻雀雖小五臟俱全”的ALU,單指令週期 CPU(single cycle CPU)、多指令CPU(Multi-cycle CPU)、以直到最後實現流水線(pipe line)32位MIPS CPU和Cache,一門課下來,所有與計算機CPU有關的知識全部融會貫通。硬體設計水平也有了很大提高(就是太累)。    在清華大學的本科課程中實在找不到這樣一門如此實在的集理論實踐於一體的課程。計算機系的TEC-II型試驗計算機已經是全國獨家了,但是試驗安排並沒有觸及核心(TEC-II機是微指令時的計算機)。缺乏動手設計環節使學生對CPU原理的瞭解比較膚淺。    當初在清華大學作微指令實驗時曾由茅塞頓開的感覺,但是現在才發現是錯覺。至於全校性選修課《微機原理》的水平就不用說了,至今想起老師的一句話還有些心痛 ——“學通了八位機,十六位機、三十二位機的原理是一樣的”,MIPS怎麼可能和十六位CPU相提並論?在anford,本科生也有相似的計算機系統設計課程,但是要求學生用VHDL語言(當今IC設計標準語言)實現,清華大學的本科生有幾個會用VHDL?在清華大學曾上過《作業系統》這門課,要在 Linux基礎上作四個project,六個人一組,可以期末一起交!
我在清華大學計算機系的同學直到期末前兩三週仍叫我不必驚慌失措,說最後一兩週內定會有牛人做出來,大家都可以搭車。我在美國的情況則不同,也是四個project,三個人一組,每三週交一個project。    如果兩個小組上交的project作業相似之處過多,當即受到導師質詢是否作弊,處罰辦法是抄襲者被抄襲者各扣50分(滿分100),被罰者早有先例。交作業時間是某個週日晚11點59分59秒,網上交作業,半秒鐘也不許拖延,到時間傳輸停止工作,誰也交不成,沒有交者等於交白卷。所以大家只有坐下來勇敢地面對困難。    其實,三個星期短得不合理,因為第二個星期與Project相關的課程才講完。唯一的方法就是熬夜——第三個星期,從晚上九點到凌晨兩三點,公共機房的數十臺工作站前座無虛席,幾乎每個研究生都要連續熬夜;凌晨三點有人開始支撐不住,而熬到早晨六七點的也不乏其人。教師在上第一節課時曾展示過一塊白布,上書“我宣佈投降”和幾十個研究生學長的簽名。這份由敗在Project手下的研究生贈送的禮物被老師懸掛在辦公室的牆上。

    再有,像美國的VLSI設計課程在清華大學很難找到其應有的設計實踐效果。這裡的VLSI設計課程上到深處,學生就可以做出實實在在的ASIC晶片,然後拿著自己的設計去矽谷或別處工作面試,說:“這是我做的東西。”清華大學沒有真正的“企業級”積體電路設計試驗課程。這也不奇怪,全中國現在都在做板子而不是“片子”。

    美國大學的教授對授課的認真程度有高下之分,但任何美國教授都不允許抄襲。這一點我在前面已經提到了一些。有一個美國教授的話很據代表性:“真正發現抄襲很難;但我會竭盡全力發現抄襲者並予以處罰。”    美國大學的教授授課的另一個共同特點是他們上課一般不會沉悶得讓你想睡覺:比如一個教授說:“有的網路黑客只是進來看一看,就像女人逛商場”;有一個教授每當學生回答出一個較難的問題時就贈送給學生一塊美元;一次課堂上學生回答問題時說:“這要看實際情況(It depends)”,教授對大家說:“聽起來怎麼像政客說的話”......總之,在美國,你一般碰不到在清華大學常見的“面蘋果”老師。比較認真的教授的責任心是令人欽佩的。

    一個美國教授在學生課程最重的時候,把家中的電話留給學生,告訴學生說晚十點前可以打電話請教。我有一個同學修一門課,最後一個Project做到半夜三點時完工,大呼輕鬆之餘上網解悶,發現一封新的E-mail,原來是授課老師也工作到半夜三點,又設計了一個新的Project叫學生做——授課老師逼學生,但是他們也自己逼自己。    再比如說,美國教職人員活得很不輕鬆,一般沒有國家投入這一說。如果自己不能做出成果從而得到企業界的資助,教師的處境就會相當艱難。助理教授(assistant professor)升副教授可不像國內這麼容易,國內大學敢於將剛畢業的博士生直接聘任為副教授,儘管剛畢業的博士尚未獲得副教授任職資格——副教授職稱(國內大學敢於這樣做是為了提高教授數量和教授在教師中所佔比例,為提高本學校在全國的大學排名、院系排名做準備)。

    在普林斯頓大學Princeton,五年內拿不到終身職位(ten sure)就請捲鋪蓋走人。Princeton 大多助理教授都是這種命運。我所在的學校化學系的一個教授就是被Princeton轟出來的,現在已經是某個領域中的帶頭老大一級的人物了(天啊, Princeton也太橫了)。像這種被逼成功的人,Princeton 又會利用其巨大的名望、優厚的待遇和良好的研究條件把逼出去的傑出人才再吸引回來。    前幾天和國內同學聯絡,聽說一個現在是國內某大學直博生的本科同學一學期要修九門課,下學期則專門為老闆出差。另一個國內某大學碩士生一學期中半學期曠課為導師出差。首先以美國的課程標準,這樣做死定了;其次,美國教授一般會讓自己的學生多參加研究工作而不是做重複性專案。

    美國的博士生一般有一個資格考試,在碩士期將近結束時進行。形式是提出一個新興課題,擺出方案,由五人評議小組稽核課題的新穎程度、意義和方案可行性等。只有通過資格考試,你才可以在這個課題上開始你的論文研究。如果評議期間有人就同一課題發表了階段性研究成果,你就必須修改課題甚至從頭再來(每做一次都要看遍所有的相關論文,還要做準備性的研究,要半年多的時間呢,全廢了可真夠點背的)。準備資格考試過程中還要修別的課呢,誰有時間像中國研究生那樣出差?好多教授都讓學生全心準備資格考試。    這種考試算輕鬆的, UCLA和加州理工學院的化學系博士資格考試有這麼一項:幾個教授從某篇新發表的文章中(博士生大概還讀不到或並不在專項領域內)提取課題,讓博士生在兩三天內提出解決方案(人家可是作了好幾個月的研究才發表了文章),以此測驗學生對前沿研究的敏銳程度。這種考試有時一個通過的也沒有。合格標準是十次中必須通過四到五次,過不了就對博士夢說永別吧。這不是在難為自己的研究生嗎?導師也許會幫助說話,但是像加州理工學院等大學就明確規定,百分之二十左右的博士生再優秀也拿不到博士,也就是說,加州理工學院的博士畢業率明確規定不允許超過80% 。優中選優,優勝劣汰,寧缺毋濫,硬是把博士生的潛能和創造力給逼了出來。我可知道一個北大生物系的女生Berkeley苦戰四年,最終落馬,現在矽谷某生物公司工作,年薪兩萬多(這點錢在物價飛漲的矽谷可不太好混)。    據說,加州理工學院六年博士畢業者就是天才,MIT有些博士生則耗時九年——這也是許多研究生放棄學業而去創業的原因。清華大學的博士水平是很高的,但有時導師會讓學生不用參加自己開的課的考試,有時會在該做論文研究時讓你出差,然後再想辦法讓你的論文不戰而OK......《作業系統》這門課的MIPS模擬平臺和基礎程式碼(不是Linux或 MINIX)是由Berkeley的一位教授設計的,現在為多個大學採用。值得注意的是這是一個非盈利的專案,對於這位教授的升遷和獲取工業界的資助也沒有任何幫助,而且不知耗費這個教授多少可用來做專案賺錢的時間。