摘要:在科學技術進一步日新月異的今天,網絡應用編程作為一門理論實踐結合非常緊密的課程,改革顯得越加重要。文章總結了筆者六年教學的經驗,從教材教輔建設、小班化和雙語教學手段等多個方面探討了教學改革過程中的收獲、經驗和教訓。
關鍵詞:網絡應用編程;課程建設;教學改革;小班化教學;雙語教學
作者簡介:沙俊星,男,講師,研究方向為計算機網絡和數據庫。
隨著網絡技術的快速發(fā)展和網絡應用的大量涌現(xiàn),高校網絡工程專業(yè)只學習零散的程序設計等課程已經遠遠不能滿足實際需要了,有針對性地向學生傳授網絡應用的綜合設計與開發(fā)技能,進行從理論知識到實踐技能的強化訓練顯得愈加重要[1]。
我們從2006年開始進行網絡工程專業(yè)的一系列課程改革,經過近六年的建設,取得了非常顯著的效果。
1教材等硬件建設
2006年之前的教材已經無法滿足技術日新月異的發(fā)展需求了,所以教學改革首先是從教材入手的。
1.1教材改革
教材改革要明確兩點:課程的地位;學生需要學什么。那么首先就應該弄清網絡工程專業(yè)主干課程的體系結構,如圖1所示。
圖1網絡工程主干課程體系結構
可以看出,這些專業(yè)課是和學生日后走向工作崗位需要用到的實際工作技能緊密結合的。而網絡應用編程課程和其他專業(yè)課的相同點是以計算機網絡原理作為先修課程,不同點是作為一門程序設計課,學生需要預先掌握的知識和技能更多。
課程目的是要讓學生掌握網絡開發(fā)的基本知識技能,分為兩大部分:
1) 掌握基于套接字(Socket)底層應用開發(fā),能夠編寫TCP/IP協(xié)議通信程序;
2) 掌握基于HTTP協(xié)議的上層應用開發(fā),能夠編寫Web應用服務。
第一部分是當前幾乎所有網絡應用的基礎;第二部分則代表了當前因特網的主要應用方向。
綜合考查網絡應用編程及其先修課程的關系,可以得到圖2。
圖2網絡應用編程和先修課程的關系
網絡應用編程的地位和重要性在于:是先修課程的“理論”與日后走向工作崗位的“實踐”之間必不可少的一環(huán),起到了很好的承上啟下作用。
為了滿足課程要求,我們于2008年自編并出版了《網絡應用程序設計教程》教材,教材嚴格遵循上述需要讓學生掌握的兩大部分技能,第一部分選擇C和C++語言,講解基于套接字的服務器和客戶端程序設計;第二部分選擇C#語言,講解基于ASP.NET和ADO.NET的Web應用開發(fā)。語言和開發(fā)技術均以C和C++為基礎,使學生產生很強的親和感。在講述基本理論之后,輔以大量由簡到難的實例,使學生一步一步學下來能夠為編制豐富多彩的網絡應用程序奠定堅實的基礎。
1.2其他硬件改革
結合新編寫的教材,我們設計了完整的教案、幻燈片、實驗指導書和案例教學等素材。對于案例教學而言,案例的質量對教學效果的影響至關重要,網絡應用編程這門課有兩個特點:一是實踐性很強,而且因為偏向于應用,所以其中的知識點很散,如果沿用普通的板書加幻燈片的教學方法,效果肯定很差;二是整個課程分成兩個部分:Socket編程位于TCP/IP協(xié)議棧的應用層之下,ASP.NET編程位于TCP/IP協(xié)議棧的應用層之上,兩者之間相對獨立,但又有很強的關聯(lián)性,主要體現(xiàn)在HTTP協(xié)議這一部分。
其中有三大主要案例,它們和課程知識點之間的關系如圖3所示。
圖3教學案例路線圖
2教學方法和手段
教材等硬件條件具備齊全之后,就是如何在教學中靈活運用了。
2.1教學方法的改革
隨著改革開放和社會的發(fā)展,教育領域也越來越多地開始學習和借鑒一些新的理念和方法[2]。在網絡應用編程、計算機網絡原理等課程的教學中也采用了小班化[3]、雙語教學[4]等新方法。
小班化的人數一般不超過三十人,比起以前動輒超過百人的大課,小班化對教學質量的改進有著顯著的提升作用,體現(xiàn)在:
1) 學生的聽課效率明顯提高。在上百人的大教室中,坐在后排的學生經常會面臨聽不清,看不見的尷尬境況,而小班化由于人數少,這種情況基本不會出現(xiàn)。
2) 教師上課壓力大為減輕。維持上百人課堂秩序會占用相當多的教學時間,而在小班化課堂上,不用過多關注課堂秩序,能夠更專心于教學,教學質量自然就提升上去了。
3) 實驗、作業(yè)設置合理化。為上百人的班級設計實驗和作業(yè),因為人數多,勢必要考慮到批改和考核效率,所以不可能太靈活,而小班化人數少的優(yōu)勢使得實驗和作業(yè)可以非常靈活地進行設計,甚至在實驗課上和一個多個學生現(xiàn)場討論和指導也成為可能,這在以前是無法想象的。
在教學實踐過程中,利用小班化的特點,我們試驗了課堂討論、學生自主學習等新方法,取得了一些效果,也走了很多彎路,究其原因,最根本在于沒有明確教學的目的。
當我們談起傳統(tǒng)的蘇式教育理念的時候,總是和“填鴨式”、“死板”之類的詞語緊密不分,但是在一味貫徹當今流行的美式教育新理念的時候,是否應該冷靜下來思考一下這樣做的目的到底是什么呢?
誠然,高校教育培養(yǎng)的是學生德智體全方面的能力,而不是單純教授一項工作技能。但是能力必須以知識作為基礎,沒有知識基礎的“素質教育”、“培養(yǎng)能力”只能是空中樓閣。所以,知識和能力都必須具備,而知識是第一位的。
衡量一個教學方法是否得當,并不是看它用了多少新概念、新名詞和新方法,而得看它能否很好地服務于教育的目的、它的效果是否顯著。鄧小平同志講過:不管黑貓白貓,抓到老鼠就是好貓。不論采用何種手段,都是服務于最終的目的,這才是最關鍵的。而且事實上我們所片面認識的美式教育也并不是一味地追求各種新方法,從麻省理工學院的公開課程中可以看到,不同的教師的教學風格千差萬別,甚至我們所鄙夷的“填鴨式”也大有人在。所以“東施效顰”學到的只能是四不像,迥異風格背后隱藏的明確的教學目的才是我們真正需要學習的。
例如我們發(fā)現(xiàn)如果過分強調課堂討論而忽視了正常的教師授課環(huán)節(jié),就會帶來很多弊端:首先學生獲取知識的數量和質量大打折扣;其次參與討論的大多是自主學習能力較強的學生,而能力弱的一般也不會參與討論,這樣就造成了兩極分化;最后學生會花很大精力準備每一次的討論,浪費很多時間。所以面對不同課程,甚至不同水平的的學生,都不能千篇一律地冠以類似于課堂討論一樣的教學方式,而應該靈活地應對。
網絡應用編程在雙語教學改革中就汲取了以前的教訓。我們首先明確了到底為什么要雙語,能夠給學生帶來什么好處:計算機科學的飛速發(fā)展致使絕大多數的新知識無法找到對應的中文版,所以學生必須具備閱讀、查找英文資料的能力并習慣使用英文界面的工具。根據以往的經驗教訓,如果連最基本的課堂授課都采用英文的話,絕大部分學生甚至都聽不懂。如果基礎知識都無法掌握,之上的能力培養(yǎng)又從何談起呢?所以在課堂教學、教材選用以及幻燈片使用上我們都堅持中文化,在確保學生打牢扎實的基礎之上,給他們提供英文版的參考教材,另外實驗用的開發(fā)工具和幫助軟件都是英文的,輔以課后答疑及實驗課現(xiàn)場講解,上述的目的很輕松就達到了,實踐證明效果非常好。
2.2教學手段的靈活運用
為了達到網絡應用編程既定的教學目標,必須靈活運用多種教學手段,但是不能一味地“為運用而運用”,應以服務于目標為指導,能夠達到好效果的手段才是好手段。而且我們發(fā)現(xiàn)不同屆的學生基礎知識水平和能力等方面差別還是非常大的,所以教學手段必須靈活選擇,不同的學生,甚至不同的階段都應該使用不同的手段,我們的幻燈片幾乎每一年都有大的變動,甚至在課程進行的過程中也會修改。
俗話講“萬變不離其宗”,靈活的手段背后蘊藏著下面三個不變的原則。
1) 狠抓基礎。
上面講過,扎實的理論知識是其他一切的基礎。雖然網絡應用編程實踐性很強,但是如果沒有上述先修課程的基礎,學生只能淪落為照本宣科使用開發(fā)工具的軟件藍領,只會使用現(xiàn)成的技術而缺乏主動選擇合適技術或者在現(xiàn)有技術上二次開發(fā)的能力。技術的日新月異帶來了開發(fā)技術和工具的飛速變革,理論基礎就像燈塔一樣,能使學生不至于在繁雜的工具和技術里迷失方向。
自主學習依靠的是學生主觀上愿意這么做,而很多學生存在態(tài)度不端正、學習積極性不高等諸多問題,對他們就不能一味強調“自主”。我們的做法是“胡蘿卜與大棒雙管齊下”:強制性的手段一定不能缺。
2) 引導興趣。
沒有興趣的學習過程是痛苦的,也是低效率的。所以在上課過程中應該時刻注意培養(yǎng)學生的興趣。學生總是喜歡看實際的演示的,編程課在這一方面也具有天生的優(yōu)勢。但是也對教師提出了更高的要求:首先自己必須精通程序設計技術,能夠在課堂上現(xiàn)場編寫小型演示程序;其次因為程序很難一次編寫就成功,所以教師還需要具備一定的應變能力。
在課后輔導的過程中也發(fā)現(xiàn),學生是不缺時間和精力的,他們課外興趣是很多,但是大部分跟學習的課程不相關,所以如何把學生興趣往課上引導十分重要。教師必須對自己的專業(yè)抱有濃厚興趣,因為一個具有濃厚興趣的教師所帶來的言傳身教的影響力是無可比擬的。
3) 培養(yǎng)能力。
在打牢基礎的條件之上,學生綜合能力的培養(yǎng)也是至關重要的。對于網絡應用編程課,學生具備的能力可以分3個層次:
(1) 知其然(What)。
也就是俗話講的“是什么”,也就是理論知識基礎。知其然之后,基本的程序就會寫了。
(2) 知其所以然(Why)。
在理論知識基礎上學生必須知道為什么這么做。這就要求學生做到能夠與先修課程的融會貫通,在授課過程中必須時刻關注學生有沒有忘掉之前學到的知識,如果忘了就要及時復習。
(3) 知其所以所以然(How)。
對一部分學習良好的學生,在上述兩項能力具備之后,應該提出更高的要求:計算機網絡本質上是工程性質的學科,是人設計的,為什么要這樣設計?背景是什么?能夠解決什么問題?換一種設計方法行不行?如果學生能在這一方面深入下去,那么就能夠
達到“自主學習”的最高境界,這也是學生最終在工作崗位上應該具備的素質和能力。
3結語
隨著計算機技術的日益普及化,未來的網絡編程將成為人們生活工作的必備技能,這就需要針對不同人群,對課程教學方式做不同的的調整和改進。下一步的工作還很多,例如在教材第二版中需要加大知識量,并融入課外相關知識等等。
參考文獻:
[1]