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