[摘要]高職院校以培養應用型人才為目標,要求學生具有較強的實踐和應用能力。本文在分析了高職院校C語言教學中普遍存在的問題后,闡述了教學改革的思路,并針對高職院校及筆者所在多媒體專業的特點提出了一些具體的改進方法。
[關鍵詞]C語言 程序設計 教學改革 高職院校
許多院校的計算機類專業都開設了C語言程序設計課程,并將其作為學生學習程序設計的入門課程,這與C語言的特點是分不開的。C語言不但可以編寫系統程序,而且可根據用戶需求編寫應用軟件,尤其是C語言具有很好的對硬件的編程能力。同時,C語言具有邏輯性強、處理問題周密、嚴謹的特點,是集知識和技能于一體,實踐性很強的課程。學生通過學習C語言可以掌握程序設計的一些基本方法和技巧,因此,高職院校中很多專業同樣開設了這門課程。然而C語言的數據類型較多、表達式豐富、語法結構較復雜,加上現有教材主要是對本科教材的縮寫,使它成為一門教師難教、學生難學的課程。因此,針對高職院校的特點,如何講授好這門課程,是值得我們探討的一個問題。
高職院校C語言課程現狀分析
高職院校學生入學成績與本科院校有一定差距,一部分學生的學習自覺性較弱。然而,高職院校的C語言課程受傳統教學理念的影響,加上現有教材主要是對本科教材的縮寫,比較重視理論教學,因而普遍存在以下幾個問題:(1)學生學習目標不夠明確,興趣不高,理論課不愛聽。(2)現有實驗大多以解決一些數學問題為例,雖然經典,但對許多高職院校的學生而言,無法調動其積極性。(3)現有教材中上機實驗往往立足于C語言本身的一些語言規則,和實際應用脫節,沒有較容易理解和生動有趣的范例,比較枯燥。(4)雖然上機實驗的比例較高,但在傳統教學模式下,上機實驗與理論講授分離,加之學生積極性不高,上機作業抄襲現象較多,實驗時間往往沒有得到有效利用。(5)忽略了高職院校學生的專業特點和需求。
以筆者所在的多媒體專業為例,很多學生認為自己的專業方向是動畫,為何要學習編程?由于不直觀,多數學生對于例題中的數學問題完全不感興趣。另一方面,該課程的教學往往忽略專業特點,以多媒體專業為例,盡管學生在今后的學習工作中很少會使用C語言編程,然而各種多媒體軟件中往往會使用到編程技術,例如FLASH。各種軟件中所用的編程語言雖各不相同,但所涉及到的編程技巧和算法都是基本相似的。因此,學生學習C語言這門課程主要是理解編程的概念以及學習編程的思路和算法,使其在今后的應用中能夠舉一反三。這也就要求我們在教學過程中不能把過多的精力放在語法和語句上,而要根據高職院校的特點從教學理念的更新到教學實踐的改革不斷地進行探索。
高職院校C語言課程教學實踐探討
1.更新觀念、實踐為主、不斷探索。學生通過C語言的學習,主要是為了掌握程序設計的一些基本方法和技巧。只有在實踐中才能正真學會如何編寫和調試程序,體會到“優化”程序;也只有通過上機實踐才能更好地掌握理論。因此,必須加強實驗環節。這也正好符合高職院校的培養目標。當然,怎樣進一步搞好實踐教學仍需要我們在教學實踐中不斷探索。
2.簡化操作、強化算法、弱化語法。程序設計與其他學科的知識結構有很大區別,加之學生早已習慣于圖形化的操作界面,開始學習C語言后,突然進入一個英文的界面和鍵盤操作,反差很大。導致學生產生排斥感。為減輕排斥,讓學生容易上手,可簡化入門實驗操作:初次上機,先弱化程序的編譯、連接等概念和操作,進入TC編譯環境后,直接教學生存盤、運行和查看結果的快捷鍵。讓學生一上機就能看到成果。將程序的編譯、連接等單步操作和對TC編譯環境的進一步認識留在后面的實驗中逐步了解。
許多教師在教學過程往往注重C語言本身的學習,沒有考慮到高職院校及所任教專業的特點,容易把教學重點放在語法上,這樣既降低了學生的興趣也不實用。所以在教學中可以適當弱化對語法的學習,把編程解題思路放在首位,使學生在理解編程思想的基礎上掌握必要的語法,從而加強對學生分析問題和解決問題能力的培養。
3.案例驅動、注重實驗、強調效果。生動的案例可增強學生的學習熱情,讓學生從枯燥的語言學習中解放出來,實驗在一定程度上提高了學生編寫、調試、優化程序的能力。在教學中不局限于教材,多舉實例,通過案例實踐學習理論。例如,將數據類型的學習放在介紹輸出語句的同時,讓學生上機看到直觀的結果,效果更好。
媒體演示、結合軟件、增強興趣
多媒體教學不能是簡單的使用ppt課件。有效利用多媒體設備,圖形化地演示文字難以表達的問題,加之利用一些編程語言與C語言風格相似的應用軟件,可以使課堂教學直觀而生動,增強學生的興趣,加快學生的理解。例如,現在流行的Flash,以動畫中的關鍵幀、元件為對象,使用腳本語言ActionScript編寫程序,實現各種動畫和交互性。可以在教學中播放一些Flash動畫,并講解其中程序。從而增進效果,這是傳統的課堂講授方式所不能比擬的。
首先,穿插使用Flash動畫可以提高學生興趣。例如,在介紹函數的概念時通常會類比數學中的函數,但是這樣的講解往往不能引起學生的興趣,這時可以演示如下Flash動畫:一只小貓的眼睛跟隨鼠標移動。先用這種有趣的交互性動畫吸引學生,然后講解。動畫中以小貓的眼睛影片剪輯為對象,其代碼如下:
onClipEvent(mouseMove){
eye_mc._rotation=Math.atan2(_root._ymouse-_y,_root._xmouse-_x)*180/Math.PI;
updateAfterEvent();
}
其中的atan2()計算正切值,用此實例解釋函數的作用及參數。通過這種方法可以激發學生興趣活躍課堂氣氛,使理論課變得生動。
其次,穿插使用Flash動畫實例可以促使學生認識到這門課的意義。在學習了C語言后就可以很容易地使用其他風格相似的語言,還可以促進專業課的學習。例如,演示一個Flash小游戲:卡通小狗由鍵盤方向鍵控制,骨頭分別由畫面兩端相向運動,如與小狗相撞就減分,且小狗會出現不同的表情。其部分代碼如下:
onClipEvent(enterFrame){
if(this._x<=50){
this._x=350;
this._y=random(300)+50;
}else{
this._x-=10;
}
if(this.hitTest(this._parent.dog)){
_root.dog.gotoAndStop(\"hit\");
_root.dog._x=random(300)+50;
_root.dog._y=random(300)+50;
_root.count--;
}
}
其語句與C語言中類似,講解if語句時結合以上實例,分析動畫的原理,讓學生重點理解算法,明白學習編程思路和方法的重要性。
通過應用軟件中的實例可以激發學生的主動性,解決了很多學生面對C語言課程學習目標不明,興趣不高的問題。
并且與實踐相結合,突出了其實用價值,體現了高職高專的特點。另外,結合各專業特色,還可多舉相關例題,這樣也為其他軟件的學習打下了良好的基礎。例如,將相關的Flash動畫作為例題,也可解決很多學生在制作Flash動畫中遇到編程就頭疼的問題。
C語言是一門很有用的程序設計課程,在教學中必須針對專業特點緊扣高職教育培養“應用型技術人才”這一特色。在教學中樹立以實踐為主導,理論為實踐服務的觀念,不斷
改革創新,進一步完善高職院校C語言課程的教學。
參考文獻
[1]譚浩強.C語言程序設計[M].北京:清華大學出版社,2000.01.
[2]譚浩強.C程序設計(第二版)[M].北京:清華大學出版社,1999.12.
[3](韓)李在容.Flash8完全自學手冊[M].中國青年出版社,2006.10.
金肯職業技術學院江蘇南京