劉春波,鐘安鳴,顧兆軍
(中國民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)
對于具有明顯工程技術(shù)特征的計(jì)算機(jī)網(wǎng)絡(luò)課程,實(shí)踐教學(xué)的重要性早已為該領(lǐng)域教育人士所公認(rèn)。適逢國家和學(xué)校深化加強(qiáng)工程實(shí)踐教育改革的大背景,因此近年來中國民航大學(xué)計(jì)算機(jī)學(xué)院的計(jì)算機(jī)網(wǎng)絡(luò)課程大力加強(qiáng)了實(shí)踐教學(xué),購置了實(shí)驗(yàn)教學(xué)平臺,增加了實(shí)踐學(xué)時。人力和物力的投入雖大,教學(xué)效果的改進(jìn)幅度卻未能與之相稱。分析原因,其核心問題在于未能綜合考慮教學(xué)目標(biāo)和學(xué)生實(shí)際情況,有效地組織實(shí)施教學(xué)。若教學(xué)內(nèi)容簡單了,則不利于真正加深學(xué)生對網(wǎng)絡(luò)理論知識的理解,也不利于提高學(xué)生的動手能力;若教學(xué)內(nèi)容復(fù)雜了,在學(xué)生“編程基礎(chǔ)參差不齊、接受能力不一”的實(shí)際情況下,又會有相當(dāng)一部分學(xué)生感覺難度太大、無從下手,繼而直接放棄學(xué)習(xí)。
顯然,計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程的教學(xué)目標(biāo)應(yīng)該是使全體學(xué)生真正提高計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域的工程實(shí)踐能力。如何才能使不同程度的學(xué)生能力全部提高,而不僅僅是優(yōu)秀學(xué)生?筆者吸收和借鑒了中外教育專家提出的教學(xué)層次理論和階梯式教學(xué)法,并將其應(yīng)用到計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程的教學(xué)實(shí)踐中,旨在達(dá)到“全體學(xué)生能力有效提高”的教學(xué)目的。
美國著名的教育家Gagné R.M.[1-2]于20世紀(jì)60年代提出了學(xué)習(xí)層次理論(也稱為累積學(xué)習(xí)論)。他把最終教學(xué)目標(biāo)分解為多個有序的子目標(biāo),從低級子目標(biāo)可以正向轉(zhuǎn)移到高級子目標(biāo)。所有有序目標(biāo)形成了學(xué)習(xí)層次。
Haring和Eaton[3]于1978年提出了教學(xué)層次理論。他們將教學(xué)過程分為習(xí)得、熟練掌握、保持、泛化和應(yīng)用5個階段。各階段的目標(biāo)如下:
習(xí)得(acquisition):學(xué)生能夠準(zhǔn)確地獲得新的技能、知識和概念。
熟練掌握(fluency):學(xué)生對新技能、知識與概念掌握得不但高度準(zhǔn)確,而且高度熟練。
保持(maintenance):學(xué)生能夠不通過進(jìn)一步直接教學(xué)而保持對新技能、知識與概念的掌握程度。
泛化(generalisation):指導(dǎo)學(xué)生將自己的技能、知識與概念應(yīng)用到不同的上下文。
應(yīng)用(application):學(xué)生在獲得較少教師支持的情況下自發(fā)地將自己的技能應(yīng)用到較不熟悉的上下文。
中國教育家程鴻勛[4]提出了“階梯式教學(xué)法”(又稱“階梯式學(xué)習(xí)法”)。他指出,階梯式教學(xué)法是讓在同一個教學(xué)班中不同程度的學(xué)生各得其所,各有奔頭,使知識、能力各不相同的學(xué)生,沿著各自設(shè)置的目標(biāo)(臺階),獨(dú)自奮斗、攀登。他進(jìn)而將預(yù)習(xí)、上課、復(fù)習(xí)和作業(yè)四個學(xué)習(xí)環(huán)節(jié)各自劃分為五個階梯水平。
南麗麗[5]、周龐榮等[6]、吳險峰[7]成功地將階梯式教學(xué)法應(yīng)用到了程序設(shè)計(jì)、項(xiàng)目開發(fā)類課程。
與以上這些有關(guān)階梯式教學(xué)法的理論與實(shí)踐相比,筆者在計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程中所采用的階梯式教學(xué)法強(qiáng)調(diào)的是教學(xué)內(nèi)容(或教學(xué)目標(biāo))的階梯,而非教學(xué)設(shè)計(jì)的階梯。具體地說,階梯式教學(xué)法是將一個復(fù)雜的、高級的教學(xué)目標(biāo)分解為從低級到高級、難度逐漸增大的多個目標(biāo),使得終極目標(biāo)對于每一個學(xué)生都是可以實(shí)現(xiàn)的。
筆者教授的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程的授課對象是中國民航大學(xué)計(jì)算機(jī)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)和信息安全專業(yè)的本科生。這兩年來,我們以提高學(xué)生的工程實(shí)踐能力為中心,在計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程教學(xué)中進(jìn)行了一系列改革。首先,將2008級的計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)從20學(xué)時增加到40學(xué)時;接著,又在2009級的計(jì)算機(jī)網(wǎng)絡(luò)(II)課程中增加了實(shí)驗(yàn)環(huán)節(jié)。這樣,就形成了目前的由第五學(xué)期開設(shè)的計(jì)算機(jī)網(wǎng)絡(luò)(II)課程實(shí)驗(yàn)(課內(nèi)8學(xué)時+課外8學(xué)時)和第六學(xué)期開設(shè)的計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)(40學(xué)時)兩部分內(nèi)容組成的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程體系。具體教學(xué)內(nèi)容如表1所示。
表1 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程體系Tab.1 Structure of computer networks practicums
教學(xué)環(huán)境方面,根據(jù)對國內(nèi)多所高校的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)室進(jìn)行調(diào)研的結(jié)果,對于原有的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)室進(jìn)行了二期建設(shè)。除了補(bǔ)充了路由器、交換機(jī)、無線AP等真實(shí)網(wǎng)絡(luò)設(shè)備,還專門購置了吉林中軟吉大公司開發(fā)的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)平臺(以下簡稱為“中軟吉大平臺”)。該平臺提供了IPv4網(wǎng)絡(luò)協(xié)議、IPv6網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)程序設(shè)計(jì)3個教學(xué)模塊,采用智能網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)五種不同網(wǎng)絡(luò)結(jié)構(gòu)之間的自動切換,能夠?qū)崿F(xiàn)多個實(shí)驗(yàn)項(xiàng)目。學(xué)生機(jī)分為7組,每組6臺,實(shí)驗(yàn)時人手一機(jī)。在此基礎(chǔ)上,實(shí)踐課程采取“真實(shí)環(huán)境實(shí)驗(yàn)與虛擬實(shí)驗(yàn)相結(jié)合、課內(nèi)實(shí)驗(yàn)與課外實(shí)驗(yàn)相結(jié)合”的靈活多樣的教學(xué)方式。
計(jì)算機(jī)網(wǎng)絡(luò)(II)課程實(shí)驗(yàn)主要是驗(yàn)證性的網(wǎng)絡(luò)協(xié)議分析實(shí)驗(yàn),還包括具有設(shè)計(jì)性質(zhì)的路由配置實(shí)驗(yàn),旨在加深學(xué)生對網(wǎng)絡(luò)協(xié)議、路由等基本概念的理解,教學(xué)難度不大。
計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)主要采用軟件編程模式,旨在培養(yǎng)學(xué)生系統(tǒng)、綜合的網(wǎng)絡(luò)工程實(shí)踐能力。課程分為兩個模塊:網(wǎng)絡(luò)協(xié)議分析模塊和網(wǎng)絡(luò)應(yīng)用編程模塊。網(wǎng)絡(luò)協(xié)議分析模塊是對計(jì)算機(jī)網(wǎng)絡(luò)(II)課程實(shí)驗(yàn)的拓展和提高,要求學(xué)生從使用協(xié)議分析器過渡到開發(fā)協(xié)議分析器,掌握網(wǎng)絡(luò)底層開發(fā)技術(shù)。網(wǎng)絡(luò)應(yīng)用編程模塊則是利用上層的套接字編程接口,開發(fā)綜合性的、實(shí)用的網(wǎng)絡(luò)應(yīng)用程序。兩個模塊面向?qū)嵱?,各有?cè)重,但教學(xué)難度較大。本文接下來將深入介紹階梯式教學(xué)法在這兩個模塊教學(xué)過程中的應(yīng)用。
網(wǎng)絡(luò)協(xié)議分析模塊的終極教學(xué)目標(biāo) 使得學(xué)生徹底理解數(shù)據(jù)是如何在網(wǎng)絡(luò)中傳輸?shù)摹?/p>
以往教學(xué)模式 學(xué)生使用協(xié)議分析器完成驗(yàn)證性的網(wǎng)絡(luò)協(xié)議分析實(shí)驗(yàn)。
存在的問題 有助于加深學(xué)生對網(wǎng)絡(luò)協(xié)議報文格式的理解,但理解不夠透徹;自主開發(fā)協(xié)議分析器能夠解決這個問題,但涉及網(wǎng)絡(luò)底層開發(fā),難度較大,學(xué)生無從下手。
解決方案 設(shè)置中間階段,提供單一協(xié)議分析的程序流程和代碼框架,引導(dǎo)學(xué)生進(jìn)入?yún)f(xié)議分析程序開發(fā)之門。
根據(jù)以上分析,將網(wǎng)絡(luò)協(xié)議分析模塊的教學(xué)分為3個階段:使用協(xié)議分析器、半自主開發(fā)協(xié)議分析器和自主開發(fā)協(xié)議分析器,如圖1所示。
圖1 網(wǎng)絡(luò)協(xié)議分析模塊教學(xué)的三級階梯Fig.1 Three-stair ladder in teaching network protocol analyzing module
階段1 使用協(xié)議分析器。學(xué)生操作中軟吉大平臺中的協(xié)議分析器,捕獲并分析網(wǎng)絡(luò)數(shù)據(jù)包,理解“什么是協(xié)議”。
階段2 半自主開發(fā)協(xié)議分析器。學(xué)生利用中軟吉大平臺提供的Netproto庫,根據(jù)該平臺給出的程序流程和代碼框架,完成單一協(xié)議的分析程序。這種方式的優(yōu)點(diǎn)是學(xué)生易于完成;缺點(diǎn)是Netproto庫不透明,不通用。
階段3 自主開發(fā)協(xié)議分析器。與中軟吉大平臺的Netproto庫相比,WinPcap是一個通用的、開源的網(wǎng)絡(luò)底層開發(fā)包,但直接學(xué)習(xí)難度較大。有了階段2的鋪墊,學(xué)生再進(jìn)入這個階段,就不再感覺那么突兀了。學(xué)生利用WinPcap庫,編寫完整的協(xié)議分析器或編輯器,至少支持以太網(wǎng)MAC協(xié)議、IP和TCP/UDP協(xié)議。
網(wǎng)絡(luò)應(yīng)用編程模塊的終極教學(xué)目標(biāo) 使得學(xué)生能夠開發(fā)綜合性的、實(shí)用的網(wǎng)絡(luò)應(yīng)用程序。
以往教學(xué)模式 教師講完基本的套接字編程接口用法之后,讓學(xué)生選擇完成一個功能較復(fù)雜的網(wǎng)絡(luò)應(yīng)用程序。
存在的問題 從簡單的客戶-服務(wù)器通信到復(fù)雜的多用戶通信,跨度較大,中間存在很多技術(shù)問題,再加上學(xué)生沒有圖形界面編程基礎(chǔ),大部分學(xué)生無法正常完成。
解決方案 設(shè)置中間階段,教師帶領(lǐng)學(xué)生完成一個功能較簡單、但具有圖形界面的多用戶通信程序,揭示從“二”到“多”的技術(shù)實(shí)現(xiàn)手段。
根據(jù)以上分析,將網(wǎng)絡(luò)應(yīng)用編程模塊的教學(xué)分為3個階段:簡單客戶-服務(wù)器通信編程、多用戶通信編程器和綜合性網(wǎng)絡(luò)應(yīng)用編程,如圖2所示。
圖2 網(wǎng)絡(luò)應(yīng)用編程模塊教學(xué)的三級階梯Fig.2 Three-stair ladder in teaching network application programming module
階段1 簡單客戶-服務(wù)器通信編程。學(xué)生能夠使用基本的套接字編程接口開發(fā)簡單的基于控制臺的TCP和UDP通信程序。
階段2 多用戶通信編程。采用實(shí)例教學(xué),使學(xué)生能夠開發(fā)具有圖形界面的多用戶通信程序。從2個用戶到3個用戶,實(shí)際上是“質(zhì)”的飛躍,這才是真正的網(wǎng)絡(luò)應(yīng)用程序。
階段3 綜合性網(wǎng)絡(luò)應(yīng)用編程。要求學(xué)生選擇一個題目完成。教師對題目提出明確要求,學(xué)生需要在階段2基礎(chǔ)上,進(jìn)一步學(xué)習(xí)相關(guān)知識,實(shí)現(xiàn)更復(fù)雜的功能。題目分為規(guī)定題目和自選題目兩類。部分有代表性的題目如表2所示。
表2 綜合性網(wǎng)絡(luò)應(yīng)用編程題目示例Tab.2 Examples of comprehensive network application programming projects
計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐課程的教學(xué)改革從2008級開始初步實(shí)施,在網(wǎng)絡(luò)協(xié)議分析模塊中嘗試采用階梯式教學(xué)法。到2009級進(jìn)一步完善和推廣,網(wǎng)絡(luò)協(xié)議分析模塊重點(diǎn)放在協(xié)議分析編程,加強(qiáng)從半自主的基于Netproto編程到自主的基于WinPcap編程、從單一協(xié)議分析到多層協(xié)議全面分析的階梯式教學(xué);網(wǎng)絡(luò)應(yīng)用編程模塊開始應(yīng)用階梯式教學(xué)法,在“簡單客戶-服務(wù)器通信編程”和“綜合性網(wǎng)絡(luò)應(yīng)用編程”兩個階段之間增加“多用戶通信編程”。下面分別從客觀和主觀角度對教學(xué)改革效果進(jìn)行分析。
作為客觀分析,將2007級至2009級三個年級的課程設(shè)計(jì)完成效果列于表3。其中優(yōu)秀學(xué)生是指能夠獨(dú)立自主完成的學(xué)生,成績在90分以上;良好學(xué)生是指能夠完全理解所參考的案例程序并將其自主實(shí)現(xiàn)的學(xué)生,成績在80分?jǐn)?shù)段;普通學(xué)生是指不能完全自主完成的學(xué)生,成績在80分以下。從表3可以看出,在生源質(zhì)量沒有明顯變化的情況下,盡管課程設(shè)計(jì)難度有所增大,但優(yōu)秀學(xué)生和良好學(xué)生的總體比例呈逐年升高的趨勢,從2007級的51%提高到2009級的64%。這說明確實(shí)有更多的學(xué)生有效提高了計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域的工程實(shí)踐能力。
表3 2007級至2009級的課程設(shè)計(jì)完成效果對比Tab.3 Comparison of outcome of course project from Grade 2007 to Grade 2009
主觀評價方面,很多學(xué)生反映,計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)難度很大,完成過程很辛苦,但完成后感覺收獲很大,能夠第一次獨(dú)立完成一個項(xiàng)目,很有成就感,增強(qiáng)了自信心。
不過,從表3也能看到,學(xué)習(xí)效果不好的普通學(xué)生所占比例還是過大,超過三分之一。根據(jù)學(xué)生反饋,網(wǎng)絡(luò)應(yīng)用編程模塊還是學(xué)習(xí)難度較大。這說明,在以后的教學(xué)過程中,階梯式教學(xué)法還要進(jìn)一步細(xì)化。
學(xué)生基礎(chǔ)參差不齊是各個學(xué)校、各個專業(yè)的共性問題,在非重點(diǎn)大學(xué)表現(xiàn)得更為突出。因而,筆者多年來一直致力于尋求破解之道。階梯式教學(xué)法的優(yōu)勢在于“分解目標(biāo)、化難為易、拾級而上、逐步提高”,使得每一個學(xué)生都有希望實(shí)現(xiàn)終極目標(biāo)。筆者將其應(yīng)用到計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐教學(xué)中,并且初見成效。在教學(xué)目標(biāo)有所提高的情況下,更多的學(xué)生切實(shí)提高了工程實(shí)踐能力。階梯式教學(xué)法是一種行之有效的方法,可以因地制宜地應(yīng)用到其他課程的教學(xué)中。
需要說明的是,教學(xué)效果的提高是多方面因素共同作用的結(jié)果,筆者在教學(xué)過程中采取的嚴(yán)格管理、精心設(shè)計(jì)等手段也起到了重要作用。
目前的教學(xué)效果距離“全體學(xué)生能力有效提高”的目標(biāo)尚有一段不小的距離。以后的教學(xué)改革要想取得更大的突破,一方面要把階梯式教學(xué)法繼續(xù)落實(shí)、做細(xì),另一方面要和其他方法、手段有效結(jié)合起來。
[1] GAGNé R M.Contributions of learning to human development[J].Psychological Review,1968,75(3):177-191.
[2] GAGNé R M.Learning hierarchies[J].Educational Psychologist,1968(6):1-9.
[3]HARING N G,LOVITT T C,EATON M D,et al.The Fourth R:Research in the Classroom[M].Columbus,OH:Charles E.Merrill Publishing Co,1978.
[4] 程鴻勛.生命發(fā)展階梯:階梯式學(xué)習(xí)法(全新修訂版)[M].北京:朝華出版社,2010.
[5]南麗麗.階梯式教學(xué)法在C語言教學(xué)中的應(yīng)用[J].計(jì)算機(jī)教育,2008(7):75-76.
[6] 周龐榮,易 斌.“梯進(jìn)式軟件工廠”教學(xué)模式初探[J].計(jì)算機(jī)教育,2009(24):136-138.
[7]吳險峰.階梯式誘導(dǎo)——針對低起點(diǎn)學(xué)生的程序設(shè)計(jì)教學(xué)探索[J].新課程研究,2010(17):69-71.