□繆海燕
網(wǎng)絡(luò)編程技術(shù)是網(wǎng)絡(luò)工程專業(yè)的必修課程。該課程通過網(wǎng)絡(luò)編程實踐,使學生掌握網(wǎng)絡(luò)編程技術(shù)的概念、編程方法、系統(tǒng)組成及設(shè)計方法[1]。其目標是培養(yǎng)學生的動手能力、分析和解決網(wǎng)絡(luò)編程問題的能力,并提升學生的創(chuàng)新能力。該課程涉及的知識面廣,對邏輯性和實踐性要求較高,使得課程的教學難度較大。在該課程的教學上,高校普遍采用課堂逐章講授、課后實驗驗證、期末閉卷考試的教學方法。存在重理論輕實踐、重記憶輕應(yīng)用、強調(diào)個人能力忽視團隊協(xié)作等問題,對學生創(chuàng)新能力和工程能力培養(yǎng)不足。因此對該課程教學模式的改革勢在必行。
(一)教學內(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)重要。
(二)教學方法和教學手段存在問題。因為課程知識點多,邏輯性強,教師為提高教學效率,普遍采用以自我為中心的“灌輸式”教學法,將大量教學時間運用在基礎(chǔ)理論的講解上,缺乏互動,極易使學生走神;由于課程難度大,稍一走神又導致后續(xù)內(nèi)容聽不懂;即使聽懂了課程內(nèi)容,看懂了程序,但由于沒有及時進行編程練習,課后學生獨立編程時常常感覺無從下手。目前教師已普遍認識到實踐的重要性,增加了實踐課時,但只是簡單采用“先理論,后實踐”的授課模式,導致教師對學生的編程實踐無法及時作出反饋,最終導致學生仍屢遇問題,興趣下降、教學效果不理想。
(三)學生的學習方法存在問題。由于該課程需要具有一定的編程能力,如果學生對前驅(qū)課程《程序設(shè)計基礎(chǔ)》掌握不好,非常影響這門課程的學習信心,導致學習畏懼心理,對課程不感興趣,不愿學習。另外學生不愿意利用課余時間進行編程練習。
(四)考核評價方法存在問題。目前的考核方法以閉卷考試為主,項目考核為輔。這種方法只能考核學生對協(xié)議的記憶和理解,不能真正有效地考查學生的網(wǎng)絡(luò)編程能力。
CDIO 工程教育模式是近年來國際工程教育改革的最新成果。學院基于“教育創(chuàng)造學生價值”的理念,在繼承CDIO 工程教育理念的基礎(chǔ)上,創(chuàng)造性地將CDIO 理念中國化和本?;?,對CDIO 能力培養(yǎng)大綱進行了繼承性基礎(chǔ)上的創(chuàng)新,提出了具有東軟特色的TOPCARES-CDIO。其核心是“項目教學”,理論實踐“一體化”,以項目帶動教學,在做中學,學中做[2]。
針對目前網(wǎng)絡(luò)編程技術(shù)教學中存在的問題,將TOPCARES-CDIO 工程教學理念融入本課程的教學過程中,以“項目帶動教學,做中學,學中做”理念為中心,并結(jié)合學校學生的實際情況,在教學內(nèi)容、教學方法和手段、考核等三方面進行立體化的教學改革,以改善教學狀況,培養(yǎng)具備高技術(shù)、高素質(zhì)、符合現(xiàn)代企業(yè)需求的應(yīng)用型高科技人才。
(一)創(chuàng)新教學內(nèi)容。網(wǎng)絡(luò)編程技術(shù)課程知識面廣而雜,其前驅(qū)課程較多?;赥OPCARES - 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ò)編程實踐水到渠成,提升學生學習興趣,培養(yǎng)學生編程能力。
表1 網(wǎng)絡(luò)編程技術(shù)課程內(nèi)容
(二)項目化的教學方法和手段。TOPCARES -CDIO 提出以學生為中心,由“老師教什么”轉(zhuǎn)變?yōu)椤皩W生學會做什么”。這要求教師轉(zhuǎn)變角色,變?yōu)檎n堂的引導者,引導課堂的主體學生,自主地運用知識、發(fā)現(xiàn)問題、分析問題、解決問題。在課程教學中重點進行了如下教學方法和手段的改革。
1.少講多練,還課堂給學生。課程講授突出“少而精”,重點講思路、講線索、講重點和難點,對一些了解性的知識要求學生課外自學。把大量的課堂時間留給學生進行編程練習,讓學生在實踐中學習,在實戰(zhàn)中提高。
2.以問題為中心,激發(fā)學生主動學習,避免滿堂灌。每講授一個協(xié)議之前,教師先提出問題“下一個協(xié)議是什么格式?協(xié)議原理?”學生帶著問題先課下自主學習。到第二次上時,隨機抽點學生講解協(xié)議,教師重點針對容易混淆或理解錯誤的部分提問,啟發(fā)學生思考。例如學習ARP 協(xié)議時,首先安排學生講解ARP 協(xié)議格式,教師針對ARP 報文長度進行提問。ARP 報文長度與硬件類型和協(xié)議地址長度相關(guān),在協(xié)議編程實現(xiàn)時,需要將ARP 報文數(shù)據(jù)結(jié)構(gòu)設(shè)計為變長,而不是簡單的設(shè)計為固定字節(jié)數(shù)。通過組織學生進行這樣的思考分析,既可鍛煉學生的思維,讓學生積極表達自己的觀點、提升自信,又可以透徹理解協(xié)議,達到良好的教學效果。
3.分組教學法提升學生的團隊意識,互幫互助,共同進步。由于該課程既涉及到網(wǎng)絡(luò)協(xié)議,又涉及到編程技術(shù),課程知識廣難度大,特別對于基礎(chǔ)不太扎實的學生是巨大的挑戰(zhàn),極易讓他們產(chǎn)生畏難情緒。通過分組的形式,將5~6 人組織成一個學習團隊,學生自主選舉一名技術(shù)帶頭人。教師重點指導技術(shù)帶頭人,技術(shù)帶頭人再協(xié)助其他同學解決問題完成項目。當遇到技術(shù)帶頭人也無法解決的問題時,再由教師出面解決。這樣提高了同學自主分析問題,解決問題的能力,并且提高了他們的團隊協(xié)作意識。
4.立體化的實驗教學,理論與實踐一體化。TOPCARES-CDIO 提倡“做中學”,強調(diào)學生主動學習。因此,實驗教學是該課程的核心。在課程實驗的總體設(shè)計上,遵循協(xié)議順序由底層到高層、實驗步驟由簡單到復雜、實驗組織由獨立到協(xié)作的原則,做到實驗教學體系的模塊化和多層次、實驗教學類型的多樣化。引導學生主動進行實驗和探索學習。學校為每位學生都配備了筆記本電腦,教室每個座位都配備了網(wǎng)絡(luò)接口,學生在教室就如進了實驗室一樣,可隨時編寫網(wǎng)絡(luò)程序,遇到問題可以及時向老師和同學求助。
在第三部分的網(wǎng)絡(luò)編程實踐教學中,按照協(xié)議由底層到高層的順序講解。每層協(xié)議學習初期,先使用抓包軟件在網(wǎng)絡(luò)中隨意抓一些包,給學生直觀印象,加深學生對本層協(xié)議的理解,然后為學生布置簡單的單層協(xié)議編程實驗項目,隨著學習的深入,再布置難度更大的多層協(xié)議組合的編程實驗項目。每個項目完成后,挑選完成較好的學生作品做點評,讓學生更加深入地掌握學習內(nèi)容。表2是在第三部分網(wǎng)絡(luò)編程實踐中針對各層協(xié)議設(shè)計的多個網(wǎng)絡(luò)編程實踐項目。
表2 課程第三部分網(wǎng)絡(luò)編程實踐的實驗項目[3]
(三)一體化的考核方法。根據(jù)網(wǎng)絡(luò)編程技術(shù)課程的教學目標,結(jié)合TOPCARES-CDIO 的“項目帶動教學”理念,對學生學習成績的評價不再采用單一的筆試,而是根據(jù)平時的形成性考核和最后的終結(jié)性考核進行一體化評價[4]。形成性考核從學生的出勤、作業(yè)、各章的項目完成情況對學生進行平時成績的考核,占總成績的50%;終結(jié)性考核占總成績的50%,期末以小組大項目的形式完成。整個考核以“項目”為中心。特別是最后的大項目考核,需要學生提交項目需求分析、概要設(shè)計和詳細設(shè)計,并最終編寫代碼實現(xiàn)項目功能??己藭r,小組成員先介紹各自在項目中所擔任的角色,完成的工作;再隨機抽取組內(nèi)成員講解項目的協(xié)議原理,設(shè)計思路;最后進行現(xiàn)場演示。整個過程中能考查學生的編程、團隊協(xié)作、口頭表達等多項能力。該項目成績可由老師評價及組間互評,組內(nèi)互評共同來衡量。這樣能較準確地反映出學生學習效果,體現(xiàn)課程考核的有效性、公平性和合理性。此外,為了促進學生養(yǎng)成良好的編程風格,是否符合編程規(guī)范也被納入課程考評范疇。
基于TOPCARES-CDIO 理念的網(wǎng)絡(luò)編程技術(shù)課程改革,通過“項目帶動教學”的方法,通過在教學內(nèi)容、教學方法和手段、教學考核等三方面的改革,充分實現(xiàn)讓學生在做中學,學中做。從教學效果來看,提高了學生學習興趣,增強了學習的積極性和主動性。在掌握課程知識的基礎(chǔ)上,學生提高了網(wǎng)絡(luò)編程能力,以及發(fā)現(xiàn)問題、解決問題的能力,此外還增強了團隊協(xié)作意識。
[1] 李鵬.網(wǎng)絡(luò)編程技術(shù)課程的教學改革思路[J].西安郵電學院學報,2010,15(2):166~168
[2] 溫濤.基于TOPCARES-CDIO 的一體化人才培養(yǎng)模式探索與實踐[J].計算機教育,2010,11:23~29
[3] 胡靜.網(wǎng)絡(luò)工程專業(yè)的網(wǎng)絡(luò)編程課程教學與改革[J].計算機教育,2014,18:35~38
[4] 劉琰,常斌,羅軍勇等.面向能力培養(yǎng)的網(wǎng)絡(luò)編程技術(shù)課程教學方法探討[J].計算機教育,2010,18:52~55