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