張 淼 佟曉筠 張 華
(哈爾濱工業大學計算機科學與技術學院,黑龍江 哈爾濱 264209)
計算機專業的高校畢業生應具有較強的網絡編程能力,否則無法滿足當今社會的需求。“網絡編程技術”課程作為計算機專業的專業課程,正是在這一背景下開設的,是在學習計算機網絡等網絡類課程和程序設計等基本編程技術課程的基礎上,深入系統地學習計算機網絡編程技術,從而培養學生分析和解決實際網絡問題的能力。
實驗教學作為與理論學習同時進行的實踐類課程,它能及時地對學生所學的知識進行訓練,能促進學生對理論知識的消化吸收及活學活用。因此,如何有效地組織實驗教學,使它成為課堂教學的有益補充,從而解決學時有限的問題,是非常值得思考的問題。國內許多專家對網絡編程技術的實驗教學進行了研究。實踐證明,這些實驗教學模式都有助于提高學生網絡編程的能力。但是,就以下兩方面仍有發展的空間:①進一步提高學生學習的主動性、積極性、創造性。②加強基礎知識和綜合知識的學習過渡。文本結合筆者多年的教學經驗,在借鑒上述教學方法的基礎上,基于有效教學理論,從實驗教學方法、實驗教學內容和實驗考核方式多方面提出網絡編程技術實驗課的教學模式,力圖做到使學生在有限的學時內有效的學習,深入系統地掌握網絡編程技術。
有效教學是教學過程合規律性、有效果、有效率、有效益的教學。學生發展是有效教學的最終目標,促進學生的學習成效、培養學生的創新精神和實踐能力,使學生充分發揮主動性和創造性的教學是有效教學。
網絡編程技術實驗課程的有效教學應為學生提供科學、寬松的理論聯系實際的動手機會,使學生充分發揮主動性和創造性,進而學生得到網絡編程的能力。根據有效教學的理念,筆者從實驗教學目標、實驗教學內容、實驗教學方法和考核方式四個方面提出改進的網絡編程技術實驗課的教學模式。
該實驗教學模式的終極目標是有效教學,首先在有效教學思想的指導下確定實驗教學目標,然后依據該教學目標和有效教學的思想確定實驗教學內容,最后根據實驗教學內容和有效教學的思想確定實驗教學方法和實驗考核方式。
實現有效教學首選要明確教學目標。教師要讓學生知道“學什么”和“學到什么程度”。為了實現“網絡編程技術”實驗課程的有效教學,首先需要確立該課程的實驗教學目標。教學目標是教學活動實施的方向和預期達成的結果,是一切教學活動的出發點和最終歸宿。教學目標一經確定,就對教學活動起著控制作用。在“網絡編程技術”課程的實驗教學中,要增強系統性、設計性和綜合性,體現原理、方法、技術和應用的有機結合。
設計教學目標為:加深學生對理論知識的學習和理解;使學生掌握網絡編程技術,建立起系統化、工程化的概念;培養學生發現問題、解決問題和分析問題的能力,使他們能夠在應用中發現問題、解決問題和分析問題;使學生能夠熟練運用網絡編程技術設計和開發復雜網絡應用。需要注意的是,對學生進行實驗教學的目的是對其網絡編程能力和網絡編程綜合素質的培養,而不僅僅是通過實踐熟悉某些函數庫。這一教學目標中體現的是實驗的系統性、設計性和綜合性,本著“授之以漁”的目標,以及對學生學習能力的培養,從而實現有效教學。
根據實驗教學目標和有效教學的思想,我們設計了分層次的實驗教學,具體分為基礎型實驗、進階型實驗、綜合型實驗3個層次,由淺入深,層層深入,前一層是后一層的基礎,后一層是前一層的深入,引導學生逐步掌握網絡編程技術。
基礎型實驗的立足點是加深學生對課堂理論知識的理解和掌握,掌握網絡編程基本技術,為后續的進階型實驗和綜合型實驗打下基礎。在實驗內容安排上,這一類型的實驗主要是驗證性實驗,是對課堂講授的理論知識的驗證和應用。在基礎實驗這一部分嚴格按照教師既定安排的實驗內容和實驗順序進行,從而達到讓學生深入理解理論知識,掌握網絡編程技術的目的。然而基礎實驗內容往往會限制學生的思路,使學生局限在某幾個領域的實驗項目上,缺乏對學生主動、獨立性的訓練,同時也不利于理論知識點的聯系。因此在學生做完基礎實驗后要進行后面的進階型實驗和綜合型實驗以補充基礎實驗。
進階型實驗主要在基礎實驗的基礎上進行高級網絡編程的訓練,編寫高質量的網絡應用程序。在這部分實驗中,我們從效率、可靠性、兼容性、安全性四個方面訓練學生編寫網絡程序。
在效率上我們主要有三個著眼點:其一:多客戶端并發訪問服務器時的效率低下及癱瘓問題;其二:由于TCP協議的特點,提高基于TCP協議的網絡應用程序的效率問題;其三:編寫程序的程序運行效率。在多客戶端并發訪問問題中,讓學生詳細分析I/O模型、多線程、多進程、共享線程池及其他并發處理方案,并對這些方案的優缺點進行對比。
在可靠性方面,分別針對TCP程序的可靠性和UDP程序的可靠性進行練習。對于TCP程序的可靠性,我們設計一些網絡異常情況的實例讓同學進行分析,從而給出相應的策略。對于UDP程序,模擬UDP不可靠的幾種情況讓學生統計分析并給出自己的解決方案和相應的程序。
在兼容性方面,主要針對在編程實現時針對不同類型的操作系統和IPV4與IPV6網絡的兼容性。
在安全性方面,主要包括安全套接字和安全編程能力的訓練。通過基礎實驗中訓練的套接字技術,進一步掌握安全套接字編程技術。安全編程主要訓練學生在網絡編程中應對軟件安全問題而采用的防御性編程方法。
綜合型實驗是在基礎型實驗和進階型實驗的基礎上,鍛煉學生對網絡編程技術和方法進行綜合應用的能力。在綜合型實驗中,主要以具體應用項目為實驗內容,模擬真實項目開發過程。由于項目的特點,這部分實驗我們采取團隊合作的方式完成,3-4個學生為一個小組,培養學生團隊意識,鍛煉學生分析問題、解決問題的能力。
在教學方法上我們采取解決問題式教學和教師指導方式相結合的教學方法。在實驗中主導思想是給學生充分的空間,鍛煉學生解決問題的能力,同時教師也要給予學生適當的指導。在實驗中要充分發揮學生的主動積極性,每個實驗都是以問題方式呈現,給學生較大的思維空間,要求學生獨立解決問題,調動學生的學習興趣,從而達到掌握知識的目的。同時教師在教學過程中要實時觀察學生的實驗操作,必要時給予指導。在指導過程中要少示范,多啟發,給學生留下獨立思考的空間。對于普遍存在的問題要集中演示,引導學生思考并完成實驗內容。
2.1 對于基礎型實驗,與理論教學同步進行,實驗的效果可以間接反映出學生對課堂教學知識的掌握理解程度及存在的問題。對于這部分實驗,我們采取在每次實驗課結束時直接考核給成績的方式。這樣既可以防止學生相互抄襲,又可以使一些平時上課不認真、想投機取巧的學生放棄僥幸心理,認真對待課堂教學和實驗教學,從而督促學生的學習。
2.2 對于進階型實驗要求學生完成后將實驗結果提交并當場回答教師問題的方式進行。對于每個進階型實驗我們給出限定時間,教師按照學生提交結果的正確性和時間長短給分。通過進階型實驗的考核我們可以充分鍛煉學生的思維,考查學生對知識的靈活掌握程度和系統性。
2.3 對于綜合性實驗的考核采取答辯和提交報告相結合的方式進行,每個學生演示他所做的結果、設計內容和設計思路,教師根據答辯結果和報告情況給予分數評定。
依據“網絡編程技術”課程的知識特點,以有效教學理論為指導,在實驗教學目標、實驗內容、實驗教學方法和實驗考核方式問題上探討了網絡編程技術課程的實驗教學模式。在實驗內容上提出了基礎型實驗、進階型實驗和綜合型實驗三個不同層次的實驗形式。在實驗教學方法上提出解決問題式教學和教師指導方式相結合的教學方法。在實驗考核方法上對不同層次的實驗采用不同的考核方法,及時激勵和督促學生的學習。經過實踐證明,這種教學模式是可行的,取得了明顯的教學效果。實驗教學模式的探索是長期不斷的創新過程,還需要不斷努力,使“網絡編程技術”課程實驗教學逐步完善。
[1]劉杰彥,向渝,詹思瑜.計算機網絡編程的教學與實驗探討.實驗技術與管理.2015,13(1):115-117,162
[2]姚利民.中外教育家有效教學思想初探.中國教育學刊.2015,(5):32-36