美國印第安納大學建立于1820年,共有8個分校,其中以布盧明頓分校最好,學術聲譽曾排名全美公立大學第31名,其都市環境曾被美國紐約雜志評為美國10個最佳大學城之一,也是美國最適宜居住的城市之一。筆者2005至2006年期間在印第安納大學布盧明頓分校的Community Grids Lab做了一年的訪問學者,該實驗室是獨立于計算機系,但主要從事計算機科學研究的機構。訪問期間,除了參加實驗室的科研項目研究之外,分別在兩個學期里選修了兩門課程,對美國的計算機項目研究和課程學習有一定的感觸,因此筆者以個人的觀點來分析和比較一下中美大學計算機教育的特點。
一、教學
1. 本科教育
美國的計算機本科教育首先就是有強大的網絡支持,無論學生注冊、選擇課程、挑選教授、提交作業、課程答疑等等均在網上完成。當你注冊為學校的學生、教師或其他職員時,將會獲得一個學校的賬號,供你在網絡上登錄學校的網站,享受學校提供的服務。美國大學的計算機房全天開放供學生使用,甚至在學校的體育館、圖書館、醫院、書店等公共場所均有免費使用的計算機和打印機,使你可以隨時方便地完成你的學習和工作,可以說,在這里,網絡無處不在。
因筆者在國內講授計算機體系結構課程已有多年,為了能更清楚地了解中美課程教授的區別,所以在印第安納大學也專門完整選修了這門課程。首先帶給我的沖擊是,本門課程的教授并不像想象中的那樣。在我的認識空間中,美國是世界上計算機技術發展最快的國家之一,其教授的課程內容也應該是最新最快的,而當教授打開電子講義時,我發現其中很多內容是1998年的講義。驚詫之余,我也對此進行了很長時間的思考。
計算機體系結構課程教學主要是解決“如何在現有的技術條件下設計出性能價格比高的計算機系統”的問題,也即著重介紹如何運用各種先進的技術將計算機系統的各個功能單元有效地組織起來,以最小的代價獲取最高的系統性能。基于這樣的思想,對本門課程的學習需有一些先修的前導課程和預備的知識點,也就是說,要有一定的技術儲備才能更好地掌握這門課程的精髓。
目前國內的大學面對計算機科學這樣一門迅速發展的學科,希望最大限度地緊跟國際計算機科學發展的最新理念和技術,并將最新的信息傳授給學生,而實際上會導致教師一味追求最新最快,而忽略了最基礎的知識,反而結果適得其反。
就計算機體系結構這門課程而言,其關鍵內容包括計算機體系結構的基本概念、指令集結構設計、流水線技術、向量處理技術、并行處理技術、存儲系統設計技術、I/O系統設計技術、多處理機技術等等,這些技術在整個計算機發展的過程中其指導思想并沒有發生根本的變化。例如流水線技術,自出現以來,就遵循時間并行的思想,實質上是多條指令同時執行各自的操作,在此基礎上發展了超流水線等技術,只有打好了基礎,才可能舉一反三,使學生在了解了流水線基本原理的基礎上迅速掌握其他更新技術。因此,在課程講授上,應緊密結合實際情況,克服脫離實際的現象,避免因迎合市場而盲目追求最新的理論。
在美國的大學,幾乎每一門課程都有它的主頁和教授的個人主頁鏈接,所有的作業和project都會通過網絡發布,教授也可以通過網站和電子郵件解答學生的問題,這些工作在網絡上解決已經成為最為方便和快捷的方式。
在計算機的課程中,課堂講授只是其中的一部分,在實驗室完成的項目和作業占很大的比例。以計算機體系結構為例,課堂講授每周兩次,每次兩個學時;實驗室每周兩次,每次兩個學時。平時的作業和project很多,這也是與國內不太相同之處。國內比較重視最后的考試,因此可能出現的情況就是學生平時很輕松,甚至可以不上課,只靠期末的緊急突擊就可取得好成績,但是知識的掌握卻不扎實。印第安納大學的計算機體系結構課程的學生成績由4部分組成:Homeworks/Paper占15%,Labs占30%,Midterm占20%,Final占35%。它將學生最終取得的成績分散在整個學期內,并且在學習的過程中除了理解課堂講授的知識之外,還會從各個角度擴展學生的知識面。教授會給學生布置團隊作業,由3-4名學生自由組合成一個團隊,充分發揮團隊中每個人的力量,完成團隊作業后要交paper(論文),并由團隊中每個人在課堂上為所有學生演講自己負責部分的研究成果,每名成員的演講時間很短,但是可以保證給每名學生上講臺的機會。在演講過程中,教授和其他學生可以隨時打斷話題,提出自己的問題或觀點,只要是與演講內容有關的問題都可以發問。在此過程中,可以考查學生的查閱資料、完成作業的能力,培養學生分工合作和學生之間的團隊合作能力,并且給學生充分的空間提出創新思想,還可以鍛煉學生的表達能力,從各個角度都可以很大程度地提高學生對本門課的理解和吸收。
2.研究生教育
美國的研究生教育與中國有著很大的不同。首先,美國的計算機研究生無論是TA(Teach Assistant),還是RA(Research Assistant)都有學校或教授提供的獎學金,并足以經濟獨立,這就使學生可以沒有后顧之憂地全面投入學習和科研。在國內的高校中,基本上沒有嚴格的淘汰制,即使答辯沒有通過也有延期答辯的機會,所以基本都可以獲得學位。美國大學對碩士生和博士生的學位評定卻非常嚴格,淘汰率也很高,要進行層層篩選。
美國大學的研究生培養非常重視課程學習,而且課程的設置范圍很廣。以印第安納大學的計算機系為例,每個博士生需要修滿90個學分,一般一個課程3學分,但是有很多課程不需要上課,一般有50個學分是需要上課的。注冊以后導師會指定幾門與研究方向有關的課程,其他的由學生自行選擇,最后由導師批準。
每門課程的編號都有特殊的意義,例如,初始字母中A代表非專業,B代表本科和研究生的其他課程,C代表本科生專業課程,P代表編程課程,Y代表自學等等;課程編號中的第一個數字分為幾種,1-4代表本科生課程,5-6代表研究生課程,7代表研究生的研究和自學課程;中間的數字含義是0-1代表基礎和算法,2代表程序設計語言,3-4代表硬件和軟件系統,5-8代表應用,9代表特殊主題。在計算機系的主頁上會有詳細的課程列表和介紹,包括必修和先修課程,以及教授的主頁,方便學生查閱。
在選課過程中,還可以選擇其他系和專業的課程,都不受限制,這樣可以為學生提供掌握交叉學科的機會,甚至可以打破一級學科的限制進行選課,這樣培養出來的學生適應能力和研究能力相對較強,尤其是對計算機學科而言,在很大程度上將成為一門工具,在與其他學科交叉后將發揮更大的威力。例如,計算機學科在與生物、化學、物理等學科結合起來后會有更大的發展空間,也有利于學生畢業后的發展。
在美國的大學里,申請博士研究生需要通過qualify(資格審查),計算機系的學生通常要通過3~5門考試,每門課程有兩次機會,如果兩次都不能通過,就沒有資格申請博士學位,只能轉成master(碩士)了。通過qualify以后要進行proposal(開題)和final defense(答辯),全部通過才可以獲得博士學位,每一個步驟的審查都非常嚴格。通常情況下,從入學到獲得博士學位至少需要5年時間,有的甚至需要7年以上,取決于研究課題的進展。整個博士研究期間,都由導師負責,指導研究方向,分配研究任務,關注課題進展情況,參加學術會議,從而提高學術水平和擴大知識面。
在中國,博士生也通常要5年或5年以上,也有3年或4年可以獲得博士學位的,不過沒有資格審查這一關,因為中國一般想獲得博士學位首先要取得碩士學位,除非少數碩博連讀的學生,這一點有很大的不同。美國的碩士學位相對來說比國內要容易一些,一年或一年半修完課程即可獲得學位,不用參加課題研究,因此美國的教授通常認為中國的碩士學位要比美國的碩士學位含金量高一些,而博士的水平要比美國差一些。
二、科研
筆者所在的實驗室是專門做科研的,不兼顧教學任務,相對來說課題任務多,成果也多。大多數項目都是與其他學科的結合。例如,筆者在作訪問學者期間就參加了一個與化學系合作的科研項目,使用現代網格技術將分布的化學工具、模擬、文檔和相關的生物資源的數據庫進行集成。這樣的項目必須需要計算機系和化學系共同完成,因此計算機系與其他系的合作顯得尤其重要。
博士生需要有論文發表,就需要投入大量的精力進行科學研究,而一個良好的科研環境非常重要。在美國,實驗室會為你提供你所需要的軟硬件設備,只要你擁有學校的賬號,就可以免費到學校的網站下載需要的常用軟件,教授也會提供你科研所必備的正版軟件。實驗室會為你提供一個純粹的學術環境,為你的論文成果提供完善的條件和空間。
三、總結
綜上所述,美國和中國的計算機教育存在一些不同之處。美國的大學會最大程度地提供給學生一個探索性的學習環境,讓學生通過發現和引導發現的過程來指導自己的學習。在教學過程中會采用構造式的教育模式,發揮學生的潛力,提出新思想、新概念,給學生一個充分自由的發展空間。這種構造式教學法可以鼓勵學生根據自己的問題創造自己的學習產品,使學生有計劃、有組織地研究課題并找到解決問題的方法,為學生提供大量的合作機會來達到更高的學習目標。
當然,我們國家有自己的國情,不能盲目跟從西方技術。中國應在充分了解本國國情的基礎上尋找適應東方文化結構的教學方法,積極引導學生有效學習和充分思考,創造一個更完善的教育制度,培養出具有創造力的新一代人才。