邢春燕 張愛正
20世紀(jì)90年代以來,C語言迅速在全世界普及推廣。無論在中國還是在世界各國,“C語言程序設(shè)計(jì)”始終是高等學(xué)校的一門基本的計(jì)算機(jī)課程。C語言程序設(shè)計(jì)在計(jì)算機(jī)教育和計(jì)算機(jī)應(yīng)用中發(fā)揮著重要的作用。無論計(jì)算機(jī)專業(yè)學(xué)生還是非計(jì)算機(jī)專業(yè)學(xué)生,都應(yīng)當(dāng)學(xué)習(xí)程序設(shè)計(jì)知識,并且把它作為進(jìn)一步學(xué)習(xí)與應(yīng)用計(jì)算機(jī)的基礎(chǔ)。
非計(jì)算機(jī)專業(yè) 學(xué)習(xí)潛能 學(xué)習(xí)興趣 創(chuàng)新
眾所周知,全國計(jì)算機(jī)等級考試二級考試中之一就是C語言,而且隨著時(shí)代的發(fā)展,在許多高校中除了計(jì)算機(jī)專業(yè)開設(shè)C語言課程外,對于非計(jì)算機(jī)專業(yè)也開設(shè)了這門課,C語言的教學(xué)是計(jì)算機(jī)教學(xué)中的重點(diǎn)和難點(diǎn),能夠體現(xiàn)學(xué)生的邏輯思維能力和推導(dǎo)能力,提高學(xué)生的分析問題和解決問題的能力。那么對于計(jì)算機(jī)專業(yè)的學(xué)生都感到學(xué)習(xí)有難度的課程,對于非計(jì)算機(jī)專業(yè)的學(xué)生應(yīng)該如何講課才能讓學(xué)生愛學(xué)并去輕松掌握知識呢,以下是筆者的一些見解。
一、激發(fā)學(xué)生學(xué)習(xí)興趣
很多學(xué)生認(rèn)為C語言這門課難學(xué),對于非計(jì)算機(jī)專業(yè)沒有什么用處,學(xué)習(xí)沒有動力,這些問題不容回避。所以在講課開始時(shí)應(yīng)該讓學(xué)生明確學(xué)習(xí)C語言的重要性和實(shí)用性:C語言在高級語言中有著舉足輕重的作用,與C++、C#、VC關(guān)系極為密切,可以開發(fā)學(xué)生的邏輯思維并提高其推導(dǎo)能力為學(xué)習(xí)其專業(yè)課程打下良好的基礎(chǔ)。通過學(xué)習(xí)程序設(shè)計(jì),學(xué)會進(jìn)一步了解計(jì)算機(jī)的工作原理,更好地理解和應(yīng)用計(jì)算機(jī);掌握用計(jì)算機(jī)處理問題的方法;培養(yǎng)分析問題和解決問題的能力;具有編制程序的初步能力。即使將來不是計(jì)算機(jī)專業(yè)人員,由于學(xué)過程序設(shè)計(jì),理解軟件生產(chǎn)的特點(diǎn)和生產(chǎn)過程,就能與程序開發(fā)人員更好地溝通與合作,開展本領(lǐng)域中的計(jì)算機(jī)應(yīng)用,開發(fā)與本領(lǐng)域有關(guān)的應(yīng)用程序。另外在講課的時(shí)候可以用學(xué)生比較熟悉,比較感興趣的問題去講解內(nèi)容。比如說,講課的時(shí)候把函數(shù)的首部比作人的“頭”,把函數(shù)的函數(shù)體比作人的“身體”,學(xué)生就比較容易接受。再有講解經(jīng)典實(shí)例——Fibonacci數(shù)列時(shí),引用“兔子的繁殖問題”,學(xué)生就比較感興趣,從而喜歡學(xué)了。還可以在學(xué)一個新的知識體系前,用這些新知識設(shè)計(jì)一些可以吸引學(xué)生的實(shí)際例子。比如,在講授選擇和循環(huán)結(jié)構(gòu)時(shí),可以讓學(xué)生做一個“猜數(shù)”游戲,學(xué)生覺得有趣,聽課的興趣明顯提高。學(xué)生對C 語言課感興趣了,學(xué)起來就有了動力,教起來才能事半功倍。實(shí)踐表明,在學(xué)習(xí)C語言的過程中有的學(xué)生反映學(xué)習(xí)C語言比學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)要簡單,可見激發(fā)學(xué)生的學(xué)習(xí)興趣是多么的重要。
二、激發(fā)學(xué)生學(xué)習(xí)的潛能
在教學(xué)過程中,通過各種教學(xué)方式和手段激發(fā)學(xué)生的學(xué)習(xí)欲望,使其積極投入到學(xué)習(xí)活動中,發(fā)現(xiàn)問題,提出問題,并逐步解決問題。例如,在講解實(shí)例時(shí),不是簡單地給出程序清單,而是從分析問題入手,找出解決問題的方法,再給出算法,最后編寫出完整的程序,經(jīng)過編譯、鏈接、運(yùn)行從而得出最后的結(jié)果。而在這一過程中,較關(guān)鍵的是每一步都采用與學(xué)生一起探討的方式,讓學(xué)生在啟發(fā)下思考,在思考中解決問題,也讓其在解題過程中體驗(yàn)到自己的成功感受,從而掌握獨(dú)立分析問題、解決問題的方法。為培養(yǎng)學(xué)生綜合應(yīng)用知識的能力,通過對完整的項(xiàng)目的系統(tǒng)分析,培養(yǎng)學(xué)生良好的編程習(xí)慣,善于獲取他人經(jīng)驗(yàn)的能力以及掌握綜合運(yùn)用所學(xué)知識的能力,從而真正提高編程水平。
三、培養(yǎng)學(xué)生的算法思想
C語言教學(xué)的目的,不僅要使學(xué)生掌握語言的基本規(guī)則,更要切實(shí)提高其編程解決實(shí)際問題的能力和實(shí)現(xiàn)算法的能力。在學(xué)習(xí)C語言這門課的過程中,算法的培養(yǎng)尤為重要,算法即為了解決某一個特定的問題而采取的方法或步驟。算法是靈魂,不掌握算法就是無米之炊。因?yàn)槌绦虼a的編寫過程實(shí)際上就是將事先的求解思路用C語言的語句來加以實(shí)現(xiàn)的過程。沒有求解思路,那么得到的肯定是一個錯綜混亂的程序代碼。所以正確的求解思路就是必要的,如果求解思路不正確,那么必將得到一個錯誤的程序,所有的一切必將付之東流。所以在講C程序語言課時(shí)一定要強(qiáng)調(diào)算法思想,并且貫穿整個講課的始終。
四、培養(yǎng)學(xué)生的創(chuàng)新意識
C語言是一門理論加實(shí)踐的課,只有滿腹經(jīng)綸,不能解決實(shí)際問題,必須上機(jī)實(shí)踐,只有通過上機(jī)操作讓學(xué)生將書寫的程序代碼上機(jī)運(yùn)行調(diào)試并得到預(yù)期的結(jié)果才算真正解決問題,才算是真正掌握了一門技巧,也才能使學(xué)生真正理解、真正消化課堂上的理論知識,因此要以應(yīng)用、實(shí)踐為目的,注重培養(yǎng)應(yīng)用能力,大力加強(qiáng)實(shí)踐環(huán)節(jié),激勵學(xué)生創(chuàng)新意識。教學(xué)中堅(jiān)持上機(jī)實(shí)驗(yàn)課與理論教學(xué)課相結(jié)合,使上機(jī)實(shí)驗(yàn)與理論教學(xué)協(xié)調(diào)同步,特別是時(shí)間、內(nèi)容上要銜接好,講完課要及時(shí)上機(jī)并保證上機(jī)效果,需要特別強(qiáng)調(diào)的是,要先講課后實(shí)踐,而且兩者相隔時(shí)間不能太長,時(shí)間長學(xué)生早已把課上聽到的內(nèi)容忘記,所以要及時(shí)上機(jī)實(shí)踐,多實(shí)踐是學(xué)習(xí)掌握C語言的必經(jīng)之路。對于同一個問題,可以讓學(xué)生分組進(jìn)行思考,讓其考慮不同的方法來解決,最后通過講解評比,讓學(xué)生互補(bǔ)所長,互補(bǔ)所學(xué),從而提高了學(xué)生的學(xué)習(xí)動力,培養(yǎng)了學(xué)生的創(chuàng)新意識。
五、運(yùn)用豐富的教學(xué)方法
為了讓學(xué)生更好地學(xué)習(xí)好C語言,培養(yǎng)學(xué)生邏輯思維和創(chuàng)新能力,在教學(xué)過程中,要通過各種教學(xué)方式和手段激發(fā)學(xué)生的學(xué)習(xí)欲望,使其積極投入到學(xué)習(xí)活動中。例如,在講解程序設(shè)計(jì)舉例時(shí),不是簡單地給出程序清單,而是從分析問題入手,繼而找出解決問題的方法,再給出算法,最后編寫出完整的程序,編譯、鏈接、運(yùn)行到測試的整個過程,特別是調(diào)試中增加輸出,變難為易,環(huán)環(huán)緊扣。而在這一過程中,較關(guān)鍵的是每一步都采用與學(xué)生一起探討的方式,讓學(xué)生在啟發(fā)下思考,在思考中解決問題,從而掌握獨(dú)立分析問題、解決問題的方法。而對于比較簡單的問題,我們可以提出問題,以學(xué)生獨(dú)立完成為主,教師只提供必要的輔導(dǎo),培養(yǎng)學(xué)生探索問題和解決問題的能力,更有利于創(chuàng)新能力的培養(yǎng),也充分調(diào)動了學(xué)生學(xué)習(xí)的主動性和積極性。
再有,充分合理地利用多媒體課件,也可以達(dá)到事半功倍的效果:課件上要合理選擇教學(xué)內(nèi)容,制作要突出中心,避免從書本上摘抄大量文字或圖片。課件中可適當(dāng)加入Flash動畫等,吸引學(xué)生注意力,讓學(xué)生對課件上的內(nèi)容產(chǎn)生興趣,有利于知識的掌握。
總之,我們在非計(jì)算機(jī)專業(yè)不僅要開C語言課,而且還要把它上好,通過講解這門課讓學(xué)生掌握求解問題的方法,鍛煉學(xué)生的各種思維,不僅讓他們在學(xué)習(xí)上有收獲,而且在處理問題、解決問題上也是受益匪淺。
參考文獻(xiàn):
[1]譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].北京:清華大學(xué)出版社,2010.
[2]譚浩強(qiáng).C程序設(shè)計(jì)(第四版)[M].北京:清華大學(xué)出版社,2005.
[3]張海玉.C 語言程序設(shè)計(jì)教學(xué)方法探析[J].太原:財(cái)政稅務(wù)??茖W(xué)校學(xué)報(bào),2006,(8):72- 74.
[4]程奎文.C 語言教學(xué)方法探析[J].科學(xué)時(shí)代,2006,(12):111-112.
[5]謝娟英.大學(xué)計(jì)算機(jī)專業(yè)C與C++程序設(shè)計(jì)語言開設(shè)探討[J].計(jì)算機(jī)教育,2007,(50):22-23.