面向物聯網工程專業(yè)的計算機網絡課程改革與探索
0 引 言
當前,以新技術、新產業(yè)、新業(yè)態(tài)和新模式為特征的新經濟革命加速發(fā)展。世界主要發(fā)達經濟體紛紛啟動“再工業(yè)化”戰(zhàn)略,加快工業(yè)化、網絡化、智能化和信息化的融合進程。德國、美國、法國等分別啟動了“工業(yè) 4.0”“新工業(yè)法國Ⅱ” “國家制造創(chuàng)新網絡 NNMI”等面向未來新經濟發(fā)展的戰(zhàn)略部署 [1]。為在新工業(yè)革命發(fā)展進程中搶占具有國際競爭力的戰(zhàn)略制高點,從制造大國向制造 / 智造強國的轉變,我國于 2015 年提出“中國制造 2025”,從 4 個方面、9 項戰(zhàn)略及10 個重點領域展開部署。一方面,該戰(zhàn)略為當前“三期疊加”的新常態(tài)發(fā)展注入強大的創(chuàng)新動力,將有效推動經濟社會轉型升級、提升國際競爭力和國家硬實力 ;另一方面,該戰(zhàn)略也對高校培養(yǎng)創(chuàng)新型工程人才提出了更高更迫切的要求。為 此,教育部啟動了新工科建設規(guī)劃 :瞄準工業(yè)革命新機遇、聚焦國家新需求、謀劃工程教育新發(fā)展。在理念引領、結構優(yōu)化、模式創(chuàng)新、質量保障等多個維度開拓工程教育改革新路徑,加快建設發(fā)展新興工科,持續(xù)深化工程教育改革,培養(yǎng)德學兼修、德才兼?zhèn)涞母咚刭|工程人才,探索形成中國特色、世界水平的工程教育體系,加快從工程教育大國走向工程教育強國 [2],建設一批能體現產業(yè)和技術最新發(fā)展需求、融合創(chuàng)新工程教育理念的新課程是實現新工科建設目標的關鍵組成部分。新課程不僅指新開設的課程,更多地包含對現有課程的優(yōu)化提升。因此,面向新工科建設需求,全面優(yōu)化現有課程的教育教學成為一項迫切任務。為探索面向新工科建設需要的課程改革方法,這里結合多年在物聯網工程專業(yè)教授計算機網絡課程的實踐與思考,給出面向創(chuàng)新和復雜問題、解決能力培養(yǎng)的計算機網絡課程教學改革方案。
1 計算機網絡課程特征分析
計算機網絡是物聯網工程專業(yè)的核心基礎課程,同時也是構建物聯網應用系統的關鍵支撐技術。該課程具有理論抽象靈活、內容豐富分散、技術交叉融合、應用驅動創(chuàng)新、技術 -理論 - 應用一體化的特點。
1.1 互聯網體系結構設計的基本原則既高度抽象又靈活多變
在設計互聯網體系結構時遵循分層、邊緣論和命運共享等基本原則 [3]。其中,分層的基本思想相對比較好理解,但是在實際的計算機網絡體系結構中,分層的原則并沒有徹底貫徹,有很多地方違反分層原則,如關于 TCP,UDP 校驗和的計算以及 ICMP 等。邊緣論則涉及到對通信系統、終端用戶(主機)以及分層的大型系統之間在層次關系、功能劃分、目標預測的綜合考量,對于初學網絡的本科生,特別是沒有通信背景的學生來說,其理解的難度之大可想而知。命運共享涉及到對通信實體狀態(tài)的理解以及狀態(tài)信息的管理方式,而狀態(tài)和連接是緊密相關的兩個概念。而對“有狀態(tài)” 和“連接”兩個概念之間的關系,現有的教材通常沒有對此展開討論,導致對基本概念的理解不清,原則地把握就無從談起。更為復雜的是,分層、邊緣論和命運共享這幾個原則之間還存在著關聯關系,再加上網絡演進過程中各種技術流派的紛爭,極大地增加了學生對基本原則的理解。
1.2 基于多學科融合的基本概念面廣量大,且概念之間的關系松散、系統性不強
作為通信與計算機融合而來的計算機網絡系統,涉及到通信學科的諸多基本概念 [4],如傅里葉變換、排隊論、低通濾波、波特率、編碼、信噪比、香農定理等,這些通信學科的基本概念成為計算機學科的很多學生理解計算機網絡底層通信原理的一道無法逾越的障礙。同時,還涉及到計算機學科中操作系統、程序設計、數值轉換等基礎概念,這些概念對于理解協議基本原理、讀懂實現協議基本功能具有重要用。一旦學生對先修課程中的概念掌握不好,就會影響到對計算機網絡相關技術原理的理解。同時,這些概念分布在各個層次中,層內概念在層次之間關聯不大,基本上處于相互獨立的狀態(tài)。這就使得概念的時效性大大降低 :前面的概念無法及時復習,形成邊學邊忘的狀態(tài)。
1.3 協議的動態(tài)交互性與課堂呈現方式的巨大差異
從本質上看,計算機網絡教學就是協議分析與理解 [5]。網絡協議包含靜態(tài)的協議文本規(guī)范,如報文結構、狀態(tài)變遷 ;同時也包含協議動態(tài)運行過程,如時序操作、狀態(tài)觸發(fā)、異常處理等隨時間動態(tài)執(zhí)行的細節(jié)。更為復雜的是,網絡協議往往涉及到通信過程中的兩個或多個實體之間的交互,并且隨協議上下文環(huán)境做出動態(tài)選擇。而局限于課堂教學手段和間,理論教學往往只能偏重協議的靜態(tài)特征的講解,實驗教學只能以“黑盒”的方式觀察協議運行的輸入及輸出結果。這就使得學生很難真正理解協議的技術原理與本質特征,從而只能停留在對協議死記硬背的層面,能力的培養(yǎng)無從談起。
1.4 協議的獨立性與相互支撐關系
從設計實現來說,每個協議都是相對獨立的,有相對獨立的概念體系、交互方式和技術特點 [6]。從網絡協議的實際運行來看,為保障網絡通信的順利進行,很多協議又是相互支撐關系,存在著動態(tài)的直接或間接調用關系(或稱服務提供與使用)、分用或復用關系。協議的獨立性使得知識點過于分散,缺少統領全篇的主線 ;協議的相互支撐導致多個協議構成復雜的網狀關系,從而使得學生很容易把多個知識碎片混雜在一些,分不清隸屬關系及其作用。
1.5 相似 / 相同的概念、原理在不同層次或問題域中所呈現出的實質性差異
在計算機網絡課程中,有很多概念或原理名稱相同或相似,但在不同的層次中或具體問題環(huán)境下呈現出很大的差異,甚至是實質性的不同 [7]。如復用,從網絡層次模型上看,上層會復用下層的服務 ;從信道使用劃分上來看,有靜態(tài)復用和動態(tài)復用。如連接和無連接的概念,在物理層、網絡層、傳輸層都是很重要的技術,但是每一層的實際實現技術原理和功能目標卻完全不同。再比如窗口機制,既可以用于流量控制,又可以用于擁塞控制,并且用于流量控制時,由于應用環(huán)境、約束條件與功能目標的不同,在數據鏈路層和傳輸層具體實現時的控制原理和交互過程有著實質性差異。
鑒于此,在計算機網絡教學中,長期存在教師難教、學生難學現象,使得該課程停滯在淺層概念、簡單計算的講解和識記層面,嚴重制約著計算機網絡課程的教學效果,與新工科建設目標要求相距甚遠。因此,亟需從計算機網絡的本質特征與創(chuàng)新性工程人才培養(yǎng)規(guī)格出發(fā),重構教學內容,優(yōu)化教學過程,將問題抽象建模、工程核心能力、創(chuàng)新創(chuàng)業(yè)意識及系統思維方式的訓練與培養(yǎng)置于該課程的中心地位,充分發(fā)揮計算機網絡在計算機人才培養(yǎng)中的核心作用。
2 以創(chuàng)新型工程人才培養(yǎng)為導向的教學探索
2.1 空間映射,問題驅動
對于學生來說,計算機網絡是個既熟悉又陌生的系統,每天都在使用,但從沒考慮(或經歷)過網絡系統的構建過程,對網絡系統的復雜性及整體結構缺乏基本的認識,對構建網絡的關鍵問題及相應的技術方案、設計原理缺乏感性認知。沒有問題意識,就失去了學習的原動力。基于此,本文從交通系統入手,從道路的設計修建、車道與路標管理、車輛行駛與流量管理、路網結構與導航、貨物運輸等層面構建與網絡課程內容(物理層、數據鏈層、網絡層、傳輸層與應用層)對應的 5 層模型,并在每層中抽象出相應的問題。通過交通系統中的問題與網絡系統中的問題相對應,將計算機網絡空間映射為交通系統空間。由于學生對交通系統比較熟悉,很容易理解其中的問題,并且很多時候能夠根據日常生活經驗給出相應解決方案。在開始網絡體系結構各層的講解之前,通過交通系統來討論需要面臨的問題及可能的解決方案,進而總結出計算機網絡中的問題,使學生了解問題,帶著問題學習。并在課程相關內容結束時,再次將課堂講授的計算機網絡問題及解決方案代入交通系統進行對比。通過兩個系統的雙向映射,既降低了學生學習的難度,通過問題驅動學生學習的意愿,同時又使學生體會到客觀事物之間相通的一面,培養(yǎng)通過知識遷移發(fā)現問題、解決問題的能力。
2.2 系統思維,模型優(yōu)先
從宏觀上看,現代互聯網是一個真正的復雜大系統 ;從中觀上看,每一層(或相鄰的若干層)構成一個相對復雜的中等系統,如網絡層 ;從微觀來看,每個協議都是一個相對獨立的子系統。因此,在計算機網絡中處處都能感受到系統的概念 [8]。在計算機學科中,針對復雜系統問題的基本思路是 :分層、分類、模塊化、復用、封裝等,將復雜大系統分解為可以直接實現的小系統,對每個小系統建立嚴格的模型進行驗證和實現,小系統之間相互調用和整合最終實現系統整體目標,計算機網絡的分層體系結構正是這一學科思想的最好實踐。為將這一學科思想滲透到課程教學中,除了協議自身的內容之外,還會詳細討論兩個方面的內容 :協議在整個體系結構中所處的位置,該協議與其他協議之間的關系 ;協議模型為運行的上下文環(huán)境、約束條件、觸發(fā)條件與狀態(tài)變遷等。例如 :三次握手協議中對時間、序列號約束與確認驗證可行性之間的關系 ;信道分配問題中的 5 個假定條件的含義及作用等。通過這兩項內容的深入講解,能夠有效提升學生利用專業(yè)的學科思維方式來解決復雜問題的能力。
2.3 知識融合,課程貫通
計算機網絡作為一門高年級的專業(yè)基礎課程,其內容涉及到諸多先修課程的知識,如編程語言、數據結構、操作系統、計算機體系結構等 ;同時,又是嵌入式系統、網絡編程等軟硬件系統開發(fā)的基礎。因此,在課程內容的設計上應定位于提升學生綜合理解計算機學科知識、培養(yǎng)學生解決復雜工程能力 [9]。為此,從兩方面設計課程內容 :一方面,綜合運用先修課程的基礎知識,突出協議關鍵數據結構、關鍵算法的設計以及協議源代碼閱讀,深入思考對比自己的設計與現有代碼實現方法之間的差異性,不斷提升協議實現與分析能力 ;另一方面,通過典型實例剖析網絡技術如何支撐應用系統開發(fā),如網絡驅動程序開發(fā)基本模型、套接字編程基本模式等。這兩個方面的融合使得學生通過既有知識的綜合運用,深入地理解了網絡協議的實現方法,并同時又理解了如何把新學到的網絡知識應用于系統開發(fā)。通過這樣的課程設計,使得零散的知識碎片構成一個有機的網絡,有效提升學生對專業(yè)知識的認知和應用能力。
2.4 問題抽象,講透實質
在計算機網絡課程中,有很多分布在多個層次的概念、技術,初看起來名稱各異、差別較大,但實質都是服務于一個基本的目的或是同一問題的不同術語。如果單獨對每個技術、概念進行講解,學生很難理解且容易混淆,也看不到問題的實質及其之間的關系。如果能通過對具體問題實例進行抽象,將諸多看起來千差萬別的問題統一到一個基本問題模型中,依據問題的實質建立統一的解決方法,不但能夠有效提升學習效率,同時也可以培養(yǎng)學生深入思考的能力。這種對問題的本質思考能力和底層認知邏輯是有效應對瞬息萬變的應用需求、技術革新的基本途徑。通過對計算機網絡課程內容的梳理,對窗口機制、流量控制、數據傳輸效率、信道利用率、吞吐量等分布在多個層次上的問題(機制)進行整合抽象,建立起統一的框架模型,并還原成一個初等物理問題 [10],比如確認機制、連接、可靠性、重傳等也能夠統一到一個框架模型中。
3 結 語
經過在物聯網工程專業(yè)教學實踐中不斷重構教學內容、優(yōu)化教學方法,計算機網絡課程的教學取得了不錯的效果,得到了學生的一致好評。學生普遍認為課程信息量大、問題意識強,對于培養(yǎng)創(chuàng)新型工程能力有較大幫助。但是,還存在一些問題 :優(yōu)化重構后的課程內容和難度略有增加,使得課堂講授時間比較緊張 ;同時,對實驗教學也提出了更高的要求,原來的課內實驗時間明顯不足。后續(xù)將繼續(xù)探索如何實現理論與實驗的緊密銜接,適當擴展課外實驗,使得理論教學、課內實驗、課外實驗能夠融合貫通。