饒雪峰 郭振軍

摘要:針對原有網絡程序設計教學方案的不足,結合應用型本科高校的實際情況,從教學內容、教學方法進行了改革探索和研究。新的教學方案在考慮學生原有知識能力水平的基礎上,反映了物聯網、大數據時代對網絡編程能力的內在需求,在引導學生把知識與實踐相結合的過程中,提升了學生自主學習的積極性,對培養學生的理論知識和實踐運用能力,起到了積極作用。
關鍵詞:網絡編程;教學改革;Python
中圖分類號:G642.0? ? ?文獻標志碼:A? ? ?文章編號:1674-9324(2019)39-0100-02
網絡程序設計課程是物聯網工程、網絡工程專業的專業限選課,目的是培養學生掌握網絡系統開發的基本原理,具備網絡應用系統的開發和設計能力。
目前,國內多所大學的計算機相關專業,均開設了此類課程[1]。在教學內容上,強調與操作系統Socket套接字機制相結合,以套接字的應用為核心,輔以網絡報文的構造及解析,多進程、多線程等并發編程方法的講解,并以實現簡單應用層協議的軟件系統作為實踐教學內容。然而,教學編程語言較為底層,開發環境較為復雜,對學生的編程能力和計算機系統理論基礎要求較高,對于應用型本科院校的學生,掌握起來有一定困難[2]。基于以上現實,提出了基于Python進行教學改革的設想并加以實踐,讓學生專注于對知識邏輯層面的理解、組織和運用,減輕開發任務中對編程技術細節的掌握負擔,在有限的學時內,開發出貼近實際需求的網絡應用。這對增強學生的專業學習信念、激發自主學習動力,能起到積極的促進作用。
一、現有教學方案的不足
現有方案以操作系統和協議報文結構為核心,強調對計算機網絡、操作系統、C/C++等先修課程的綜合運用,對于培養專門從事網絡軟件系統開發的人才,起到了重要作用。
然而,隨著近年來技術的迅猛發展和社會需求的演變,原有教學方案中的不足也越發明顯:
1.技術路線略顯陳舊。Windows下的MFC已經相對陳舊,微軟官方和業界已經逐漸棄用MFC框架,轉向純WindowsAPI+C++11或.NET平臺。
2.教學內容偏重底層,未能充分貼合當前技術熱點和需求焦點。現有方案通常基于MFC/C++代碼,展示網絡報文解包和封包過程,雖對掌握計算機網絡體系理論有著重要的意義,但其內容在實際應用開發中,并非不可替代。隨著云計算、大數據、物聯網等應用的迅猛發展,諸如Web API、網絡數據采集、分布式系統、自動化運維等各類網絡應用層出不窮[3],新時代的網絡程序設計課程,應當講求時效,讓學生能夠登堂入室,樹立嶄新的網絡系統全局觀。
二、教學方案設計
1.調整思路。(1)反思課程定位,突出培養目標。結合應用型本科院校的培養實際情況,授課重點應從協議底層向應用系統開發基礎轉移。通過對典型網絡應用案例的剖析講解,呈現知識之間的關聯性,并加以總結,幫助學生領會網絡體系結構的內在規律。在socket編程的基礎上,圍繞并發編程代碼模式、應用層圍繞諸如HTTP協議進行講解實踐,在具備較強的實用性和趣味性的同時,仍要突出其基礎性和系統性。(2)改用解釋型語言作為教學語言,充分發揮其開發高效性。為突出互聯網、大數據的應用需求,適宜選擇更易學習上手的編程語言。Python具備C的簡潔、解釋性語言的開發高效性和Java的跨平臺部署能力,在網絡編程應用中也得到了業界的充分認可,目前,Python在TOIBE編程語言排行榜上位列第4,從眾多語言中脫穎而出[4]。
2.教學內容設計。(1)內容選取和編排的原則。①知識貴在精而不在多。在保證知識體系完整性的前提下,優先保證核心知識的理解和掌握,不貪大求全。②講述順序應強調其知識點之間的內在邏輯性。a.突出Socket套接字編程和傳輸層協議特性的關聯性。b.突出HTTP協議在當前實際應用中的主體地位。c.結合操作系統機制,講解網絡應用的IO密集性,如何選取合適的并發編程策略。(2)總體內容安排及學習分配。突出基礎和貫通性,課程內容具備自包含性,課程中會安排適度的冗余,強調把關鍵問題講透,體現出課程之間的關聯性[5]。
三、教學方法設計
1.強調學生對知識的理解和運用。通過采取提問式的教學講解,培養學生主動思考的意識;強調案例演示,用貼近實際應用的程序,揭示知識點之間的聯系[6],從而加深學生對問題的理解,提升其解決問題的能力。
2.充分考慮學生對新知識的接受能力,提升知識傳達的有效性。每次教學,應當圍繞一到兩個中心概念進行學習,否則教學強度較大,易產生超限效應。根據構建主義學習理論,用學生已有的概念經驗來描述新的知識點。比如在講解Python協程的行為時,用給被調試語句下斷點的方式進行類比,有效消除了學生對新知識點的陌生感。
3.對教學過程實施反饋收集和動態調控策略。以填寫在線問卷的方式,既可以提前了解學生對先修知識的掌握情況,又可以檢查課程教學是否達到了預期效果。通過反饋,設置有針對性的鞏固練習,最終達成培養目標。
四、結語
通過此次教學改革探索,將Python語言引入課堂,配合貼近實際的案例講解,有效提升了學生的學習熱情。通過積極對教學內容進行反饋調控,提高了學生的課堂參與度。反饋結果表明,學生的網絡系統全局觀得到提升,對網絡編程方法有了初步掌握,達到了學以致用的目的。
受限于多方面因素,探索實踐中仍存在較多不足,有待后續改進:
1.考慮到學生的專業基礎,部分內容并沒有作較高要求,比如并發編程的部分。
2.Python在培養方案上未作為必修課程,難免會占用一些寶貴的課時。
3.課堂教學手段較為傳統。后續應考慮利用翻轉課堂等方法,提高學生的學習自主積極性。
參考文獻:
[1]紀其進.網絡工程專業網絡程序設計課程探討[J].計算機教育,2010,(23):74-77.
[2]胡慶輝,阮曉霞,陸玉靖.應用型本科計算機專業“網絡程序設計”課程教學改革探索[J].教育教學論壇,2015,(28):276-278.
[3]肖鵬,路瑩,李媛媛.以就業為導向的網絡程序設計課程教學改革[J].計算機教育,2013,(14):21-23.
[4]嵩天,黃天羽,禮欣.Python語言:程序設計課程教學改革的理想選擇[J].中國大學教學,2016,(02):42-47.
[5]祁暉,崔廣才,從立鋼.網絡程序設計教學改革探索[J].重慶與世界:學術版,2013,30(8):70-72.
[6]蔣崢崢,陳曉紅,王進,等.網絡工程專業“網絡程序設計”課程的案例教學實踐[J].計算機教育,2013,(2):27-31.
Exploration on Teaching Reform of Network Programming in Python
RAO Xue-feng,GUO Zhen-jun
(Guilin University of Aerospace Technology,Guilin,Guangxi 541004,China)
Abstract:Aiming to resolve shortcomings of the original network programming course teaching scheme,combined with the actual situation of the applied undergraduate colleges,the reform and exploration of the teaching content and teaching methods were carried out.Based on the students' original knowledge ability,the new teaching plan reflects the inherent needs of the Internet programming ability in the Internet of Things and Big Data era.It promotes students' independent learning in the process of guiding students to combine knowledge and practice.The enthusiasm has played a positive role in cultivating students' theoretical knowledge and practical application ability.
Key words:Network Programming;teaching reform exploration;Python