網路工程專業的網路程式設計課程教學論文

才智咖 人氣:1.46W

0引言

網路工程專業的網路程式設計課程教學論文

網路程式設計技術是網路工程專業的必修課程。該門課程主要絡環境下的程式設計原理及方法,通過網路程式設計課程的學習,使網路工程專業學生掌握網路程式設計技術的概念、程式設計方法、系統組成及設計方法,並能使用相關軟體工具;通過對該課程的學習,將網路與軟體程式設計有機地結合起來,使學生通過網路軟體程式設計加深對網路理論的理解和掌握,同時又能提高學生網路應用軟體程式設計能力,加強學生實際工作能力。

儘管網路程式設計的有關課程同屬網路工程、軟體工程、電腦科學與技術這3個專業,但在課程內容體系結構、教學內容組織方式以及教學方法與手段上都不盡相同。筆者所指網路程式設計技術包括3個方面,從作業系統的角度來看,分別是應用層程式設計、套接字層程式設計和硬體介面層程式設計。非網路工程專業的學生只需掌握應用層程式設計即可。因這一層通常有著較為豐富的元件,遮蔽了大量的有關網路硬體的技術細節,軟體開發較為容易。而對於網路工程專業學生而言,其培養目標是:建好網,管好網,用好網。因此,筆者將從課程群的建設、課程內容的組織、教學手段的改進這3個方面,對網路工程專業的網路程式設計技術課程改革進行一些探討。

1課程群的建設

網路程式設計課程教學內容覆蓋面廣,屬於難度較高的專業課程,其中所需專業基礎知識涉及計算機基礎理論、通訊原理、網路原理等各個方面,如果沒有相應的先修課程作為鋪墊,很難真正掌握網路程式設計技術的精華。大多數院校為了降低難度,將網路程式設計技術課程分成兩門甚至兩門以上課程來講解,其先修課程也分別由十幾門課程組成,從而存在課程體系結構不明確,課程內容交叉過多、重複開設的問題。

此外,對網路程式設計能力的培養過程也斷斷續續,沒有從大一貫穿至大四,缺乏連續性。例如,對程式設計能力的培養,在大一、大二學習期間都開有相應的程式設計能力培養課程,但在大三期間卻中斷了程式設計課程,而到了大四期間,每個學生都需要利用某種程式語言來完成畢業設計課題,如果能在學生4年的學習期間一直貫穿程式設計能力的培養,當他們面臨畢業設計課題時,就能選擇一種相對比較瞭解的程式語言去完成。

解決這個問題最好的辦法就是以網路程式設計課程為主幹課程,整合知識點,完善課程群建設。同時,將所需知識分散至每一學年的教學任務中,循序漸進地引導學生理解並掌握網路程式設計技術的理論與知識,培養網路環境下的程式設計能力。在課程群的建設過程中應把握以下3個原則:

1)課程群的'建設應以學校的辦學定位與培養目標為前提。

如果是研究型院校,應以軟體理論研究為主要目標建設課程群;如果是應用型院校,應以軟體應用開發為主要目標來建設課程群,重點各有所不同。如筆者所在學校是一所應用型本科院校,辦學定位是“技術立校,應用為本”,以培養應用型人才為目標。故而,網路程式設計課程群的建設也應以培養網路應用程式設計軟體的開發與應用為前提。

2)以課程結構層次化,能力培養平行化為主要目標。

為了更好地讓學生掌握網路程式設計的關鍵技術、突出核心內容,按照從簡至繁,從容易到複雜的原則,將網路程式設計課程所需知識按照如下4個層次來實施:基礎程式設計訓練、高階程式設計訓練、網路程式設計訓練和專業綜合實驗。對於大一新生,主要幫助他們理解程式設計理念,熟悉程式設計環境,培養良好的程式設計習慣。開設的課程主要有:高階語言程式設計、資料結構與演算法、視覺化程式設計等。對於大二學生,主要目的是提高他們系統程式設計的能力,熟悉系統軟體開發環境,掌握系統軟體開發與應用的關鍵技術。開設的課程有物件導向程式設計、作業系統原理、資料庫原理及應用、計算機網路等。對於大三學生,進入專業課程學習的同時,進一步強化網路程式設計能力的培養。在所開設的網路裝置與整合、網路工程設計等課程中,強化網路裝置硬體介面程式設計能力的培養;在開設網路協議與分析課程的同時,強化網路協議的程式設計能力培養;在所開設的網路程式設計技術課程中,強化套接字程式設計和Web程式設計能力等。對於大四學生,在開始畢業設計之前,開設3周的專業綜合實驗課程,幫助他們回顧曾經學過的知識,並且學會綜合利用這些知識,解決實際生活中可能遇到的問題,同時,也為完成畢業設計做好前期準備。

3)網路程式設計能力的培養應與掌握網路硬體的設計與配置同時進行。

這是網路工程專業學生區別於其他專業學生的根本所在。

德克薩斯州大學教授曾說:“懂硬體特性的軟體設計師所設計的程式,在執行效能上遠高於那些不懂硬體特性的人所設計的程式。”這句話不無道理,在培養網路工程專業學生的網路程式設計能力的同時,也讓學生理解“數”的系統概念,理解“工程”的系統概念。學習電路基礎知識、數字邏輯、計算機組織與體系結構、嵌入式開發原理,以及網路裝置與整合、網路工程設計等基本理論與知識。硬體的課程體系結構同樣遵守課程結構層次化、能力培養平行化的設計原則,這樣才能有效實現逐步提高學生網路程式設計能力的目的,設計出的程式也才會更加完善。

2課程內容的組織

網路程式設計課程教學內容覆蓋面廣,授課難度較大。網路程式設計課程的內容主要包括高階語言程式設計、物件導向程式設計、視覺化程式設計、套接字程式設計、多執行緒程式設計、網路協議程式設計、網路應用程式設計等。除此之外,還要求學生能較好地掌握計算機網路、網路協議與分析、網路設計與組建、網路裝置與配置、網路管理與維護、網路安全技術等專業知識。因此,如果沒有很好地整合課程內容,在總課時的限制下,將會導致授課內容過多、顧此失彼現象的發生。另外,有些內容又重複開設課程,使得學生對所學課程漸漸失去興趣,嚴重影響了教學的效果。以網路程式設計技術課程為例,教學內容可做如下改革。

1)理論教學內容。

首先,在絡程式設計技術課程之前,建議先修高階語言程式設計、物件導向程式設計、資料結構與演算法設計、計算機網路原理、資料庫原理及應用這些課程。在有一定基礎的前提下才能較好地學習該門課程。此外,在該門課程講授的第一節課中應首先介紹課程總體框架與性質。

其次,這門課程基於套接字程式設計和基於應用元件的應用程式設計兩部分而組成。基於應用元件的應用程式設計選擇或者J2EE,由授課教師根據情況自由選定。這些內容在某些高校分屬於兩門課程,但筆者認為將這些內容整合在一門課程中,不僅可以由教師根據培養目標與授課計劃進行取捨講授,也會使得學生不僅知其然,而且知其所以然,促使他們更多地進行思考和創新。

在授課過程中,堅持理論和知識點為提高學生動手能力服務的原則。除了在第一節課,簡單回顧以前學過的與本門課程有關的知識點之外,其後的每一節課,在講解原理的同時,都將重點放在程式設計中可能會遇到的問題上。比如,在講解利用套接字解決TCP的程式設計模式時,需要一邊講解,一邊強調TCP程式設計模式與UDP程式設計模式的區別所在;在講解利用套接字解決FTP客戶機程式設計原理的過程中,需要提醒學生FTP伺服器通過使用熟知的埠來提供服務,而客戶端通過使用臨時埠來發送請求。FTP協議為控制連線和資料連線提供不同的熟知埠地址。對這些網路原理細節的強調,可以有效地防止學生在程式設計過程中出現錯誤,並能較好地理解網路協議的真正含義。

2)實踐教學內容。

網路程式設計技術課程屬於實踐性較強的課程,是培養學生理論聯絡實際的動手能力的重要環節,實踐能力的高低決定了開發者的水平,因此,其實驗教學成為課程重點關注的環節。在網路程式設計實驗練習的設計過程中,應考慮不同程度的學生對實驗題目難度的不同要求,採取循序漸進的方式,逐步提高學生的網路軟體程式設計能力。

網路程式設計實驗遵循如下3個原則:①實驗不求多而全,但要使每個實驗有代表性和啟發性,能夠啟發學生解決某一類問題或能觸類旁通,以促進學生思考;②每個實驗要有明確的目標和巨集觀的功能要求,並不限定實驗方案和具體的實現方法,鼓勵學生髮揮主觀能動性,自己設計實驗方案並程式設計加以實現;③實驗難度要循序漸進,實驗專案要具有可操作性。

綜合實驗應安排在網路程式設計技術課程結束後的一學期進行。安排一個稍具規模的網路程式設計應用開發專案,培養學生的團隊協作能力和綜合分析能力。這一階段學生已經掌握了網路程式設計的基本技能,所以安排的專案規模不能太小。

3教學方法與手段的改進

在過去幾年裡,筆者研究了多種教學方法和手段。在教學方法上,對基本知識點的傳授採用多媒體課件+啟發式+任務驅動相結合的方式。對應用技術知識點的傳授採用多媒體課件+案例教學+任務驅動相結合的方式。在教學手段上,採用現代化計算機輔助教學(網站)等手段,利用多媒體網路教室或實驗室採用互動教學方式,提高學生動手實踐的能力。下面給出教學過程中總結出的幾點經驗。

1)理解不是記憶。

課堂教學過程中,儘量讓學生理解相關概念與方法,而不是死記硬背。所以,採取“自底向上”的教學方法較好,因為在接觸新概念之前,與之相關的基礎知識必然都已學過,對理解新概念也就非常有幫助。採用“自頂向下”的教學方法固然能夠有效提高學生的興趣,但是,由於缺乏對底層的理解,有些學習較好的學生,通過自學相關概念能夠加深對新概念的理解,而有些程度較低的學生,由於沒有深究,過段時間就會忘記所學的內容。

2)自己動手,為未來作準備。

常常聽到企業的人抱怨:“網路工程專業的學生動手能力越來越差了。”造成這種局面的部分原因是教師的過分“熱心”,將案例設計得過於“完善”,實驗準備得也過於“充分”,以至於學生不費力氣就能完成題目,失去了對程式設計過程與藝術的體會。因此,要求學生必須在沒有幫助的情況下,儘可能獨立地完成程式設計任務。

3)發揮校企合作的優勢,提高實踐教學的比例。

網路程式設計技術是一門實踐性非常強的課程,通過網路程式設計實踐操作,使學生得到很好的綜合訓練,提高學生髮現問題、分析問題和解決問題的能力。實驗中設計性實驗和創新、綜合性實驗在課程中所佔比例較大,理論教學與實踐教材的比例由原來的2:1提高到1:1,比如總課時是64,那麼理論與實踐教學課時各犯課時。

此外,在設計綜合實驗案例與實驗過程中,發揮校企合作優勢,採取“請進來”與“走出去”相結合的手段,請企業有經驗的工程師走進課堂授課,講解實際案例的解決方法。相應地,將校內教師送去企業掛職,以提高實踐能力。

4結語

為了適應21世紀對人才能力的要求,我們必須與時俱進,堅持“理論教學與能力培養並重,強化網路應用軟體設計與程式設計能力培養”的網路教學改革理念。筆者此次教學改革從課程群的建設、教學內容的組織以及教學方法與手段的改進這3個方面對網路程式設計課程教學進行了探討。實踐證明,課程改革提高了學生的學習興趣和實踐技能,並使網路程式設計課程的教學質量得到提高。