閆秋玲
摘 要:目前,對于非計算機專業(yè)學(xué)生而言,C語言程序設(shè)計課程在實施過程中面臨一些問題,如偏重語法的學(xué)習(xí),抽象能力、調(diào)試能力得不到有效培養(yǎng)和提高。針對這些問題,提出了若干建議措施,如初學(xué)階段使用可視化編程工具,借助嚴肅游戲理解抽象難懂的概念、內(nèi)容,貫徹案例教學(xué)法等,并就考核方式提出了相關(guān)建議。
關(guān)鍵詞:C語言;可視化編程;教學(xué)改革
在很多高等院校,C語言是非計算機專業(yè)學(xué)生(尤其是理工科)所要學(xué)習(xí)的第一個編程語言。課程目的是培養(yǎng)學(xué)生通過編程分析、解決實際問題的能力。在實際教學(xué)中發(fā)現(xiàn),側(cè)重計算思維的培養(yǎng)是學(xué)生學(xué)會C語言的關(guān)鍵。如果不主動引導(dǎo)學(xué)生積極適應(yīng)計算思維,很多學(xué)生難以理解編程思路和程序?qū)崿F(xiàn)過程。
一、現(xiàn)存主要問題
(1)初學(xué)者易陷入語法學(xué)習(xí),而忽視計算意義。實際上,解決問題更依賴于邏輯流程,而非正確語法。目前我們所使用的大部分教材,都是按照語法編排的。面對這種教材,如果教師缺少全局觀,難免會陷入語法教學(xué)的陷阱,而學(xué)生學(xué)到的也是一堆零碎的語法知識。
(2)不重視抽象能力的培養(yǎng)。在實際教學(xué)時,往往忽視對學(xué)生抽象能力的培養(yǎng),容易停留在引導(dǎo)學(xué)生“知其然”的階段,而沒有進一步引導(dǎo)學(xué)生“知其所以然”。
(3)不重視調(diào)試能力的培養(yǎng)。在實際編程時,很多學(xué)生往往認為程序順利運行則萬事大吉,只看結(jié)果不管過程,這樣難免影響學(xué)生對所學(xué)知識的真正理解。
(4)不重視實踐。在C語言程序設(shè)計教學(xué)過程中,很多時間都放在課堂理論學(xué)習(xí)上,實踐時間嚴重不足。
二、措施
在解決上述問題時,要充分考慮非計算機專業(yè)學(xué)生的基礎(chǔ),循序漸進地引導(dǎo)。具體可從如下幾個方面著手。
1.初學(xué)階段借助可視化編程工具
可視化編程工具如Raptor、Scratch等,可使用戶不考慮語法要求,而側(cè)重于程序邏輯和流程。在初學(xué)階段,學(xué)生可通過使用可視化編程工具,熟悉算法設(shè)計和程序構(gòu)建過程,在后續(xù)學(xué)習(xí)中再展開語法細節(jié)的了解,繼而過渡到C語言編程環(huán)境。
2.嚴肅游戲
嚴肅游戲(Serious game)是指,將教育內(nèi)容通過游戲的方式進行布置與實施。嚴肅游戲具備兩個特點:①具有娛樂的一面,可以使人保持興趣并持續(xù)進行;②具有教育的一面,游戲環(huán)節(jié)貫穿了一定的知識,包含特定的教育目的?,F(xiàn)有的嚴肅游戲如Perobo、Code Hunt等。
3.重視調(diào)試環(huán)節(jié)
對于編程而言,會調(diào)試就是一件利器,學(xué)生需要盡早掌握這件利器。在初學(xué)階段,就應(yīng)強調(diào)調(diào)試的重要性,并引導(dǎo)學(xué)生習(xí)慣調(diào)試模式。這就要求教師在設(shè)計題目時多動腦筋。如下面這段程序,只有使用單步調(diào)試才能讓學(xué)生理解程序運行時變量的值,
int main( ) {
int a = rand( );
int b = rand( );
printf("a -b = %d\n",a -b);
return 0;
}
4.重視案例教學(xué)
在教學(xué)過程中,可以讓學(xué)生直接接觸實際問題,在解決問題的過程中掌握相關(guān)概念、語法、結(jié)構(gòu)等。在使用案例教學(xué)法時,有以下幾點需要注意:
(1)教師要精心設(shè)計案例。設(shè)計案例時,既要結(jié)合實際問題,又要融合教學(xué)內(nèi)容,要循序漸進。
(2)教師要避開計算機工具論的狹隘認識要求,教師要從宏觀和微觀層面掌握教學(xué)過程,引導(dǎo)學(xué)生培養(yǎng)認知領(lǐng)域的新感覺、新認識、發(fā)現(xiàn)新工具、新方法、新策略,進而最終用于指導(dǎo)其他學(xué)科和日常生活。
三、考核方式
傳統(tǒng)的考核方式側(cè)重于對知識點、理論的考核,而非實際的編程能力。我們需要采用重視實踐的考核方式,突出算法設(shè)計和函數(shù)調(diào)用方面的考察,突出對函數(shù)接口設(shè)計和算法流程設(shè)計的考核。
面對C語言程序設(shè)計教學(xué)中的一些問題,進行分析和探討,并嘗試給出一些解決方案,如借助可視化編程工具、采用嚴肅游戲、開展案例教學(xué)法、重視程序的調(diào)試等。由于目前流行的教材都是按照知識點進行組織的,使得合理的教學(xué)改革措施難以有效落實,后續(xù)我們將探討教材結(jié)構(gòu)和內(nèi)容的組織問題。
參考文獻:
[1]徐 明,馬 黎.非計算機專業(yè)C語言課程實驗教學(xué)改革研究與探索[J].遼寧省交通高等??茖W(xué)校學(xué)報,2012(6).
[2]包貴鑫,向洪波.C語言教學(xué)研究與實踐[J].大眾科技,2006(6).