劉英 劉海濤
摘要:C語言是高職院校計算機(jī)專業(yè)開設(shè)的一門專業(yè)基礎(chǔ)課程,對后續(xù)學(xué)生學(xué)習(xí)編程、設(shè)計有重要影響。該文結(jié)合作者多年教學(xué)實踐經(jīng)驗,根據(jù)高職學(xué)生的特點,分析C語言程序設(shè)計教學(xué)過程中存在的問題及成因,提出教學(xué)改革策略,以期提高教學(xué)質(zhì)量。
關(guān)鍵詞:C語言;教學(xué)改革
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)26-6122-02
C語言程序設(shè)計作為計算機(jī)類專業(yè)的核心基礎(chǔ)課,在專業(yè)體系中占有重要的地位。學(xué)好C語言,不僅為后續(xù)C++、Java等課程奠定良好的基礎(chǔ),同時也是從事軟件編程的必備能力。但是在實際教學(xué)中發(fā)現(xiàn)很多高職學(xué)生認(rèn)為C語言界面灰暗、語法繁雜、枯燥無味,對C語言望而生畏,難以達(dá)到良好的教學(xué)效果。不少學(xué)生雖然學(xué)習(xí)了C語言,但是不會使用C語言進(jìn)行編程,更不用說解決實際問題了。針對這種情況,結(jié)合多年教學(xué)經(jīng)驗,提出C語言程序設(shè)計教學(xué)改革的一些看法和建議。
1 高職C語言程序設(shè)計教學(xué)現(xiàn)狀及存在問題
1.1 學(xué)生文化基礎(chǔ)差,C語言學(xué)習(xí)入門難
高職生源廣泛,既有普高生,也有職高生,還有中職對口升學(xué)上來的,當(dāng)然還包括一部分自主招生錄入的學(xué)生。不論以何種方式進(jìn)入高職,他們總體文化基礎(chǔ)比較差,對C語言學(xué)習(xí)起來比較困難。一方面,C語言的運(yùn)行環(huán)境不論是Turbo C還是Visual C++都是純英文運(yùn)行環(huán)境,對英語能力要求較高,而我們的學(xué)生在英語方面恰恰是弱項。另一方面,編程能力的培養(yǎng)對學(xué)生的邏輯思維能力要求較高,我們的學(xué)生相反,形象思維能力好一點,邏輯思維能力大都較弱。所以基礎(chǔ)差導(dǎo)致學(xué)生入學(xué)之初看到C語言的運(yùn)行環(huán)境,還沒有開始學(xué)習(xí)怯步了。
1.2 學(xué)生缺乏學(xué)習(xí)C語言的興趣
C語言程序設(shè)計在教學(xué)中既有語法的學(xué)習(xí),也有編程思想如程序結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)等的學(xué)習(xí)。C語言數(shù)據(jù)類型和運(yùn)算符豐富,語法限制不太嚴(yán)格,程序設(shè)計的自由度很大,這本來是C語言的優(yōu)點,但是對于初學(xué)者來說,這些恰恰都變成了缺點,增加了學(xué)生學(xué)習(xí)的難度,再加上部分教師在教學(xué)過程中從語法開始,按部就班,缺乏貼近生活的實例,導(dǎo)致學(xué)生學(xué)了很多語法,確寫不出一個程序,久而久之,對C語言的學(xué)習(xí)便失去了興趣。
1.3 缺乏良好的教學(xué)方式
在教學(xué)過程中,大部分教師和學(xué)生注重課本知識的學(xué)習(xí)。教師先在教室里講解課本內(nèi)容,然后在機(jī)房實踐中學(xué)生將老師講過的程序錄入到機(jī)器中,運(yùn)行出正確的結(jié)果就完事大吉了。這樣的教學(xué)方式,學(xué)生沒有明確的學(xué)習(xí)目標(biāo),老師的指揮棒指到哪里,學(xué)生執(zhí)行到哪里,學(xué)生沒有思考問題的習(xí)慣,完全忽略了學(xué)生的主動性、創(chuàng)造性。一旦遇到?jīng)]有老師指導(dǎo)的情況,學(xué)生就會無從下手。
1.4 實踐教學(xué)環(huán)節(jié)薄弱
C語言程序設(shè)計作為編程的入門基礎(chǔ)課,不僅要求學(xué)生掌握一定的語法,最重要的是培養(yǎng)學(xué)生的邏輯思維能力從抽象思維轉(zhuǎn)向C語言的計算思維,能用C語言的方式思考問題,掌握基本的編程方法。這些都需要在大量的實踐中進(jìn)行練習(xí),實踐教學(xué)的效果對C語言學(xué)習(xí)的成功與否至關(guān)重要。在我們的實踐教學(xué)環(huán)節(jié)中,基本上還延續(xù)著幾十年約定俗成習(xí)慣,理論課完畢后,老師布置與其相符的任務(wù),學(xué)生通過上級來驗證上課的內(nèi)容是否正確,不論是教師還是學(xué)生都重視程序運(yùn)行的結(jié)果,忽視程序設(shè)計的過程。其次在實踐教學(xué)環(huán)節(jié)中選取的例子都是課本上的例題,這些題目往往更注重C語言本身的語法規(guī)則,離社會實際比較遙遠(yuǎn),學(xué)習(xí)之后不能解決實際問題。再次在上課過程中,一位老師指導(dǎo)眾多學(xué)生,無法詳細(xì)的為每位學(xué)生進(jìn)行輔導(dǎo),學(xué)生遇到問題也是一知半解,實踐課不能起到鞏固理論課學(xué)習(xí)的作用。
1.5考核方式單一
大部分院校對C語言的考核都以考試為主,操作為輔,或者干脆不進(jìn)行操作考核。這種單一的考核方式注重語法,忽視學(xué)生的動手能力和解決實際問題的能力,也導(dǎo)致學(xué)生在學(xué)習(xí)過程中極易出現(xiàn)重語法輕編程能力培養(yǎng)的現(xiàn)象,本末倒置,不能達(dá)到良好的教學(xué)效果。
2 高職C語言程序設(shè)計教學(xué)改革對策
2.1激發(fā)學(xué)生學(xué)習(xí)C語言的興趣
C語言是程序設(shè)計的入門基礎(chǔ)課,在此之前學(xué)生根本沒有接觸過程序,也不知道什么是算法,對C語言的一切都是陌生的。如果我們在教學(xué)中再照本宣科,按部就班,學(xué)生肯定會畏學(xué),甚至厭學(xué)。因此在C語言學(xué)習(xí)過程中,激發(fā)、培養(yǎng)學(xué)生的興趣至關(guān)重要。當(dāng)學(xué)生從內(nèi)心深處對所學(xué)課程感興趣時,他們就會主動去學(xué)習(xí),在學(xué)習(xí)C語言之初,我們要多準(zhǔn)備一些用C語言編制的解決實際問題的例子演示給學(xué)生看,讓學(xué)生直觀的感覺到C語言是有用的,可以解決實際問題的。同時提供一些簡單的驗證性的實例讓學(xué)生親自上機(jī)操作運(yùn)行,讓學(xué)生感覺到他們也可以編程,逐漸培養(yǎng)學(xué)生的興趣。
2.2 培養(yǎng)學(xué)生的編程思維——用C語言的方式進(jìn)行思考
在C語言教學(xué)中一個難點是興趣的培養(yǎng),另一個就是編程思維的培養(yǎng)。我們早已習(xí)慣現(xiàn)有的思維方式,但是C語言使用的卻是自己獨有的機(jī)器思維方式。在剛學(xué)C語言的時候,大部分學(xué)生都不理解明明3+2一看就知道等于5,我們卻在C語言中定義變量,進(jìn)行運(yùn)算再輸出結(jié)果這樣復(fù)雜而又陌生的方法來解決這個小學(xué)生都會的問題。學(xué)生們大感困惑與迷茫,實際上這就是C語言的處理方式,即輸入à處理à輸出。其中的處理過程最為關(guān)鍵,也就是算法,編程能力最核心的體現(xiàn)。我們要培養(yǎng)的就是學(xué)生的算法能力,在教學(xué)中,時刻讓學(xué)生用C語言的方式來思考問題,解決問題。
2.3 靈活多樣的教學(xué)方法
C語言程序設(shè)計主要培養(yǎng)學(xué)成的編程能力,這個學(xué)習(xí)的過程比較枯燥,不像Photoshop、Flash等課程形象、直觀、生動,因此在教學(xué)過程中要使用多種教學(xué)方法,使學(xué)生易于接受。例如在講到變量交換時很多學(xué)生不理解為什么要引入中間變量,引入中間變量進(jìn)行交換后他們眼花繚亂,變量不知所蹤。那么我們在教學(xué)中完全可以使用現(xiàn)實中的實例——兩個人交換座位,來進(jìn)行模擬變量交換,學(xué)生馬上就理解為什么引入中間變量了。我們要善于從生活中發(fā)掘?qū)嵗?,是我們的學(xué)生更好的掌握C語言。
2.4 加強(qiáng)實踐鍛煉
要想成為一名合格的程序設(shè)計師,就必須在實踐中鍛煉,不斷積累編程經(jīng)驗。在實踐教學(xué)環(huán)節(jié)安排上,要既有驗證型程序,鞏固學(xué)生課堂所學(xué)知識,也要有擴(kuò)展型程序,培養(yǎng)學(xué)生自主學(xué)習(xí)能力。二者缺一不可。只有驗證型程序,學(xué)生學(xué)習(xí)沒有動力,只要錄入代碼即可;如果只有擴(kuò)展型程序,學(xué)生因為太難會無從下手,只有二者結(jié)合起來,循序漸進(jìn),才能不斷提高學(xué)生的編程能力。
2.5 建立立體式教學(xué),拓展學(xué)生學(xué)習(xí)空間
隨著信息技術(shù)和教育技術(shù)的發(fā)展,網(wǎng)絡(luò)、電腦和手機(jī)的便捷使用,我們的教學(xué)也應(yīng)該與時俱進(jìn),結(jié)合這些高科技,建立全方位立體式教學(xué)環(huán)境,拓展學(xué)生學(xué)習(xí)的空間。我們建立了課程教學(xué)網(wǎng)站,學(xué)生可以在線編程,系統(tǒng)在線監(jiān)測程序正確與否;教師也可以在線考試,檢測學(xué)生對知識的掌握程度。只要有網(wǎng)絡(luò),學(xué)生就可以進(jìn)行C語言的學(xué)習(xí)。同時積極鼓勵同學(xué)參加各種程序設(shè)計大賽,如藍(lán)橋杯、ACM程序設(shè)計大賽等,以賽促教,以賽促學(xué),激發(fā)學(xué)生學(xué)習(xí)興趣,形成良好的學(xué)習(xí)氛圍。
3 結(jié)束語
高職院校C語言程序設(shè)計教學(xué)改革,不是一蹴而就的工作,需要我們長期堅持,不斷在實踐中總結(jié),提升,在教學(xué)過程中以教師為主體,發(fā)揮學(xué)生的主導(dǎo)作用,輔之以行之有效的教學(xué)方法,一定可以提高教學(xué)效果。
參考文獻(xiàn):
[1] 方紅琴,立體式C語言程序設(shè)計教學(xué)改革探討[J].計算機(jī)教育,2012(12).
[2] 丁輝.高職C語言程序設(shè)計教學(xué)改革研究[J].計算機(jī)教育,2014(3).
[3] 屈喜琴,石卉,陳忠貴.高職高專C語言程序設(shè)計教學(xué)改革探索[J].軟件導(dǎo)刊,2012(6).
[4] 池云.高職C語言程序設(shè)計教學(xué)改革的研究[J].遼寧行政學(xué)院學(xué)報,2011(4).