國外著名大學計算機教學考察隨筆

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