2006年8月我作為訪問學者來到美國伊利諾伊大學香檳分校(University of Illinois at Urbana-Champaign,UIUC)計算機系做一年的訪問學者。身處一所世界聞名的大學,我很有興趣了解她的課程設置,教育情況。半年來,我選修了一門課,旁聽了一些課程,參加了一些實驗室的討論。通過和一些教師學生的交談以及自己的觀察,自己不但在學業方面收獲不小,在教育方面也有不少的感受。
學校簡介
伊利諾伊大學香檳分校是“十大”盟校(The Big Ten)之一,建立于1867年,一直是全美最優秀的大學之一,理工科在“十大”中更是排名第一。該大學排名全美前10名的研究生專業有物理學、化學、計算機科學、心理學、教育學、工程學、會計學、大眾傳播學、圖書館科學、音樂、數論、代數、邏輯學、微生物學。工程學院在全美聞名遐邇,其電子工程、計算機工程、土木工程、材料科學與工程、機械工程、原子工程、農業工程、環境工程等系科都排在全美前五位,化學工程、航空航天工程排在全美前十位。
該校的教授和校友有不少知名人士,比如歷史上第一次在同一領域(固體物理學)中兩次獲得諾貝爾物理學獎的發明了晶體管并提出了低溫超導理論(BCS理論)的巴丁教授;哈肯教授與阿佩爾合作在計算機完成了四色定理的證明;網絡神童馬克·安德森(Mark Anderson)在伊利諾伊大學厄巴納-香檳分校設計了因特網瀏覽器軟件Mosaic及Netscape;身價一度超過比爾·蓋茨成為世界首富的甲骨文公司(Oracle)董事長兼首席執官拉里·埃里森(Larry Ellison)曾在伊利諾大學香檳分校讀書;AMD創始人兼首席執官杰里·桑德斯(Jerry Sanders)是伊利諾大學香檳分校電子工程學士;通用電氣(GE)董事長兼首席執官杰克·韋爾奇(Jeck Welch)是伊利諾大學香檳分校化工博士。截至2003年,該大學共有二十位教授及校友榮獲過諾貝爾獎,兩位校友榮獲過圖靈獎,一位教授榮獲過菲爾茲獎,二十一位教授及校友榮獲過普利策獎,十一位教授榮獲過美國國家科學獎章,現任教授中有兩位普利策獎得主、二十六位美國國家科學院院士、二十九位美國國家工程院院士。
該校的計算機系創建于1972年,多年來在全美排名一直保持在Top5之內,一些事實也無可爭辯地捍衛著這一地位:世界上最早的計算機Eniac誕生在這里;世界上第一個網絡瀏覽器Mosaic誕生在這里;其畢業生所建立的公司(Netscape、YouTube、PayPal、Lotus和Sieble Systems)在計算機界赫赫有名;其國家超級計算機應用中心(NCSA)是全美國五大計算機研究中心之一。
課程設置
該校計算機系的課程設置乍一看上去和國內大學似乎沒有什么大的區別。對本科生來說,“1”開頭的系列基礎課程,主要是包括計算機導論,離散數學等計算機基礎課程;“2”開頭的是更專業一些的課程,比如類似國內操作系統的System Programming、計算機體系結構和數據結構;“3”開頭的目前僅有兩門課:397 Individual Study和398 Special Topics in CS,主要是擴展學生的學習興趣和能力。研究生的課程都是以“4”開頭的專業基礎課程和以“5”開頭的專業課程,其中以598開頭的為前沿學科討論課程。學生也分為碩士和博士,但對碩士的要求不高,所以很多直接跟隨教授做研究的學生都是博士。課程的要求也是作業、項目和最后的考試。但實質上,由于管理、研究水平等原因,這些設置還是有所不同。
該系目前提供三種類型的本科學位,一種是五年的本科和碩士生打通的學位,五年畢業后取得本科和碩士兩個學位;另兩種是計算機科學本科學位和軟件工程學位。每一種根據對學生都有不同的學分和課程要求。比如對于第一種學位,要求選夠120學分,其中理論(473 Algorithms或者475 Formal Models of Computation)、結構(431 Embedded Sys Arch and Software或者433 Computer System Organization)和軟件(421 Programming Lang and Compilers或422 Programming Language Design或423 Operating Systems Design)必須按研究生學分選修。
研究生分論文和非論文兩類。論文學位中和國內一樣分碩士生和博士生。普通論文碩士要求28個課程學分和4個論文學分。博士生的總學分要求是96個課程學分,包括課程學分和論文學分,其中至少要求32個論文學分;學士直讀的博士生要求96個課程學分。目前注冊的研究生人數近450人。
從課程設置方面看,該系的課程分得很細,從和國內相類似的專業基礎課,比如計算機導論、數據結構、軟件體系結構、數據庫系統、操作系統、軟件工程;到很專業的課程,比如算法、密碼學導論、程序驗證、自主信息系統、形式化軟件開發方法以及以598打頭的帶有主講教師名字代號的擴展課程。尤其以研究生的課程設置最為細致。數一下他們的課程可以發現,學生有很多方向可以選擇,本科生的課程多達77門,研究生的更是多達102門。當然有不少課程是兩者都可以選修的。一般一門課程3~4個學分(根據是否完成Project區分),每周兩次,一次75分鐘。
講授該課程的教師基本上都是該校專門從事這一方面研究的權威,有著多年的研究經驗。比如我所選修的“程序驗證”課程屬于該系的研究生基礎理論課程,任課教師Meseguer教授已經在這方面從事了近三十年的研究,而且目前也是這方面的權威。“數據挖掘”課程的教師是Han教授,也是數據挖掘的世界級權威。這保證了任課教師在講授課程的同時貫穿了該課程在學科中的領先技術和知識。同時,比較明顯的一點是課程結合實際動手的項目比較緊密。比如我所選修的“程序驗證”課程雖然有很強的數學背景,介紹了等式邏輯和重寫邏輯,但該課程輔以該實驗室的Maude系統作為實踐工具,所以所介紹的理論可以實實在在地在計算機上看到其作用和結果。“程序設計原理”這門課也使用了Maude系統作為高級程序語言的規格說明語言,這立刻就讓本來很抽象的兩門課有了感性認識的平臺,學生可以立刻通過工具感受邏輯在計算機中的作用,可以使用該工具立刻設計出自己的新的程序語言。相比而言,國內類似的課程都缺乏相應的輔助工具,學生學理論不知道怎樣用到計算機中,學程序語言設計多是看看別人設計的語言是怎樣的,難以在短時間內自己動手設計一個。
開放性
這半年中我感受最深的當數該系信息資源的開放性。從課程上來說,每學期的每一門課程都能在系里的網絡上找到相應的講義、作業、項目以及閱讀的參考資料。和課程相對應,每位教授都開設一個甚至多個專題討論會,這些討論會都有相應的MailList可以讓學生或是研究人員加入。根據我的研究興趣,我參加了Maude、Runtime Verification以及軟件工程討論小組。每一個討論組由教授主持每周定時討論一至兩個小時,同時維護一個網站公布每次討論的主題或是論文。所以,和國內的例會不同,這些討論會除了教授自己的學生,往往會有一些感興趣的學生或是像我這樣訪問學者參加。通過這樣的方式,也有教授的介紹,我和目前我感興趣的幾個教授都交流過,他們都很細致地介紹自己的研究,包括介紹實驗室開發的軟件工具。而這些軟件工具都放在他們自己實驗室的網站上,有的是可以免費使用的,有的甚至是源碼公開的,同時發布有他們公開發表的論文。有兩位教授的實驗室研究內容我比較感興趣,但他們還沒有發布源碼,經過兩次討論后,他們都表示可以提供源碼以便進行進一步的研究。同時,我找他們的學生詢問相關工具的一些細節技術,他們都詳細解答,有時甚至花費兩個多小時。
其實這一點在我聯系訪問的Host Professor時就感受頗深:每一位教授都可以在他們的主頁上找到非常詳細的資料,他們的研究概況、發表的論文、教授的課程、所做的研究項目、學生、聯系方式等等。對比國內同行,很多都沒有自己的主頁,有一些由于單位組織倒是有,但所找到的基本上都是僅僅一頁的概述而已。這導致國內很多信息無法交流。當然,我想這也有一點客觀原因,就該系的項目情況而言,縱向課題的資助就已經足夠教授們完成研究,所以他們并不在乎把研究成果轉化為實際產品,而是公開這些研究成果,讓其他人盡量多地使用,讓其他人或公司完成產品的轉化工作。反之,國內很難找到根據研究成果完成的軟件工具,因為一般如果做到工具,都希望更進一步做到產品化,能以此爭取到橫向課題的支持,以便彌補縱向課題經費的不足。由于橫向課題講求實用,有很多非前沿性,非研究性質的工作需要完成,直接影響了研究的深度。
開放性還反映在該系的研究領域交叉之中。該系的研究領域分為:算法和理論;人工智能;體系結構、并行計算機和系統;復雜生物及計算生物;數據庫及信息系統;圖形圖像和人機界面;系統和網絡;程序語言、形式化系統和軟件工程;以及科學計算。但在我所參加的討論中,經常可以看到多個實驗室的教師和學生相互參與討論。比如我上上周參加的形式化小組的討論會上,就有體系結構實驗室的學生;上一周的軟件工程討論會上,報告者是一個數據庫實驗室的學生,因為他的工作內容涉及到用數據挖掘和統計的方法進行軟件調試,同時與會的還有該實驗室的兩位教授以及其他實驗室的學生。同一個研究領域內的合作就更多,比如我所訪問的教授專注于程序語言、形式化系統和軟件工程領域,他自己的實驗室和另外該領域的另一位教授Rosu的實驗室相連,兩人合作過多篇文章,Rosu的程序設計語言以及形式化軟件開發方法課程中應用了Prof. Meseguer的形式化工具,甚至有一些講義。我大致看過該系教授們的簡歷,非常少有本校畢業的學生,這說明相關合作并不是以前師生關系的繼續。同時,這里常常有一些前沿講座是由斯坦福、劍橋、伯克利和愛丁堡大學的教授和博士生開設(應聘的博士生都要公開做一個面試形式的講座),也有微軟和IBM這樣的大公司的研究院或是一些著名公司的學者的講座,這些講座頻率很高,常常可以在該系每周的日歷上看到這些通知。
其實,訪問學者這樣的一個制度本身就是很開放的。半年一年的互訪,帶來了很多交互的信息。相比而言,國內有不少實驗室雖然也設有客座教授、開放項目等,但是很難落到實處,很難有人真正是在實驗室里交流這么長時間,更多的僅僅是每年幾次的互訪而已。不過,為每一位訪問學者提供一間寬敞明亮的辦公室,提供所有辦公服務恐怕也是目前高校難以提供的緊缺資源。
風氣
另一個讓我感受比較深的地方是該系的學習風氣。由于課程設置很細,很多課程選課的人并不多,一二十個學生的課堂是很常見的,有的課程僅僅4~5個學生。當然也有上百人的大課,這一般是本科和研究生共同選修的課程。我上學期選修的program verification課程共有12個學生,這學期選修的formal method software development也不過十七八個學生。但給我印象很深的一點是,從開學到學期末,學生數目基本上保持不變,可見很少有人缺課。上課的氣氛很活躍,課堂上幾乎沒有見過學生打瞌睡,講課中間學生隨時提問,教師也是當時就回答。對于教師提出的問題,也幾乎沒有冷場沒有人回答的情況,當然也不是每一次回答都正確。相比而言,國內大學目前缺課的現象相當嚴重,有的必修課程都有三分之一缺課的,選修課就更不用說了。這當然有教師的原因,目前教學普遍不受重視,所有職稱的評定基本上由科研決定,這從前年上海交大的倍受學生歡迎的教師始終僅僅是一個講師就可見一斑。而教學顯然是很需要花費時間和精力的。
也不是說這里的教授上課都很好,也有底下學生反映講課不好的,但無論是從教師的授課還是學生的學習,你可以明顯感受到兩個字:認真。研究生自己決定上什么課,一個學期一般也就選修2~3門。相比而言,國內碩士研究生一學期的課程多達七八門,其中不少都是必須選修的,學生的學習相對比較被動,很多學生就為拿學分,課堂上打瞌睡,學Tofel和GRE,復習考研的學生大有人在,課堂上很少看到學生主動提問。在我的一門電子商務的選修課上我就問過學生,他們是否愿意做我以項目的方式提供的考試,很多學生說很有興趣,可是卻沒有時間。必修課和學位課的項目、作業已經讓他們窮于應付,還要復習考研、考Tofel和GRE,實在是心有余而力不足。為此我還調整過項目完成時間,允許學生在第二個學期開學時交,可以看到效果要好一些,有一些學生利用假期完成了自己感興趣的內容。可是隨著教學管理的正規化,要求課程結束后一周內必須給成績,剛開放一些的項目只好又恢復原狀。
這些情況造成了惡性循環,學生老師相互認為對方不認真,老師認為學生既然不想學,花的時間精力又不值,何必認真。學生認為老師備課不認真,講授的內容陳舊,學不到東西,沒必要好好學。從作業方面看兩者也有很大的差距。作為訪問學者,我雖然選修了課程,但其實并沒有學分,也沒有在學校注冊,充其量也就是旁聽,但由于教授建議我做作業以加深理解,我也基本上按時完成了作業,一學期一共五次作業,有理論證明,也有系統的使用(實驗室開放了根據他們的理論開發的軟件工具)和編程,要求打印作業并提交。發還作業的時候,我看到所有學生,包括我自己在內的作業都被認真批改過。而我自己為了完成作業把講義看了一遍又一遍,花了很多時間,但也從中發現很多深入的問題,如果不做作業還以為自己理解了,其實不然。詢問其他學生,他們也花很多時間做作業。該系的學生鮮有抄作業的,一方面學校處理很嚴,大家都認為是很不光彩的行為;另一方面認為做作業時為自己能學到東西做的。相比之下,國內目前學生抄襲作業的現象非常嚴重,有的學生私下里說有的課程甚至超過90%的比例。我認為這一方面有社會風氣的影響:君不見教授、學者的學術抄襲都時有曝光;另一方面是管理不嚴造成的。雖然國內的大學也有同樣的制度說抄襲者要懲罰,可是國內大學一門必修課由于研究生擴招甚至達到三百多人,雖然也有助教制度,但如此高的學生教師比例勢必造成作業、項目甚至試卷批改難以把關,從而進一步加劇了抄襲現象。
結束語
在這樣一個偏僻的雙子城里,我有時候真得很難想象會有這樣一所著名的大學。大學所擁有的圖書館、機場、運動場等都能提供很好的服務,該大學的圖書館更是全美第三大圖書館。在我所居住的社區和校園里,到處都可以看到各色人種,計算機系的教授們也有很多有著世界各地的教育和工作背景。每天,甚至是在節假日,都可以看到辦公室里忙碌的身影。課堂上、會議室甚至走廊上的休息處都可以聽到積極討論的聲音。這一切給我留下了很深的印象,我想,開放、認真、積極進取可以看做是我給該校的一個總結吧。