國(guó)外著名大學(xué)計(jì)算機(jī)教學(xué)考察隨筆
王行言/文
為了解國(guó)外大學(xué)計(jì)算機(jī)教學(xué)情況,2002年春季,清華大學(xué)組團(tuán)到美國(guó)進(jìn)行了一次考察??疾旖M先后到斯坦福、伯克利、加州理工等著名學(xué)府進(jìn)行了調(diào)研,旁聽(tīng)了一些計(jì)算機(jī)方面的課程,與有關(guān)教授、教務(wù)管理人員和中國(guó)留學(xué)生進(jìn)行了座談,并參觀了學(xué)校的圖書(shū)館和計(jì)算機(jī)機(jī)房。下文就是我們約請(qǐng)清華大學(xué)計(jì)算機(jī)與信息管理中心副主任王行言教授撰寫(xiě)的考察隨筆。
4月9日 斯坦福大學(xué)
上午,我們分頭聽(tīng)了“數(shù)據(jù)庫(kù)”和“編譯原理”的課程。數(shù)據(jù)庫(kù)為大班課程,本節(jié)課主要講ER圖和ER模型。授課方式是“黑板+粉筆”,6塊黑板來(lái)回切換。教室有電視和錄像設(shè)備,電視跟蹤和放大黑板內(nèi)容,所以無(wú)論坐在哪個(gè)角落,都能看到黑板的內(nèi)容。教室后有制作室,可以對(duì)課堂教學(xué)當(dāng)場(chǎng)錄制。課上同學(xué)提問(wèn)題很踴躍,老師也不時(shí)地提出問(wèn)題,回答最好的幾乎都是中國(guó)留學(xué)生。
中午飯后,我們參觀計(jì)算中心和圖書(shū)館,兩處都有學(xué)生上機(jī)的環(huán)境。學(xué)生來(lái)去匆匆,多半都是上網(wǎng)看一下課程通知或下載、打印幾頁(yè)文檔資料。我們?cè)跒g覽網(wǎng)頁(yè)時(shí),看到上午的數(shù)據(jù)庫(kù)課程已制作成視頻課件(不到半天時(shí)間)。學(xué)生可以自主選擇聽(tīng)老師的某段講解,或看某頁(yè)的板書(shū)。在斯坦福,有專(zhuān)門(mén)制作人員(并有學(xué)生參與)對(duì)部分課程進(jìn)行錄制加工,并及時(shí)放到網(wǎng)上,供學(xué)生下課復(fù)習(xí)。這些課件還有一個(gè)重要的目的,就是用于繼續(xù)教育,為學(xué)校周?chē)脑诼毴藛T學(xué)習(xí)提供方便。
在計(jì)算中心入口處的通知欄上,我們看到了白板上公布的一些課外講座,如UNIX操作系統(tǒng)使用、Office工具軟件的使用等,此外還有一些編程語(yǔ)言的入門(mén)課程。
下午我們又聽(tīng)了一門(mén)“程序設(shè)計(jì)”課程,估計(jì)教室可容納四、五百人。學(xué)生進(jìn)教室時(shí),每人在門(mén)口拿一份本節(jié)課的講義。很多老師在上課時(shí)都習(xí)慣準(zhǔn)備隨堂使用的講義,內(nèi)容包括補(bǔ)充的素材和本節(jié)課布置的習(xí)題。本課程由斯坦福大學(xué)計(jì)算機(jī)系副主任Eric S. Roberts教授主講,他就是IEEE和ACM推出的“Computing Curricula 2001”的主要執(zhí)筆人。這節(jié)課他主要是講解算法設(shè)計(jì)(樹(shù)搜索,迷宮等)和程序調(diào)試。Roberts教授使用筆記本電腦及大屏幕投影授課,屏幕上顯示的是講課用到的代碼及程序調(diào)試環(huán)境,但他大部分時(shí)間是坐在講臺(tái)上,面向?qū)W生滔滔不絕地講解。程序設(shè)計(jì)課程使用的教材是Roberts教授寫(xiě)的兩本書(shū):“The Art and Science of C”和“Programming Abstractions in C”。這兩本教材在美國(guó)被多所大學(xué)所采用。
4月10日 斯坦福大學(xué)
上午,我們與計(jì)算機(jī)系副系主任Eric S. Roberts教授座談,請(qǐng)他談一下斯坦福大學(xué)的計(jì)算機(jī)教育(包括非計(jì)算機(jī)專(zhuān)業(yè)的計(jì)算機(jī)教育)。他饒有興趣地談到了斯坦福大學(xué)計(jì)算機(jī)系的發(fā)展和計(jì)算機(jī)課程的設(shè)置情況。
他說(shuō),與大多數(shù)專(zhuān)業(yè)相比,計(jì)算機(jī)科學(xué)是一個(gè)非同尋常的領(lǐng)域。當(dāng)100年前斯坦福大學(xué)成立之際,大多數(shù)學(xué)科就已經(jīng)有了一定的歷史。50年后,才發(fā)明了世界第一臺(tái)計(jì)算機(jī)。又過(guò)了25年,計(jì)算機(jī)科學(xué)才成為一個(gè)獨(dú)立的學(xué)科。斯坦福計(jì)算機(jī)科學(xué)系成立于1965年,并一直保持世界前4名的位置。 在最近25年中,計(jì)算機(jī)科學(xué)飛速發(fā)展,并極大地推動(dòng)了社會(huì)的進(jìn)步。計(jì)算機(jī)科學(xué)將繼續(xù)成為一個(gè)令人興奮的領(lǐng)域。
在斯坦福,大多數(shù)學(xué)生愿意學(xué)習(xí)計(jì)算機(jī)科學(xué)的主修課程。在CS主修課程中,學(xué)生可以追蹤很多不同的領(lǐng)域:程序語(yǔ)言、圖形學(xué)、數(shù)據(jù)庫(kù)、計(jì)算理論、人機(jī)交互、機(jī)器人學(xué)、人工智能、數(shù)值分析等。隨著近年來(lái)需求的變化,CS主修課更加靈活并滿足大多數(shù)學(xué)生的需求。
在斯坦福大學(xué),新生入校時(shí)不分專(zhuān)業(yè),學(xué)生的專(zhuān)業(yè)要根據(jù)個(gè)人選修課程的情況到高年級(jí)才逐步明朗。當(dāng)然,在入校時(shí),學(xué)生還是有自己的意向。學(xué)校為每位想學(xué)計(jì)算機(jī)的同學(xué)都提供一份指導(dǎo)性文件,說(shuō)明在斯坦福學(xué)習(xí)計(jì)算機(jī)的幾種途徑。除CS之外,還有五種其他選擇供學(xué)生考慮:
1、C omputer Science Minor(CS輔修專(zhuān)業(yè))
該輔修專(zhuān)業(yè)提供 CS主修課中本科的核心課程(見(jiàn)圖1),由6-8門(mén)課組成,安排在兩年中學(xué)完。 完成輔修課后,學(xué)生將獲得很強(qiáng)的編程基礎(chǔ),并進(jìn)入計(jì)算機(jī)科學(xué)的某個(gè)理論分支。進(jìn)而,學(xué)生可以在自己感興趣的領(lǐng)域?qū)W習(xí)更多更深入的課程。圖1是輔修專(zhuān)業(yè)的課程設(shè)置。
2、Computer Systems Engineering (CSE) CSE是跨計(jì)算機(jī)科學(xué)和電子工程兩個(gè)系的交叉學(xué)科。
CSE的主修課類(lèi)似于計(jì)算機(jī)科學(xué)系,但一些偏理論的計(jì)算機(jī)課程被電子工程方面的課程所代替(如數(shù)字設(shè)計(jì)與電路分析)。
3. Electrical Engineering (EE)
適合于對(duì)計(jì)算機(jī)科學(xué)、特別是對(duì)硬件更感興趣的同學(xué)選修。除了側(cè)重硬件外,EE學(xué)位和其他學(xué)位的主要不同是側(cè)重于工程。
4. Mathematical and Computational Sciences (Math/CS)
計(jì)算機(jī)科學(xué)和純數(shù)學(xué)的結(jié)合。學(xué)位課包括計(jì)算機(jī)科學(xué)基礎(chǔ)核心課以及各種數(shù)學(xué)課。除這些核心課程外,學(xué)生還側(cè)重計(jì)算機(jī)或數(shù)學(xué)選一些課。
5、Symbolic System
是交叉學(xué)科,結(jié)合了計(jì)算機(jī)科學(xué)、心理學(xué)、社會(huì)學(xué)、以及語(yǔ)言學(xué),研究人-機(jī)的認(rèn)知。將人和計(jì)算機(jī)視為符號(hào)處理系統(tǒng)。
Roberts教授還講到,由于計(jì)算機(jī)技術(shù)的發(fā)展,可以用計(jì)算機(jī)解決更復(fù)雜的問(wèn)題,并且可以不需要編程,起碼不是傳統(tǒng)意義上的編程。所以計(jì)算機(jī)系和計(jì)算中心還面向全校開(kāi)設(shè)了一些更側(cè)重于應(yīng)用的課程(包括各種語(yǔ)言與工具類(lèi)課程),主要是滿足全校非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生自己學(xué)習(xí)計(jì)算機(jī)和應(yīng)用計(jì)算機(jī)的需求。其中一些課程的內(nèi)容就類(lèi)似于我們計(jì)算機(jī)文化基礎(chǔ)課的內(nèi)容。這些課程包括:
CS1I—Using the Internet
CS193D—C++ and Object-Oriented Programming
CS193I—Internet Programming
CS193J—Programming in Java
CS193U—Software Engineering in C
CS193W—Microsoft Windows Programming
如何開(kāi)始學(xué)習(xí)計(jì)算機(jī)課程呢?Roberts教授給我們畫(huà)了一張圖(見(jiàn)圖2)。
Roberts教授指出,如果要從技術(shù)的角度(而不是從文化的角度)學(xué)習(xí)計(jì)算機(jī),CS106A(即程序設(shè)計(jì))是第一門(mén)必修的基礎(chǔ)課。學(xué)完CS106A后,如果想繼續(xù)深入學(xué)習(xí)編程的知識(shí),可選修CS106B。對(duì)那些在中學(xué)就已具有一定編程能力的學(xué)生,如果想學(xué)習(xí)C語(yǔ)言或想進(jìn)一步提高編程水平,可選修一學(xué)期的CS106X(濃縮兩門(mén)課的快班)。學(xué)完CS106B后,學(xué)生就有了比較明確的意向,如果想進(jìn)計(jì)算機(jī)專(zhuān)業(yè),就可開(kāi)始系統(tǒng)學(xué)習(xí)計(jì)算機(jī)專(zhuān)業(yè)的課程。而不想選擇計(jì)算機(jī)專(zhuān)業(yè)的同學(xué),可以選修計(jì)算機(jī)系等單位為非計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)的其他 課程。CS106課程采用的教學(xué)語(yǔ)言是C語(yǔ)言,Roberts教授解釋說(shuō):C語(yǔ)言廣泛應(yīng)用于工業(yè)界,而且是學(xué)習(xí)更先進(jìn)語(yǔ)言的基礎(chǔ)(C++ 和Java)。
我們向Roberts教授提出一個(gè)問(wèn)題:如果學(xué)生自己選專(zhuān)業(yè),會(huì)不會(huì)有很多學(xué)生都選計(jì)算機(jī)專(zhuān)業(yè)?計(jì)算機(jī)系如何接納這么多學(xué)生?Roberts教授說(shuō),的確新生中有很多人想學(xué)計(jì)算機(jī),但學(xué)過(guò)1、2門(mén)計(jì)算機(jī)課程之后,不少同學(xué)就感到計(jì)算機(jī)專(zhuān)業(yè)不適合自己。經(jīng)過(guò)多年操作,選擇計(jì)算機(jī)系的人數(shù)已經(jīng)趨于穩(wěn)定。另外,美國(guó)的學(xué)生不見(jiàn)得都喜歡計(jì)算機(jī),覺(jué)得整天坐在計(jì)算機(jī)前沒(méi)有意思,而對(duì)于考古、地質(zhì)等野外作業(yè)覺(jué)得更富有挑戰(zhàn)性。
4月11日斯坦福大學(xué)
今天與計(jì)算機(jī)系教務(wù)座談。系教務(wù)對(duì)我們講,每個(gè)教授每年都要開(kāi)一門(mén)核心課(研究生課程也算核心課)。教師的教學(xué)工作量要夠一定點(diǎn)數(shù),大課點(diǎn)數(shù)多,小課點(diǎn)數(shù)少。系里有一套評(píng)價(jià)體系,學(xué)生給系主任和教師本人打分,這些對(duì)教師的評(píng)級(jí)有影響。新生提前一周到校,招生辦公室根據(jù)學(xué)生興趣分派導(dǎo)師指導(dǎo)學(xué)生選課。每個(gè)學(xué)生都有一個(gè)導(dǎo)師幫助選課(一名導(dǎo)師負(fù)責(zé)若干名學(xué)生)。學(xué)校設(shè)有注冊(cè)辦公室,管理各種教學(xué)資源。
隨后我們參觀了硬件實(shí)驗(yàn)室。硬件實(shí)驗(yàn)普遍采用模擬軟件,控制盒里有關(guān)鍵芯片。
下午我們聽(tīng)了一節(jié)畢業(yè)設(shè)計(jì)課,該節(jié)課的安排是請(qǐng)IBM公司的工程師講解正在研究的一些新技術(shù)。根據(jù)我們的感覺(jué),學(xué)校和公司的聯(lián)系很密切。
下午我們和一位在斯坦福半導(dǎo)體研究所長(zhǎng)期任教的清華老師進(jìn)行了座談。針對(duì)我們提的一些問(wèn)題,這位老師說(shuō)了一些自己的觀點(diǎn):對(duì)于硬件實(shí)驗(yàn),電的教學(xué)、電路課做一些實(shí)驗(yàn),單板機(jī)也有,但不是重點(diǎn)(有些愛(ài)動(dòng)手的學(xué)生選修)。斯坦福大學(xué)還是偏軟的多,同學(xué)出去主要是搞設(shè)計(jì),搞算法。例如利用Spice軟件,10個(gè)星期設(shè)計(jì)一個(gè)芯片。硅谷對(duì)半導(dǎo)體人才需求很明確,學(xué)會(huì)三門(mén)電路設(shè)計(jì)課就要。斯坦福實(shí)驗(yàn)室很少,偏專(zhuān)門(mén)化的課就外聘教師。而基礎(chǔ)的物理、化學(xué)都是大牌教授。美國(guó)畢業(yè)生專(zhuān)門(mén)化很突出,工作中就做自己專(zhuān)業(yè)的事,不管別的雜七雜八的事,否則是浪費(fèi)人才、時(shí)間。
計(jì)算機(jī)各行各業(yè)都在用,但要懂多少,并不見(jiàn)得很多,硬件結(jié)構(gòu)、軟件OS、C語(yǔ)言、數(shù)值分析、專(zhuān)業(yè)用軟件等。計(jì)算機(jī)能力強(qiáng),表現(xiàn)在把計(jì)算機(jī)作為工具,會(huì)算法、數(shù)據(jù)分析,自己專(zhuān)業(yè)算法強(qiáng)。光會(huì)計(jì)算機(jī)編程是中等人才,最有價(jià)值是專(zhuān)業(yè)的東西。
之后,我們又與部分中國(guó)留學(xué)生舉行了座談。在座談過(guò)程中,不時(shí)有人進(jìn)進(jìn)出出,有的剛下課,有的要去上輔導(dǎo)課(助教),大家顯得都很忙碌。很多同學(xué)是在網(wǎng)上看到要和國(guó)內(nèi)來(lái)的大學(xué)老師座談,就主動(dòng)趕來(lái)參加,即使只能參加一會(huì)兒也要來(lái)。同學(xué)們見(jiàn)到我們都非常興奮,也談了很多在這里學(xué)習(xí)、生活的情況。他們說(shuō),這里的房東最喜歡租房子給中國(guó)學(xué)生,因?yàn)樗麄冊(cè)绯鐾須w。在美國(guó)念書(shū),作業(yè)負(fù)擔(dān)很重,每學(xué)期課的門(mén)數(shù)不多,但課程的強(qiáng)度非常大,例如程序設(shè)計(jì),一周就有兩到三次大課。斯坦福不太重視文章,沒(méi)有文章要求。但學(xué)校中的研究氣氛很濃,很多低年級(jí)的學(xué)生就自動(dòng)組織起來(lái),找一些具有挑戰(zhàn)性的課題來(lái)做。
4月13日加州理工
今天主要是與留學(xué)生座談,我們談的范圍很廣,以下是我們聊的一些感興趣的內(nèi)容。同學(xué)們說(shuō),這里系的差別不是很大,天文、物理、數(shù)學(xué),無(wú)論是什么系,都要上一大堆公共課,本科是通才教育。教師與學(xué)生的比例是1∶3 ,TA與學(xué)生的比例是1∶20。編程的課主要是上TA的課。學(xué)校每學(xué)期為10周,課程強(qiáng)度高,難度大,每學(xué)期學(xué)5門(mén)課已經(jīng)很吃力了。同學(xué)們異口同聲地說(shuō),作業(yè)又多又難,交作業(yè)時(shí)間卡的很死,作業(yè)有時(shí)做到第二天天亮。作業(yè)絕對(duì)不能抄,在成績(jī)中所占比例也很大。
我們問(wèn)了一些有關(guān)計(jì)算機(jī)教育的問(wèn)題,他們說(shuō),計(jì)算機(jī)系主要是講理論。非計(jì)算機(jī)系的學(xué)生選一些計(jì)算機(jī)理論課,可以擴(kuò)展知識(shí)面。他們感到計(jì)算機(jī)的哪門(mén)課都是數(shù)學(xué)課。各系并沒(méi)有強(qiáng)迫學(xué)生選什么計(jì)算機(jī)的課,但聰明的學(xué)生會(huì)選一些計(jì)算機(jī)課。根據(jù)他們接觸的情況,專(zhuān)業(yè)老師用計(jì)算機(jī),學(xué)生就會(huì)學(xué)計(jì)算機(jī)。各系教師交流很密切,教授用計(jì)算機(jī),會(huì)帶動(dòng)計(jì)算機(jī)教學(xué)。各領(lǐng)域的權(quán)威、教授應(yīng)該知道學(xué)生在計(jì)算機(jī)方面需要用到什么。計(jì)算機(jī)教學(xué)不要與其他教學(xué)分開(kāi),用的時(shí)候就會(huì)學(xué)。他們認(rèn)為,計(jì)算機(jī)的基礎(chǔ)是程序設(shè)計(jì)。計(jì)算機(jī)教學(xué)分理論(計(jì)算機(jī)系開(kāi))和應(yīng)用(與各專(zhuān)業(yè)結(jié)合,各系可開(kāi))。
同學(xué)們還告訴我們,期末考試時(shí),監(jiān)考老師一般站在教室外面,有問(wèn)題再進(jìn)到教室解決,以此表示對(duì)同學(xué)的信任。有的考試干脆讓同學(xué)把卷子拿回去做,規(guī)定1到2天內(nèi)交卷。我們問(wèn),那如果互相抄襲怎么辦?同學(xué)說(shuō)基本沒(méi)有抄襲,因?yàn)閷W(xué)生自我約束很?chē)?yán),非??粗卣\(chéng)信二字。他們講了正在發(fā)生的一件事情:一個(gè)同學(xué)將公共場(chǎng)所的一把椅子私自搬到了自己的宿舍里,學(xué)生委員會(huì)正在對(duì)此事進(jìn)行處理(據(jù)說(shuō)是要開(kāi)除),學(xué)生委員會(huì)做出的決定,學(xué)校也不得不認(rèn)真考慮。
4月18日 伯克利分校
今天安排和一個(gè)留學(xué)生座談,因?yàn)樗诿绹?guó)念了多年的書(shū),拿了一個(gè)碩士學(xué)位,兩個(gè)博士學(xué)位,至今還沒(méi)有離開(kāi)學(xué)校之意。他向我們講述了自己的一些感受和建議。
他說(shuō),國(guó)內(nèi)有些大學(xué)把理論和市場(chǎng)對(duì)立起來(lái)是不對(duì)的。我們可以培訓(xùn)出非常好的程序員(寫(xiě)一個(gè)軟件),但沒(méi)有獨(dú)到見(jiàn)解,沒(méi)有算法。計(jì)算機(jī)理論,圖論、線性代數(shù)等都是非常有用的。美國(guó)學(xué)校很重視數(shù)學(xué)怎么用到實(shí)際問(wèn)題。學(xué)到一點(diǎn)數(shù)學(xué),就知道用到哪,就有成就感,而不重視技巧。美國(guó)學(xué)生做東西比較深入,想得深。最出色的是美國(guó)學(xué)生研究生主動(dòng)性很強(qiáng),自發(fā)組織在一起,找題目研究(如人工智能、機(jī)器學(xué)習(xí)等)。新生進(jìn)校后,學(xué)生會(huì)就組織學(xué)生參觀專(zhuān)業(yè),引發(fā)他們對(duì)專(zhuān)業(yè)的興趣。國(guó)內(nèi)的學(xué)生要脫俗,膽子要大一些。
在考察的過(guò)程中,我們也瀏覽了各校的一些主頁(yè),其中印象最深的是各校在使用網(wǎng)絡(luò)教學(xué)環(huán)境時(shí)比較講究實(shí)效,花樣不多但內(nèi)容豐富、規(guī)范。例如,幾乎每門(mén)課程都有自己的主頁(yè),老師的一些講稿也放在網(wǎng)上。課程主頁(yè)一般包括以下欄目:
l 課程內(nèi)容概要
l 授課人員(列出講師、TA的名單及他們的電話和email地址)
l 上課時(shí)間/地點(diǎn)(一門(mén)課周學(xué)時(shí)一般為150分鐘,75*2 或50*3)
l 答疑安排(時(shí)間、地點(diǎn)、答疑老師姓名)
l 課程先修要求(不是必須)
l 教材,參考書(shū)(一些參考書(shū)就是公司的產(chǎn)品文檔,如Oracle documents)
l 考核方式(書(shū)面作業(yè)、上機(jī)實(shí)驗(yàn)、Project、期中、期末考試等安排和所占分?jǐn)?shù))
l 紀(jì)律規(guī)定(抄襲作業(yè)的處罰、如何保護(hù)知識(shí)產(chǎn)權(quán),網(wǎng)上資源引用的規(guī)定和限制等)
以上是我們出國(guó)考察了解到的一些情況,寫(xiě)出來(lái)與大家分享與借鑒。
附:幾個(gè)學(xué)校的課程網(wǎng)址:
http://www.stanford.edu/class/cs106斯坦福課程主頁(yè)(以cs106課程為例)
http://www.cs.Berkeley.edu伯克利
http://www.schedule.berkeley.edu伯克利
http://www.cs.Caltech.edu/courses.html加州理工
聯(lián)系客服