周金玲
(濰坊學(xué)院,山東 濰坊 261061)
C語言是應(yīng)用最廣的程序設(shè)計(jì)語言之一,由于其較難掌握,令絕大部分初學(xué)者感到抽象且難以理解,這直接影響了學(xué)生對計(jì)算機(jī)語言學(xué)習(xí)的積極性。加之,學(xué)校對C語言理論課時(shí)安排的縮減,教師在規(guī)定的課時(shí)內(nèi)必須完成教學(xué)任務(wù),傳統(tǒng)“黑板式”教學(xué)方式速度慢,無法按時(shí)按量完成教學(xué)任務(wù),目前課堂教學(xué)大多采用多媒體授課方式,雖具有生動形象、一目了然、圖文并茂等優(yōu)點(diǎn),然而也存在弊端,如傳遞知識量大,放映過程導(dǎo)致教師講課在不知不覺中速度加快,若學(xué)生課前或課后對該課程不做預(yù)習(xí)和復(fù)習(xí),則預(yù)期的授課效果不佳,容易走入“滿堂灌”教學(xué)的誤區(qū),教師在教學(xué)工作中遇到很多困難。為此研究和探索新的教學(xué)方法和教學(xué)手段對提高C語言教學(xué)效果尤為重要。
不僅僅是C語言,對所有課程來說,教師上好第一堂課對以后學(xué)生學(xué)習(xí)該課程將起到極大的作用。如果第一堂課學(xué)生就對本課程產(chǎn)生了濃厚的興趣,那么接下來的學(xué)習(xí)就會輕松很多,那么教師該如何上好第一堂課呢?要上好第一堂課就要想辦法讓講課內(nèi)容生動、富有吸引力,因?yàn)檫@直接關(guān)系到學(xué)生對該課程的興趣。對C語言來說,第一堂課教師可以演示一個(gè)用C語言編寫的趣味小游戲。學(xué)生看完之后,給學(xué)生說明這是用咱們即將學(xué)習(xí)的這門課程做的程序,學(xué)生看到了學(xué)完課程之后的用處,自然對C語言的興趣就來了。
C語言是一門編程課程,如果教師上課純粹講理論會使課程枯燥、乏味、抽象難以理解,所以在教學(xué)過程中通過一個(gè)個(gè)實(shí)例結(jié)合多媒體來展示C語言的應(yīng)用,這樣會使學(xué)生對所學(xué)知識點(diǎn)更加直觀和清晰的掌握。例如,在講多重循環(huán)時(shí),我們可以舉打印圖形的例子:先編程打印一行十個(gè)“*”;再修改成打印十行十列“*”。如圖1。
寫程序打印一行十個(gè)“*”,這對學(xué)生來說并不難,程序段如下:
for(i=1;i<=10;i++)
printf(“*”);
printf(“\n”);
接下來打印十行十列的圖形,因?yàn)樯厦娴某绦蚨尉褪谴蛴∫恍惺畟€(gè)“*”,那么我們把該程序段重復(fù)十次就可以打印出一行十個(gè)“*”,程序段如下:
圖1 打?。?/p>
for(j=1;j<=10;j++)
{
for(i=1;i<=10;i++)
printf(“*”);
printf(“\n”);
}
該程序由兩個(gè)循環(huán)組成,在執(zhí)行時(shí),通過設(shè)計(jì)斷點(diǎn),程序每執(zhí)行一次循環(huán)就暫停一下,對照執(zhí)行結(jié)果,學(xué)生就能很明白的掌握雙重循環(huán)。
當(dāng)然實(shí)例教學(xué)離不開多媒體,通過多媒體一步一步的演示,才能讓學(xué)生更清楚的掌握知識點(diǎn)。另外,在選擇教學(xué)實(shí)例時(shí)應(yīng)做到“科學(xué)性、趣味性、應(yīng)用性和易學(xué)性”的要求,并按照不同的學(xué)習(xí)功能進(jìn)行分類。除此之外,實(shí)例教學(xué)一定要充實(shí)實(shí)例庫,做到實(shí)例拿來即用。
對于程序設(shè)計(jì)課程,理論學(xué)習(xí)和上機(jī)實(shí)訓(xùn)都是非常重要的。布置編程作業(yè)對大多數(shù)學(xué)生來說有一定的難度,會讓編不出程序的學(xué)生產(chǎn)生挫敗感,于是對以后的學(xué)習(xí)喪失了信心。因此必須改變這種傳統(tǒng)的教學(xué)方式,讓學(xué)生真正掌握程序設(shè)計(jì)的思想和方法,能夠靈活的運(yùn)用語言編程。既然編寫整個(gè)程序會讓學(xué)生覺得太難,那教師可以把上機(jī)任務(wù)簡單化,把一個(gè)完整的程序空出重點(diǎn)語句部分讓學(xué)生填空,或者把程序修改后讓學(xué)生改錯(cuò),讓學(xué)生上機(jī)調(diào)試,既可避免編不出程序而使學(xué)生產(chǎn)生挫折感,又可培養(yǎng)學(xué)生主動思考的學(xué)習(xí)態(tài)度和程序改錯(cuò)的能力,加深對知識點(diǎn)的理解。待到學(xué)生有一定的編程基礎(chǔ)后,教師便可以布置一些較難的任務(wù),這樣循序漸進(jìn)的訓(xùn)練,激發(fā)了學(xué)生學(xué)習(xí)興趣,培養(yǎng)了問題求解和編程能力。另外老師布置的作業(yè)一定是要有代表性的程序題,讓學(xué)生在有限的上機(jī)時(shí)間內(nèi)充分理解和掌握知識點(diǎn)。
另外一個(gè)普遍出現(xiàn)的情況就是學(xué)生的上機(jī)作業(yè)存在抄襲現(xiàn)象,很多同學(xué)編寫的程序完全相同,錯(cuò)誤出現(xiàn)的地方也完全一樣。所以教師在布置作業(yè)的時(shí)候盡量做到不同的同學(xué)完成的作業(yè)不一樣,比如說編寫循環(huán)程序題,可以有的同學(xué)用for循環(huán)語句,有的用while,有的用do-while。用同一種循環(huán)的可以循環(huán)次數(shù)不一樣。當(dāng)然不同的知識點(diǎn)要想能做到所有學(xué)生都不抄襲,就要教師自己動腦筋想辦法。還有對于學(xué)生上機(jī)過程中普遍出現(xiàn)的錯(cuò)誤,進(jìn)行集中提示、講解以增加學(xué)生的印象。
對同一個(gè)班的學(xué)生來說,因?yàn)閬碜圆煌牡貐^(qū),學(xué)生計(jì)算機(jī)水平良莠不齊,所以C語言的教學(xué)必須注重因材施教。對計(jì)算機(jī)水平高的可以讓他們提前預(yù)習(xí)后面的內(nèi)容,在布置作業(yè)時(shí)可以給他們布置難度大點(diǎn)的。如果這部分學(xué)生想要探討更深的問題,可在課下單獨(dú)輔導(dǎo)。現(xiàn)在網(wǎng)絡(luò)發(fā)達(dá),教師也可以與學(xué)生在線交流。對計(jì)算機(jī)水平差點(diǎn)的,教師更應(yīng)該耐心輔導(dǎo),用一些更簡單的實(shí)例讓學(xué)生掌握知識點(diǎn)。
本文分析了目前高校C語言教學(xué)過程中存在的問題,并研究和探討了在教學(xué)實(shí)踐中如何提高C語言教學(xué)質(zhì)量,達(dá)到C語言教學(xué)在程序設(shè)計(jì)能力培養(yǎng)中的目標(biāo)。然而教學(xué)是一門藝術(shù),教學(xué)方法探討永無止境。計(jì)算機(jī)技術(shù)發(fā)展迅速,C語言教學(xué)方法在教學(xué)實(shí)踐中更需要不斷的改進(jìn)和創(chuàng)新。任何教學(xué)方法只有在一定的條件下才會顯示出優(yōu)勢及其使用的范圍,所以我們也要緊跟時(shí)代的發(fā)展,對教學(xué)進(jìn)行實(shí)時(shí)的知識更新,并不斷地進(jìn)行深入研究和探討,才能適應(yīng)目前應(yīng)用型人才培養(yǎng)的需要。
[1]張磊.C語言程序設(shè)計(jì)[M].2版.北京:高等教育出版社,2009.
[2]譚浩強(qiáng).C程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2005.
[3]何元惠,高占國,楊靜.C程序設(shè)計(jì)語言教學(xué)方法探討[J].中國科技信息,2007,(3):209-211.