摘要:研究生計算機網(wǎng)絡課程是信息學科研究生課程的重要組成部分,文章介紹清華大學“高等計算機網(wǎng)絡”課程建設的經(jīng)驗和體會,從內容建設、教學環(huán)節(jié)、教材建設、交流平臺等方面進行全面闡述。
關鍵詞:研究生;計算機網(wǎng)絡;精品課
1.背景
長期以來,“計算機網(wǎng)絡體系結構”課程一直是清華大學信息科學技術學院(以下簡稱信息學院)研究生的熱選課程,有著優(yōu)良的教學傳統(tǒng)。自徐明偉教授從前輩史美林教授手中接過該課程以來,大膽改革,引入了新的教學體系,取得了良好的教學效果,近年來選課人數(shù)不斷增多,最多接近200名同學,大量同學來自電子系、自動化系、軟件學院等。經(jīng)驗告訴我們,這么大規(guī)模的課堂授課,教學效果難以保證,特別是研究生課程強調學生的參與,這就更難實現(xiàn)。因此,2005年計算機科學與技術系決定面向信息學院研究生開設平行課程“高等計算機網(wǎng)絡”,由筆者負責。課程以課堂講授為主,共計48學時,內容包括互聯(lián)網(wǎng)發(fā)展歷史、計算機網(wǎng)絡體系結構概述、網(wǎng)絡層協(xié)議、傳輸層協(xié)議、高性能路由器體系結構、計算機網(wǎng)絡安全、物聯(lián)網(wǎng)概述等模塊。課程教學一般從第8周開始隨堂安排共計6學時的討論。在10年的授課過程中,我們不斷總結改進,從以下幾個方面對課程進行建設。
2.課程建設內容
2.1優(yōu)化課程體系,明確課程定位
我們依托系計算機網(wǎng)絡研究所初步形成的網(wǎng)絡相關課程體系進行課程建設。該體系將本科、碩士和博士的計算機網(wǎng)絡課程教學內容有機結合,同時突出各階段的培養(yǎng)重點,實現(xiàn)不同層次的人才培養(yǎng)目標,網(wǎng)絡課程體系如圖1所示。
我們秉承網(wǎng)絡相關課程主講教師共同提出的“本科打基礎、碩士重能力、博士出創(chuàng)新、科研促教學、實踐貫始終”的多層次教學理念,在計算機網(wǎng)絡課程的設置上,突出“高等計算機網(wǎng)絡”課程在整個網(wǎng)絡課程體系中承上啟下的作用:讓研究生在完成本科課程“計算機網(wǎng)絡原理”的基礎上,進一步對網(wǎng)絡體系結構進行深入學習并初步了解計算機網(wǎng)絡和Internet研究領域的最新研究成果和基本研究方法。經(jīng)過本課程的學習,對于非網(wǎng)絡專業(yè)的研究生,可以滿足其對網(wǎng)絡領域研究現(xiàn)狀進行全面了解的需求;對于網(wǎng)絡專業(yè)的研究生,可為未來進一步從事該領域的研究打下基礎。相關專業(yè)的研究生可以進一步選修“計算機網(wǎng)絡前沿研究”和“無線網(wǎng)絡和移動計算”等后續(xù)提高課程。
“高等計算機網(wǎng)絡”課程強調網(wǎng)絡體系結構的重要性,我們用3個學時重點闡述分層設計和邊緣論這兩條最重要的互聯(lián)網(wǎng)設計原則,讓學生體會到體系結構具有“路線是個綱,綱舉目張”的特點。分層結構解決的是網(wǎng)絡功能如何劃分的問題,而邊緣論則解決的是這些劃分好的功能在哪里實現(xiàn)的問題。這兩個問題的答案就決定了當前互聯(lián)網(wǎng)的總體架構。
2.2優(yōu)化教學內容,創(chuàng)新教學方法
作為一門面向信息學院不同專業(yè)研究生的課程,“高等計算機網(wǎng)絡”既要充分注重內容的先進性和新穎性,也要考慮選課同學本身基礎的差異性。筆者從以下幾個方面對教學內容和方法進行優(yōu)化:
1)強調內容的生動性。
我們天天使用互聯(lián)網(wǎng),但是很多同學并不了解互聯(lián)網(wǎng)的歷史,因此筆者特別拿出3學時專門介紹互聯(lián)網(wǎng)的歷史發(fā)展,采用了大量的圖片資料。舉例來說,路由器是互聯(lián)網(wǎng)的關鍵設備,而第一臺互聯(lián)網(wǎng)路由器是誰研發(fā)的卻成為互聯(lián)網(wǎng)歷史上的一段著名公案,直到2008年IEEE把IntemetAward授予原BBN公司的3名開發(fā)人員才算是做出了最終結論。這類事實的介紹會極大提高學生的學習興趣。
2)提倡用歷史的觀點分析各個技術。
針對每個章節(jié)的內容,我們強調每種技術的發(fā)展歷史,力圖還原每種技術產生時的歷史環(huán)境,能夠讓學生換位思考,“如果我在這種條件下,能不能想到這樣的技術?”從而有效地激發(fā)學生的思維活力。例如,互聯(lián)網(wǎng)組播的發(fā)明,是主要發(fā)明人S.Deering在斯坦福大學攻讀博士學位時參與分布式操作系統(tǒng)項目時完成的。當時隨著項目的進展,很多位于不同局域網(wǎng)的計算機要加入分布式操作系統(tǒng),從而有了跨局域網(wǎng)的通信需求,很自然的,S.Deering想到了把局域網(wǎng)組播擴展到跨不同的局域網(wǎng)?,F(xiàn)在看起來這似乎是個很簡單的想法,但是我們知道,在當時的歷史條件下,這是個相當困難的問題,不容易想到解決方案。而S.Deering也正是因為在組播和IPv6方面的貢獻獲得了2010年IEEE Internet Award。這種用歷史觀來思考問題的方式,可以使學生充分認識到互聯(lián)網(wǎng)技術創(chuàng)新的本質,有助于創(chuàng)新思維的培養(yǎng)。
3)注重內容的新穎性。
網(wǎng)絡本身發(fā)展速度很快,授課內容需要不斷更新。從最近幾次的授課情況來看,每年和上一年相比,授課內容更新量在20%左右。就拿P2P與應用層網(wǎng)絡這一章來說,由于P2P技術本身在飛速發(fā)展,因此每年這章內容都要更新30%到50%左右。例如,隨著研究的深入,P2P的安全、隱私問題日益受到重視,其在互聯(lián)網(wǎng)金融中也得到了廣泛應用,這些內容都被不斷地補充到教案中;隨著物聯(lián)網(wǎng)和云計算等新領域的不斷出現(xiàn),我們已經(jīng)在課程中引入了物聯(lián)網(wǎng)概論的內容。
4)注重內容的差異性。
由于部分選課的同學來自電子、自動化等系,這部分同學本科時并沒有選修過計算機網(wǎng)絡原理??紤]到同學們的基礎差異,在課程開始時用6課時介紹網(wǎng)絡基礎知識,使得這部分同學能快速融入課程。同時,為了讓學過網(wǎng)絡原理的同學不會感覺到內容枯燥,這部分的講授采用把技術點融入網(wǎng)絡體系結構層次的辦法,使得上過網(wǎng)絡原理的同學也能夠從新的視角理解網(wǎng)絡體系結構,從而有新的收獲。
5)引入課堂報告。
積極引導學生承擔課堂報告。為了保證課堂報告的質量和課堂效果,教師從選題開始就全程參與,在第一節(jié)課就介紹了可選的報告題目并給出了相關的閱讀文獻,由學生分組閱讀后完成報告的PPT,在此過程中教師保持和學生的定期交流。我們建議同學們從SIGCOMM、MOBICOM、INFOCOM等中國計算機學會推薦的A類會議文獻中選擇閱讀最新成果。為了讓部分同學快速入門,建議他們從《IEEE Network》《IEEE communications Magazine》《IEEE Communications Surveys and Tutorials》等綜述類的刊物尋找相關綜述文章。
學生在課程報告前還需要專門給教師單獨匯報,教師會給出進一步修改和完善的建議,經(jīng)過這一環(huán)節(jié),學生普遍反映一方面了解了如何調研一個新的研究領域,另外一方面也對如何做一個好的課程報告有所體會,從而為以后從事科研交流工作積累了經(jīng)驗。由同學分組調研相關領域研究現(xiàn)狀后完成的課堂報告,主要是對網(wǎng)絡最前沿研究現(xiàn)狀的介紹,這已成為課程教學內容的必要補充。
6)運用微信群等新形式進行交流討論。
隨著微信等社交媒體的發(fā)展,幾乎全部選課學生都在使用微信,筆者每次在第一次上課時都會通過面對面建群建立微信群,利用微信群積極引導學生交流,同時邀請微軟研究院的資深研究員加入微信群,和同學共同探討網(wǎng)絡領域的最新進展。
7)采用“作業(yè)+項目”的考核方式。
課程作業(yè)的目的是讓學生通過閱讀多篇經(jīng)典研究論文,對科研論文和科學研究產生感性認識。課程項目是同學在分組基礎上完成一個小的研究項目,這里特別強調項目不宜大,但是一定要有新意。在授課過程中筆者就反復以網(wǎng)絡領域的優(yōu)秀論文為例強調創(chuàng)新的各個要點,鼓勵同學們打破常規(guī),采用逆向思維提出新觀點和新方法。比如近幾年比較熱門的WiFi信號雷達技術,想法很簡單,但是效果很神奇:通過WiFi的無線信號獲得墻體等障礙物后的人體成像,這超出了同學們的想象。采用這樣的案例可以取得很好的引導效果。
同學們提出的課程項目往往有一定的新意,比如有同學提出對比特幣做進一步改進,可以提升其抗偽造的能力;還有同學提出把軟件定義網(wǎng)絡和網(wǎng)絡虛擬化結合,從而實現(xiàn)更靈活的網(wǎng)絡結構。這體現(xiàn)出我們的研究生均具備優(yōu)秀的創(chuàng)新能力,在教師的指導下都可以取得一定的創(chuàng)新性成果。從最近幾年的實踐來看,每年都有基于課程項目完成的論文發(fā)表在本領域的重要學術會議(如INFOCOM)和學術期刊(包括《IEEETPDS》《Computer Communications》等)上。
對于課程項目,筆者體會最深的是教師一定要全程參與,這樣才能對同學的思考過程進行及時的指導和幫助。重要的是,教師基于科研項目的經(jīng)驗和對新研究領域的判斷,為學生提供了一些好的研究題目,這一方面縮短了學生自己尋找題目的盲目性,另外一方面,基于已有科研項目的成果,學生更容易找到突破點,從而能夠在較短時間完成有一定內容的研究成果,這對于課程項目相當重要。如筆者參加了國家863的重大課題,重點研究未來互聯(lián)網(wǎng)地址和身份分離的地址結構?;谶@樣的基本架構可以設計很多新的算法和協(xié)議。筆者在課上花少量的時間介紹課題的基本背景,隨后同學們基于這一基本架構進行深入研究,從而取得如基于手機的移動身份認證等多項有一定價值的研究成果,該成果后續(xù)還在中國移動等運營商進行了實驗部署,取得了很好的效果。我們認為這是科研項目和教學結合的一個成功范例。
2.3重視教材建設
在課程的準備過程中,我們對國內外大學的相關課程進行了深入的調研,發(fā)現(xiàn)目前國內外還沒有一本能夠全面深入的闡述計算機互聯(lián)網(wǎng)絡研究最新進展的教材,國內的教材主要面向本科生教學,側重介紹網(wǎng)絡原理,而國外雖然有一些面向研究生的高水平教材,但是都是面向專門的領域,和我們課程要求的全面性有一定距離。
而我們編著完成的《高等計算機網(wǎng)絡——體系結構、協(xié)議機制、算法設計與路由器技術》(2003年第一版,2009年第二版,2012年更名為《高級計算機網(wǎng)絡》)覆蓋了計算機網(wǎng)絡體系結構研究的主要方面,既有體系結構的總體進展,又包括了具體的協(xié)議機制與算法設計,還包括了計算機網(wǎng)絡核心設備——路由器的最新進展。因此,本書就其系統(tǒng)性、深入性和廣泛性而言填補了國內計算機網(wǎng)絡體系結構研究生教材的空白。教材的主要特點包括:
(1)內容系統(tǒng)深入,便于研究生總體把握計算機網(wǎng)絡體系結構的發(fā)展脈絡。
(2)強調協(xié)議機制。協(xié)議是互聯(lián)網(wǎng)的靈魂,詳細介紹了主要的互聯(lián)網(wǎng)協(xié)議機制。
(3)突出算法設計。算法是協(xié)議工作的基礎,在介紹協(xié)議的基礎上分析算法,便于學生理解掌握并具備舉一反三的能力。
(4)和科研項目緊密結合。筆者所在實驗室長期從事計算機網(wǎng)絡體系結構研究和高性能路由器的研發(fā),研究工作受到國家973、863和自然科學基金項目資助,研制的“IPv6核心路由器”獲得2005年國家科技進步二等獎。《高等計算機網(wǎng)絡——體系結構、協(xié)議機制、算法設計與路由器技術》和《高級計算機網(wǎng)絡》在編寫過程中,結合實驗室取得的研究成果,總結了我們在科研工作中取得的經(jīng)驗和對計算機網(wǎng)絡研究方法的體會,這對研究生從事研究工作有一定啟發(fā)意義。
課程教材獲得2008年清華大學優(yōu)秀教材一等獎,并被北京大學、復旦大學、北京郵電大學等多所國內高校選為研究生網(wǎng)絡課教材。
3.教學案例及學生評價
下面以計算機網(wǎng)絡體系結構為例給出一個小型教學案例。
體系結構的英文是Architecture,首先介紹這個單詞的詞源,Architecture源于希臘文“Archi”和“tekt”,“tekt”意為“技藝”,“Archi”則是“最重要的”“第一位的”的意思。這個單詞還有一個含義是建筑學,通過給出當前代表陛的建筑圖片讓同學們對于體系結構的重要性有直觀的體會。然后提出問題,建筑學是指如何設計建筑,那么網(wǎng)絡的體系結構是什么?接著引導同學分組討論,將結論引向網(wǎng)絡的設計原則這一基本答案。接下來給出David Clark等知名專家就這一問題的解答。后續(xù)繼續(xù)講述網(wǎng)絡分層和邊緣論這兩條最重要的設計原則,注意強調設計原則的邊界。我們要告訴學生,設計原則雖然重要,但并不是金科玉律,每次對設計原則的突破都可能帶來新的體系結構的突破,這些內容將進一步激發(fā)同學們的創(chuàng)新思維。如果時間允許,可以繼續(xù)組織學生討論如何突破這兩條設計原則,再結合當前軟件定義網(wǎng)絡、內容尋址網(wǎng)絡等最新方向進行對比,讓同學們體會突破點如何選擇。
近3年的學生課堂教學評價結果顯示,課程的評估成績位于清華大學研究生課程的前15%,分數(shù)在97分以上(清華大學研究生課程學生評估成績最高分為97.5)。連續(xù)兩年學生給出的10個單項評價都位于同類課程的前15%。讓筆者欣慰的是,學生如此評價課程教學:“PPT內容充實,講課內容很有吸引力,老師課下答疑認真,作業(yè)適當”“老師上課認真詳細,深入淺出,讓我們了解了網(wǎng)絡方面的相關知識”“老師講課有激情,善于聯(lián)系實際案例啟發(fā)學生,注重學生分析能力和計算思維的培養(yǎng)”“老師課講得一如既往的好,內容很充實,對于網(wǎng)絡問題有很深的造詣”。
4.建設交流平臺,加強橫向交流
計算機網(wǎng)絡相關課程已經(jīng)成為各高校信息技術專業(yè)的主干課程。各高校多年所積累的教學經(jīng)驗互有長短,但一直缺少教學經(jīng)驗的展示渠道和交流平臺。在教育部高等學校計算機科學與技術教學指導分委員會的支持下,匯集國內著名高校計算機網(wǎng)絡主講教師,清華大學牽頭組織成立了計算機網(wǎng)絡教學研討會程序委員會,并于2008年5月在清華大學召開了“第一屆全國高等學校計算機網(wǎng)絡課程教學研討會”。來自全國60余所高校的近百名計算機網(wǎng)絡一線教師出席了會議:會議還專門邀請來自英國、韓國、美國和中國香港地區(qū)高校的著名教授做大會報告。與會者針對計算機網(wǎng)絡的國內外教學體系和教學經(jīng)驗,進行了廣泛深入的交流。目前本研討會已經(jīng)成為國內計算機網(wǎng)絡領域主要的教學研討會,已經(jīng)連續(xù)舉辦了8屆,在國內產生了很大的影響。我們充分利用該交流平臺,和國內兄弟院校進行了廣泛的交流,共同促進課程教學水平的提高。
(編輯:彭遠紅)