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