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