□繆海燕
網(wǎng)絡(luò)編程技術(shù)是網(wǎng)絡(luò)工程專業(yè)的必修課程。該課程通過網(wǎng)絡(luò)編程實踐,使學(xué)生掌握網(wǎng)絡(luò)編程技術(shù)的概念、編程方法、系統(tǒng)組成及設(shè)計方法[1]。其目標是培養(yǎng)學(xué)生的動手能力、分析和解決網(wǎng)絡(luò)編程問題的能力,并提升學(xué)生的創(chuàng)新能力。該課程涉及的知識面廣,對邏輯性和實踐性要求較高,使得課程的教學(xué)難度較大。在該課程的教學(xué)上,高校普遍采用課堂逐章講授、課后實驗驗證、期末閉卷考試的教學(xué)方法。存在重理論輕實踐、重記憶輕應(yīng)用、強調(diào)個人能力忽視團隊協(xié)作等問題,對學(xué)生創(chuàng)新能力和工程能力培養(yǎng)不足。因此對該課程教學(xué)模式的改革勢在必行。
(一)教學(xué)內(nèi)容存在問題。網(wǎng)絡(luò)編程技術(shù)課程以網(wǎng)絡(luò)協(xié)議為基礎(chǔ),編程語言為載體,通過編程實現(xiàn)網(wǎng)絡(luò)通信。因此該課程對前驅(qū)的計算機網(wǎng)絡(luò)、程序設(shè)計等課程的要求比較高。教師首先面臨如何鞏固這些舊知識的問題。該課程涵蓋網(wǎng)絡(luò)通信的編程方法,知識面廣,且邏輯性強,難度較大,教師又面臨著課程內(nèi)容如何取舍的巨大挑戰(zhàn)。因此舊知識點的鞏固,新知識點的選取以及各項內(nèi)容的組織銜接都顯得至關(guān)重要。
(二)教學(xué)方法和教學(xué)手段存在問題。因為課程知識點多,邏輯性強,教師為提高教學(xué)效率,普遍采用以自我為中心的“灌輸式”教學(xué)法,將大量教學(xué)時間運用在基礎(chǔ)理論的講解上,缺乏互動,極易使學(xué)生走神;由于課程難度大,稍一走神又導(dǎo)致后續(xù)內(nèi)容聽不懂;即使聽懂了課程內(nèi)容,看懂了程序,但由于沒有及時進行編程練習(xí),課后學(xué)生獨立編程時常常感覺無從下手。目前教師已普遍認識到實踐的重要性,增加了實踐課時,但只是簡單采用“先理論,后實踐”的授課模式,導(dǎo)致教師對學(xué)生的編程實踐無法及時作出反饋,最終導(dǎo)致學(xué)生仍屢遇問題,興趣下降、教學(xué)效果不理想。
(三)學(xué)生的學(xué)習(xí)方法存在問題。由于該課程需要具有一定的編程能力,如果學(xué)生對前驅(qū)課程《程序設(shè)計基礎(chǔ)》掌握不好,非常影響這門課程的學(xué)習(xí)信心,導(dǎo)致學(xué)習(xí)畏懼心理,對課程不感興趣,不愿學(xué)習(xí)。另外學(xué)生不愿意利用課余時間進行編程練習(xí)。
(四)考核評價方法存在問題。目前的考核方法以閉卷考試為主,項目考核為輔。這種方法只能考核學(xué)生對協(xié)議的記憶和理解,不能真正有效地考查學(xué)生的網(wǎng)絡(luò)編程能力。
CDIO 工程教育模式是近年來國際工程教育改革的最新成果。學(xué)院基于“教育創(chuàng)造學(xué)生價值”的理念,在繼承CDIO 工程教育理念的基礎(chǔ)上,創(chuàng)造性地將CDIO 理念中國化和本校化,對CDIO 能力培養(yǎng)大綱進行了繼承性基礎(chǔ)上的創(chuàng)新,提出了具有東軟特色的TOPCARES-CDIO。其核心是“項目教學(xué)”,理論實踐“一體化”,以項目帶動教學(xué),在做中學(xué),學(xué)中做[2]。
針對目前網(wǎng)絡(luò)編程技術(shù)教學(xué)中存在的問題,將TOPCARES-CDIO 工程教學(xué)理念融入本課程的教學(xué)過程中,以“項目帶動教學(xué),做中學(xué),學(xué)中做”理念為中心,并結(jié)合學(xué)校學(xué)生的實際情況,在教學(xué)內(nèi)容、教學(xué)方法和手段、考核等三方面進行立體化的教學(xué)改革,以改善教學(xué)狀況,培養(yǎng)具備高技術(shù)、高素質(zhì)、符合現(xiàn)代企業(yè)需求的應(yīng)用型高科技人才。
(一)創(chuàng)新教學(xué)內(nèi)容。網(wǎng)絡(luò)編程技術(shù)課程知識面廣而雜,其前驅(qū)課程較多。基于TOPCARES - CDIO 的項目化理念,對課程知識體系重新組織,將新舊知識點劃分到項目中去,用項目串通知識點,確保重點知識被覆蓋,被實踐。
將該課程知識體系劃分成三個部分(如表1),第一部分簡單回顧TCP/IP 的常用協(xié)議及基本工作原理。第二部分重點講解網(wǎng)絡(luò)編程常用工具,主要包括Socket 的基本概念及編程原理、常用API 函數(shù)等,為后續(xù)具體的網(wǎng)絡(luò)編程提供工具。第三部分將綜合前兩個部分的工具,針對各個網(wǎng)絡(luò)層次實現(xiàn)相應(yīng)的協(xié)議編程。通過這樣的知識劃分,知識點從易到難、循序漸進。有了前面TCP/IP 協(xié)議的回顧,及API 工具的鋪墊,讓第三部分網(wǎng)絡(luò)編程實踐水到渠成,提升學(xué)生學(xué)習(xí)興趣,培養(yǎng)學(xué)生編程能力。

表1 網(wǎng)絡(luò)編程技術(shù)課程內(nèi)容
(二)項目化的教學(xué)方法和手段。TOPCARES -CDIO 提出以學(xué)生為中心,由“老師教什么”轉(zhuǎn)變?yōu)椤皩W(xué)生學(xué)會做什么”。這要求教師轉(zhuǎn)變角色,變?yōu)檎n堂的引導(dǎo)者,引導(dǎo)課堂的主體學(xué)生,自主地運用知識、發(fā)現(xiàn)問題、分析問題、解決問題。在課程教學(xué)中重點進行了如下教學(xué)方法和手段的改革。
1.少講多練,還課堂給學(xué)生。課程講授突出“少而精”,重點講思路、講線索、講重點和難點,對一些了解性的知識要求學(xué)生課外自學(xué)。把大量的課堂時間留給學(xué)生進行編程練習(xí),讓學(xué)生在實踐中學(xué)習(xí),在實戰(zhàn)中提高。
2.以問題為中心,激發(fā)學(xué)生主動學(xué)習(xí),避免滿堂灌。每講授一個協(xié)議之前,教師先提出問題“下一個協(xié)議是什么格式?協(xié)議原理?”學(xué)生帶著問題先課下自主學(xué)習(xí)。到第二次上時,隨機抽點學(xué)生講解協(xié)議,教師重點針對容易混淆或理解錯誤的部分提問,啟發(fā)學(xué)生思考。例如學(xué)習(xí)ARP 協(xié)議時,首先安排學(xué)生講解ARP 協(xié)議格式,教師針對ARP 報文長度進行提問。ARP 報文長度與硬件類型和協(xié)議地址長度相關(guān),在協(xié)議編程實現(xiàn)時,需要將ARP 報文數(shù)據(jù)結(jié)構(gòu)設(shè)計為變長,而不是簡單的設(shè)計為固定字節(jié)數(shù)。通過組織學(xué)生進行這樣的思考分析,既可鍛煉學(xué)生的思維,讓學(xué)生積極表達自己的觀點、提升自信,又可以透徹理解協(xié)議,達到良好的教學(xué)效果。
3.分組教學(xué)法提升學(xué)生的團隊意識,互幫互助,共同進步。由于該課程既涉及到網(wǎng)絡(luò)協(xié)議,又涉及到編程技術(shù),課程知識廣難度大,特別對于基礎(chǔ)不太扎實的學(xué)生是巨大的挑戰(zhàn),極易讓他們產(chǎn)生畏難情緒。通過分組的形式,將5~6 人組織成一個學(xué)習(xí)團隊,學(xué)生自主選舉一名技術(shù)帶頭人。教師重點指導(dǎo)技術(shù)帶頭人,技術(shù)帶頭人再協(xié)助其他同學(xué)解決問題完成項目。當遇到技術(shù)帶頭人也無法解決的問題時,再由教師出面解決。這樣提高了同學(xué)自主分析問題,解決問題的能力,并且提高了他們的團隊協(xié)作意識。
4.立體化的實驗教學(xué),理論與實踐一體化。TOPCARES-CDIO 提倡“做中學(xué)”,強調(diào)學(xué)生主動學(xué)習(xí)。因此,實驗教學(xué)是該課程的核心。在課程實驗的總體設(shè)計上,遵循協(xié)議順序由底層到高層、實驗步驟由簡單到復(fù)雜、實驗組織由獨立到協(xié)作的原則,做到實驗教學(xué)體系的模塊化和多層次、實驗教學(xué)類型的多樣化。引導(dǎo)學(xué)生主動進行實驗和探索學(xué)習(xí)。學(xué)校為每位學(xué)生都配備了筆記本電腦,教室每個座位都配備了網(wǎng)絡(luò)接口,學(xué)生在教室就如進了實驗室一樣,可隨時編寫網(wǎng)絡(luò)程序,遇到問題可以及時向老師和同學(xué)求助。
在第三部分的網(wǎng)絡(luò)編程實踐教學(xué)中,按照協(xié)議由底層到高層的順序講解。每層協(xié)議學(xué)習(xí)初期,先使用抓包軟件在網(wǎng)絡(luò)中隨意抓一些包,給學(xué)生直觀印象,加深學(xué)生對本層協(xié)議的理解,然后為學(xué)生布置簡單的單層協(xié)議編程實驗項目,隨著學(xué)習(xí)的深入,再布置難度更大的多層協(xié)議組合的編程實驗項目。每個項目完成后,挑選完成較好的學(xué)生作品做點評,讓學(xué)生更加深入地掌握學(xué)習(xí)內(nèi)容。表2是在第三部分網(wǎng)絡(luò)編程實踐中針對各層協(xié)議設(shè)計的多個網(wǎng)絡(luò)編程實踐項目。

表2 課程第三部分網(wǎng)絡(luò)編程實踐的實驗項目[3]
(三)一體化的考核方法。根據(jù)網(wǎng)絡(luò)編程技術(shù)課程的教學(xué)目標,結(jié)合TOPCARES-CDIO 的“項目帶動教學(xué)”理念,對學(xué)生學(xué)習(xí)成績的評價不再采用單一的筆試,而是根據(jù)平時的形成性考核和最后的終結(jié)性考核進行一體化評價[4]。形成性考核從學(xué)生的出勤、作業(yè)、各章的項目完成情況對學(xué)生進行平時成績的考核,占總成績的50%;終結(jié)性考核占總成績的50%,期末以小組大項目的形式完成。整個考核以“項目”為中心。特別是最后的大項目考核,需要學(xué)生提交項目需求分析、概要設(shè)計和詳細設(shè)計,并最終編寫代碼實現(xiàn)項目功能。考核時,小組成員先介紹各自在項目中所擔任的角色,完成的工作;再隨機抽取組內(nèi)成員講解項目的協(xié)議原理,設(shè)計思路;最后進行現(xiàn)場演示。整個過程中能考查學(xué)生的編程、團隊協(xié)作、口頭表達等多項能力。該項目成績可由老師評價及組間互評,組內(nèi)互評共同來衡量。這樣能較準確地反映出學(xué)生學(xué)習(xí)效果,體現(xiàn)課程考核的有效性、公平性和合理性。此外,為了促進學(xué)生養(yǎng)成良好的編程風(fēng)格,是否符合編程規(guī)范也被納入課程考評范疇。
基于TOPCARES-CDIO 理念的網(wǎng)絡(luò)編程技術(shù)課程改革,通過“項目帶動教學(xué)”的方法,通過在教學(xué)內(nèi)容、教學(xué)方法和手段、教學(xué)考核等三方面的改革,充分實現(xiàn)讓學(xué)生在做中學(xué),學(xué)中做。從教學(xué)效果來看,提高了學(xué)生學(xué)習(xí)興趣,增強了學(xué)習(xí)的積極性和主動性。在掌握課程知識的基礎(chǔ)上,學(xué)生提高了網(wǎng)絡(luò)編程能力,以及發(fā)現(xiàn)問題、解決問題的能力,此外還增強了團隊協(xié)作意識。
[1] 李鵬.網(wǎng)絡(luò)編程技術(shù)課程的教學(xué)改革思路[J].西安郵電學(xué)院學(xué)報,2010,15(2):166~168
[2] 溫濤.基于TOPCARES-CDIO 的一體化人才培養(yǎng)模式探索與實踐[J].計算機教育,2010,11:23~29
[3] 胡靜.網(wǎng)絡(luò)工程專業(yè)的網(wǎng)絡(luò)編程課程教學(xué)與改革[J].計算機教育,2014,18:35~38
[4] 劉琰,常斌,羅軍勇等.面向能力培養(yǎng)的網(wǎng)絡(luò)編程技術(shù)課程教學(xué)方法探討[J].計算機教育,2010,18:52~55