肖曉端
摘 要:C語言是一門通用的計算機程序設(shè)計語言,具有豐富的功能,表達(dá)力強,目標(biāo)程序效果高,可移植性強的特點。許多中等職業(yè)學(xué)校和技工類學(xué)校的計算機類專業(yè)開設(shè)了C語言程序設(shè)計課程。但是近幾年來,這門課程的教學(xué)都沒有能取得良好的學(xué)習(xí)效果。本文重點介紹了如何通過采用趣味程序教學(xué)法,增加趣味實例的講解和編程設(shè)計,培養(yǎng)學(xué)生對C語言的學(xué)習(xí)興趣,以增強學(xué)生的學(xué)習(xí)效果。
關(guān)鍵詞:C語言 學(xué)習(xí)興趣 趣味程序 實例
一、教學(xué)過程中存在的問題及產(chǎn)生問題的原因
1.絕大部分學(xué)生文化基礎(chǔ)差,開始學(xué)習(xí)時經(jīng)常會產(chǎn)生厭倦感
C程序設(shè)計這門課程,一般在新生入學(xué)的第一個學(xué)期或第二學(xué)期就開設(shè)了,是學(xué)生接觸的計算機編程的入門課程。這門課程結(jié)合了語言、算法、數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計方法等方面的知識。學(xué)生對著這些知識相當(dāng)陌生,而且很多內(nèi)容跟他們所熟悉的知識內(nèi)容不相同,使他們經(jīng)常感覺這些內(nèi)容很難理解,枯燥無味,從而產(chǎn)生厭倦感。
2.對編程語言的學(xué)習(xí)方法不能適應(yīng)
大部分學(xué)生在開始學(xué)習(xí)這門編程語言時,還是沿用了之前舊的學(xué)習(xí)方法,而這門新課程的內(nèi)容是需要很好去記憶和注意的,他們就沒能很好地掌握起來。
3.學(xué)生上課注意力不集中,上機實踐課缺乏積極主動性
在理論課教學(xué)中,學(xué)生面對著課本上大量抽象概念的理論內(nèi)容,就會出現(xiàn)注意力不集中的現(xiàn)象。而到上機操作環(huán)節(jié),教師要學(xué)生自己編寫一道程序,學(xué)生往往需要很久才會編出來,并且如果一個小程序由于錯誤運行不出,就馬上放棄編程。有的學(xué)生看到編程題,就提不起精神去編寫,一旦沒有動手解決問題的欲望,就經(jīng)常偷偷地玩游戲。
二、C語言設(shè)計課程教學(xué)建議
要解決上面所遇到的三種情況,教師在學(xué)生開始學(xué)習(xí)的時候就要指導(dǎo)他們這是一門新課程,在學(xué)習(xí)上要用新的學(xué)習(xí)方式來學(xué)習(xí)。在教學(xué)方式上,教師要盡量降低C語言的難度,在講解理論知識點的過程中,增加一些趣味性的程序,使學(xué)生能從中學(xué)到知識。
1.從教學(xué)語言上提高趣味性
在課堂教學(xué)上,教師要使用趣味幽默的語言,接近生活。這樣既激發(fā)學(xué)生的學(xué)習(xí)興趣,又能引發(fā)學(xué)生積極思考和制造輕松的氣氛,也能讓學(xué)生輕松地接受知識,增強學(xué)習(xí)的興趣和學(xué)習(xí)動機,從而也使學(xué)生接受這位老師。
2.增加趣味練習(xí),提高學(xué)生的學(xué)習(xí)興趣
興趣是一個人力求認(rèn)識和趨向某種客體的積極態(tài)度的個性傾向。培養(yǎng)學(xué)生學(xué)習(xí)興趣,是提高課堂教學(xué)效果的重要途徑。怎么從枯燥的C語言中解脫出來,讓學(xué)生提高興趣去學(xué)習(xí)呢? 我們可通過編寫小游戲程序或與生活相關(guān)的程序來提高它的趣味性,這樣程序設(shè)計就像電腦游戲一樣充滿好奇,富有樂趣。
(1)從簡單的單輸出語句開始。我們都知道,現(xiàn)在好多課本第一章基礎(chǔ)知識里,都有這樣一道編程題:“在屏幕上打印出‘Hello, world”,這個是學(xué)習(xí)編程的第一個程序。我們可以把這個輸出改成中文的問候語句,在第一次上課時,讓學(xué)生感覺到親切,覺得這門課程可以將日常生活中的一些行為運用進(jìn)來。
(2)隨著學(xué)習(xí)的深入,我們還可以編寫其他有趣的程序。傳統(tǒng)的講授型教學(xué)方法是灌輸式的,是能較好地保證所講授知識的系統(tǒng)性,但學(xué)生的學(xué)習(xí)思維和學(xué)習(xí)的積極性都處在被動狀態(tài),達(dá)不到理想的教學(xué)效果。
為了使學(xué)生能夠?qū)W習(xí)掌握課本中相關(guān)的知識,對編程產(chǎn)生的興趣,在教學(xué)過程中,教師要先從對學(xué)生有意義的問題出發(fā),然后在講解的過程中,把產(chǎn)生的問題與實際的例子結(jié)合起來,讓學(xué)生能夠發(fā)現(xiàn)并找到解決的方法。在這種方法中,我們可以將這些現(xiàn)實問題與計算機語言結(jié)合到一起,降低問題難度,使得學(xué)生對C語言有了印象,從而提高了學(xué)習(xí)的興趣,使處于被動狀態(tài)的學(xué)習(xí)轉(zhuǎn)為主動的學(xué)習(xí)。例如我們可以給學(xué)生演示一些簡單地用C語言編寫的圖形或讓學(xué)生利通scanf()和printf()這兩個標(biāo)準(zhǔn)輸入出函數(shù)編寫短小的程序。這樣可以增強程序的趣味性,同時可以提高學(xué)生的興趣,使學(xué)生覺得這種的編程比較有趣。從“簡單”開始,慢慢再加大學(xué)習(xí)難度。
每一個人對一些比較有趣的事情都是非常感興趣的。在教學(xué)講解實例的時候,我們可以適當(dāng)?shù)丶尤胍恍┥畹睦?,充分利用學(xué)生的好奇心,增強了他們學(xué)習(xí)程序語言的積極性。比如我們講解循環(huán)語句時可以利用這樣的例子。有三對情侶舉行婚禮,三個新郎為A,B,C,三個新娘為X,Y,Z。有人不知道他們誰和誰結(jié)婚,于是詢問了六位新人中的三位,但聽到的回答是這樣的:A說他將與X結(jié)婚;X說她的未婚夫是C;C說他將與Z結(jié)婚。這人聽后知道他們在開玩笑,全是假話。這里面,他到底誰跟誰結(jié)婚呢?
對于這樣的問題,我們先把新郎A,B,C用1,2,3來表示。從題目的敘述中,我們可以得出下面的內(nèi)容,A不與X結(jié)婚,即X≠1;X的未婚夫不是C,即X≠3;C不與Z結(jié)婚,即Z≠3;同時題意還隱含著X,Y,Z三個新娘不能結(jié)為配偶,則有:X≠Y且X≠Z且Y≠Z。
我們把問題變成普通的判斷式,將式子寫出來以后,可以利用列舉法的推理運算列出所有可能出現(xiàn)的情況。
每一個循環(huán)表示每一個人都有三種可能性。在這所有的可能中,滿足全部條件的兩人即為情侶。這個例子既滿足學(xué)生對問題的好奇心,又貼近生活,還能充分地說明C程序中循環(huán)結(jié)構(gòu),特別是多重循環(huán)的使用。這樣既可以充分調(diào)動學(xué)生學(xué)習(xí)的積極性,將學(xué)生的從被動學(xué)習(xí)方式轉(zhuǎn)換為主動學(xué)習(xí)方式,同時提高教學(xué)的質(zhì)量,達(dá)到預(yù)期效果。這樣的現(xiàn)象也叫自我效能感,讓學(xué)生能夠意識到計算機的編程語言是可以解決很多生活上的實際問題,因此也激發(fā)他們聽課的興趣。當(dāng)然這樣的例子還有很多,教師們要充分利用多媒體的功能,從不同的角度,不同的方面來提高教學(xué)的效果。
3.設(shè)計不同層次的編程實踐環(huán)節(jié),培養(yǎng)學(xué)生的動手能力
對于學(xué)生,要讀懂一條程序并不是特別難,但是讓他們自己根據(jù)問題來編寫程序,很多學(xué)生就望而卻步了。這時,我們就要根本學(xué)生的情況,設(shè)計編寫一些適合他們的編程題目。比如說,我們在講解條件分支語句時,我們可以利用生活中用來判定閏年的問題,來讓學(xué)生自己分析判別的計算方法,找出判斷方法后,用相應(yīng)的語句來實現(xiàn)。分階段地實現(xiàn)編程的內(nèi)容,使得學(xué)生能品嘗到階段性的成功,增強學(xué)生攀登知識高峰的信心和勇氣。
同時根據(jù)對學(xué)生知識掌握情況的了解,將學(xué)生進(jìn)行搭配分組。在編寫小規(guī)模程序時,學(xué)生自己可以通過相互間的討論,對程序的每個部分進(jìn)行分工,通力合作,最后完成整個程序的編寫任務(wù)。這樣促進(jìn)不同層次學(xué)生的全面提高,也能培養(yǎng)學(xué)生如何將所學(xué)知識來應(yīng)用到實際問題上,培養(yǎng)學(xué)生的互助互幫,團(tuán)隊合作的精神和集體觀念。
教學(xué)方法是一門藝術(shù),每個人所用的方法都不盡相同。教師不僅要懂得專業(yè)的知識,更重要的是要懂得如何把自己的專業(yè)知識傳授給學(xué)生。C 語言的教學(xué)雖有一定難度,但要取得良好的教學(xué)效果,就要了解學(xué)生的心理,在各種不同教學(xué)方法的嘗試下,找到符合學(xué)生實際的教學(xué)方法,采用多種形式與方法去激發(fā)學(xué)生的學(xué)習(xí)興趣與學(xué)產(chǎn)動力,提高了教學(xué)的趣味性,這樣學(xué)生才能很好地掌握和運用所學(xué)到的知識,就能收到良好的教學(xué)效果。
參考文獻(xiàn):
[1]王新萍,鄭靜.C語言程序設(shè)計教程[M].北京:電子工業(yè)出版社,2010.
[2]譚浩強.C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2005.
[3]白熾貴.C語言案例教程(第2版)[M].北京:電子工業(yè)出版社,2009.
[4]本書編寫組.全國計算機等級考試二級教程C語言程序設(shè)計[M].北京:高等教育出版社,2005.
[5]蔣桂梅.提高C語言程序設(shè)計的教學(xué)趣味性[J].福建電腦,2007(7).
(作者單位:廣東省粵東技師學(xué)院)