本文從研究生計算機網絡課程教學與教材體系建設中需要注意解決好的四個問題出發,討論計算機及相關專業碩士研究生計算機網絡課程教學與教材體系建設思路、教材體系建設與教學方法改革問題。論文介紹了《計算機網絡高級教程》的基本內容以及與之配套的《計算機網絡高級編程技術》所涵蓋的22個軟件編程訓練課題的類型、難度級與選題建議。研究生網絡課程教學與教材體系建設的目標是:學習《計算機網絡高級教程》為研究生在網絡領域的選題做好知識儲備,學習《計算機網絡高級軟件編程技術》為研究生論文的完成做好技術儲備。
教學與科研相結合是培養高素質研究生的有效途徑。高水平的人才培養是通過研究生高水平的學術成果來反映的,高水平的學術成果主要源于大量的高水平的科學研究,而嚴格的教學環節在培養研究生扎實的學術功底、嚴肅的科學態度、創新性的思維,以及在產生高質量學術成果方面起到了一個關鍵的基奠作用。本文從研究生網絡課程教材體系建設中需要注意解決好的四個問題出發,討論計算機及相關專業碩士研究生網絡課程教學與教材體系建設思路、教材體系建設與教學方法改革問題。
1研究生“計算機網絡”課程教學與教材體系建設的指導思想
在研究生網絡課程教材體系建設中需要注意解決好四個問題。一是課程內容的先進性與前瞻性問題;二是研究生與本科課程內容的銜接問題;三是理論教學與能力培養的并重問題;四是自主學習和因材施教問題。
1.1課程內容的先進性與前瞻性問題
研究生的教育必須突出“研究”,教材要能夠反映學科前沿的研究成果與發展趨勢。一本好的研究生網絡教材或教學參考書應該是:在保持網絡理論體系的基礎上,跟蹤當前技術的發展,綜述最新研究的領域、課題、方法、成果與趨勢,讓讀者能夠直接了解當前研究的前沿問題、方法、進展與趨勢。
與傳統的數學、物理、化學學科相比,計算機學科應用性人才培養的要求更高,技術發展速度更快。而在計算機學科中網絡技術的發展與知識更新的速度尤為突出。因此,保持計算機網絡課程內容的先進性與前瞻性更為重要,也更加困難。因此要很好地解決這個問題,必須將教學與科研工作緊密地結合在一起,發揮科研教學團隊的作用,以高水平的科學研究支持高質量的課程與教學體系的建設。南開大學網絡實驗室在多年來一直注意開展以下幾個方面的工作:
(1)通過科研預研工作實踐,了解當前熱點問題的研究現狀與進展。
(2)跟蹤美國ACM和IEEE/CS最新制定的計算機學科課程體系,重視學術交流。
(3)跟蹤和瀏覽國外知名大學教學網站,研究和了解網絡課程教學內容、教材與主要參考書,以及作業與實驗、教學方法與教學過程控制方法改革的動向。
(4)選擇國際流行教材,分析如何處理新的技術發展與教學內容的關系,梳理技術的內在關系與發展主線。
(5)跟蹤國際知名網絡設備制造商與網絡軟件公司的研究工作,以及技術認證與考試內容的變化,了解產業界對技術與人才需求的變化。
(6)參與信息化規劃與建設工作,通過與產業界、政府各級管理人員的合作,了解我國信息化發展的現狀與社會對網絡人才的需求。
以上工作在我們把握研究生教材內容的先進性與前瞻性方面起到了重要的指導作用。
1.2本科與研究生課程內容銜接問題
計算機及相關專業的碩士研究生一般在本科階段都修過計算機網絡課程。同時,由于學生不是來自一個學校或同一個本科專業,所以學生在網絡技術方面的基礎差異很大。這個問題在研究生招生規模擴大后更為突出。教師很難在某個起點上安排教學內容。任課教師比較為難,照顧到基礎比較差的學生,基礎好的學生認為“吃不飽”;考慮到基礎比較好的學生,基礎差的學生反映“跟不上”。無論老師想什么辦法,都無法解決好這對矛盾。這是在很多大學都很普遍的問題。經過多年的實踐我們逐漸認識到:要保證教學質量,必須根據研究生培養目標,改變教學方法,強調“自主學習”和“因材施教”。要為實現學生的“研究”、“自主”學習和教師的“因材施教”創造條件,就必須從課程教學目標定位入手,研究本科與研究生教學一體化、理論教學與能力培養一體化的網絡教材體系。
1.3理論教學與能力培養并重問題
團隊成員通過總結多年指導研究生學位論文的體會認識到,學生的實際工作能力需要他們在參加科研項目和完成開發任務的過程中提高。在多年指導和審閱相關學科碩士與博士學位論文的過程中,導師們深刻地感覺到:有相當比例的研究生在本學科領域眼界不寬,網絡應用系統設計與編程能力亟待提高。如果能夠在他們準備學位論文之前認真地訓練這一方面的能力,那么他們的論文的研究深度與論文水平還能夠有較大幅度的提高。研究生能力培養可以通過網絡環境中的課題、大編程量的訓練來實現。提高網絡軟件編程的實際工作能力對于研究生今后的研究工作與就業將會有很大的幫助。而這些編程課題應該是由教學科研團隊從研究工作與開發的課題成果中提煉出來,將科研成果有選擇的轉化為“近似實戰”的研究生訓練課題。這種訓練對學生深入理解網絡原理與實現方法會有很大的幫助,對于日后的科研工作和提高學位論文質量也是很有益的。
1.4自主學習和因材施教問題
從研究生自身學習的角度應該強調“研究性”與“自主性”,學生應該變被動的“聽課、做筆記”轉向主動的、研究地學習和提高。從任課教師與導師角度應該強調“因材施教”。
從我們多年的教學經驗看,同一屆的研究生實際能力差異都很大。研究生教學更多的應該是根據不同的學生、不同的研究重點、不同的起點,有不同的訓練方案,不能沒有區別。導師的因材施教應該體現在:指導學生根據自己的基礎、研究方向,選擇不同類型、不同編程量,或不同的難度級的課題自主的完成訓練,循序漸進地提高實際能力。教師要做到這一點,需要做很多艱苦細致的工作和積累很多教學資料。經過10多年的積累與團隊成員的集體努力,我們初步完成了一些基礎性的工作。
研究生教材不應該僅是一本一學期使用的教科書,更應該是一本技術參考書,甚至是一本手冊。導師可以根據需要選擇教材中部分內容,作為基本的學習要求。學生學習的過程應該在導師的指導下有選擇地自學和閱讀,完成編程訓練。有些內容可能第一次僅僅是讀過和了解,如果今后科研、開發工作需要,可以再回過頭來繼續閱讀和參考。
為了適應研究生“研究性”與“自主性”學習的要求,我們設計的《計算機網絡高級教程》內容的覆蓋范圍寬,涉及當前網絡研究的多個領域;《計算機網絡高級編程技術》總的編程訓練量大,問題近似實戰,難度差異也比較明顯。為了有利于學生自主學習,我們對每個課題都提供了入門所需要的資料、工具與實現方法的范例,學生可以通過自學的方式完成訓練要求。
2 《計算機網絡高級教程》教材的編寫
研究生教材體系由《計算機網絡高級教程》與《計算機網絡高級軟件編程技術》兩部相互配套的教材組成。主教材《計算機網絡高級教程》重點討論了網絡研究的最新發展與研究的熱點問題,力求達到“反映計算機網絡前沿研究成果與發展趨勢”的要求。
《計算機網絡高級教程》分12章按網絡技術發展的三條主線討論了技術的演變與發展。其中:
第1章對網絡技術研究與發展的階段、重點問題和基本概念,以及各個階段的標志性技術作了一個概要的總結。
第2章討論了廣域網(WAN)技術的演變與發展趨勢。
第3章討論了局域網技術,尤其是對高速局域網(Gigabit Ethernet與10 Gigabit Ethernet)和無線局域網(WLAN)技術作了較為系統地討論。
第4章討論了城域網(MAN)概念的演變,以及寬帶城域網組建技術與接入網技術。
第5章對IPv4協議近年來的發展與演變過程作了較為全面地總結和討論。
第6章對IPv6的基本內容與應用方法進行了較為系統地介紹。
第7章對移動IP的基本概念與關鍵技術作了系統地介紹。
第8章對傳輸層分布式進程通信的概念,以及TCP、UDP協議進行了系統地討論。
第9章對應用層協議與Internet應用系統設計技術進行了系統地討論。
第10章對無線自組網絡(Ad hoc Network)與無線傳感器網絡(WSN)、無線網格網(WMN)的概念、特點、體系結構,以及關鍵技術的研究與進展作了比較全面地總結和介紹。
第11章討論了網絡安全與網絡管理技術。
第12章對國外大學與產業界在評價研究成果時常用的網絡性能分析開源工具、網絡模擬開源工具及其應用進行了系統地介紹。
在準備這本書的資料和寫作的過程中,作者有兩點體會最為深刻。一是盡管Internet技術與Ad hoc網、WSN、WMN在設計目的、應用的領域與技術特點上差異很大,但是在研究方法上基本上是相通的,并且在高層又都匯集到Internet之中。二是盡管作者認真地在這個領域已經工作了20多年,但是網絡技術發展得實在是太快了,個人的研究工作與閱歷不可能涉及到各個領域。個人與團隊的研究工作也只能是限制在網絡技術中的幾個比較窄的方面,深度也十分有限。因此在系統地總結網絡技術領域的研究與進展時感到難度很大。盡管也經常與同行交流和請教,仍然是力不從心。但是本著對學生學習負責的態度,還是堅持完成了寫作任務。這部教材應該說是匯聚了很多人的研究心血,作者只能是將個人能夠理解的部分按照自己的思路整理出來,以便讀者學習和研究。作者試圖在相關章節的后面注明某些研究工作總結與論文的出處,以及相關的參考文獻、文檔與標準,請有興趣的讀者自己去閱讀相關的文獻與標準。
3 《計算機網絡高級軟件編程技術》教材的編寫
高素質創新性計算機人才應具有較強的實踐能力。社會對網絡人才的需求十分強烈。但是真正懂網絡技術,能夠具備深入到網絡協議內部的高層次網絡應用系統設計和網絡軟件編程能力的軟件人才是非常缺乏的,也是社會急需的高級人才。研究生要能夠做出有自主知識產權、創新性的成果,就必須踏踏實實地苦練內功。編著《計算機網絡高級軟件編程技術》一書,是希望對高級網絡軟件人才的培養貢獻一點力量。
《計算機網絡高級軟件編程技術》的特點可以總結為以下幾點。
(1) 在總結了20多年科研工作經驗與研究生教學工作實踐經驗的基礎上,構思了教材的寫作思路與全書的內容結構。
(2) 參考了國內外知名大學網絡課程訓練與著名信息技術企業在員工網絡軟件編程訓練中的相關資料與文獻。
(3) 結合了網絡技術在Internet、無線網絡與信息安全等3條發展主線,總結提煉出22個網絡軟件編程題目。
(4) 軟件編程題目的選擇考慮到不同協議層次的覆蓋問題,同時將軟件編程題目分為基礎訓練、綜合訓練與提高訓練3種類型和5個難度級。讀者可以參考選題指導,根據不同的要求和不同的基礎,有選擇地、循序漸進地完成網絡軟件編程訓練,實現“通過實際編程問題的訓練,達到深入理解網絡基本工作原理,掌握網絡環境中軟件編程方法,提高網絡軟件編程能力”的目的。
(5) 網絡軟件編程技術的學習可以獨立于某一本特定的教材,完成訓練不需要任何特殊的硬件環境和編程語言。
