關婷婷
摘 要:《C語言程序設計》是一門實踐操作性極強的課程。要想學好C語言,不僅需要掌握良好的理論知識,實驗環節更能檢驗學生的掌握程度及邏輯思維能力。筆者結合自己幾年來的教學經驗,針對非計算機專業學生在學習C語言實驗過程中遇到的諸多問題,初步探討了關于C語言實驗的教學方法。
關鍵詞:C語言 實驗教學 程序設計
中圖分類號:G642 文獻標識碼:A 文章編號:1674-2117(2014)06-0017-02
1 引言
C語言是一種功能強大、編程靈活的計算機語言。全國計算機等級考試、全國計算機應用技術證書考試、全國計算機軟件專業技術資格及水平考試等都將C語言納入了考試范圍。所以,很多高校不僅為計算機專業的學生,而且為相關非計算機專業的學生也開設了《C語言程序設計》課程。要想很好地學習運用C語言,不僅需要掌握堅實的理論基礎,實驗操作更是必不可少的。因為實驗操作不僅僅是為了驗證理論知識的正確與否,更重要的是培養學生分析問題、解決問題的能力。針對當前三本院校非計算機專業《C語言程序設計》在實驗教學過程中遇到的諸多問題,筆者根據自己多年來的教學經驗,初步探討了關于《C語言程序設計》實驗教學的一些行之有效的教學改革方案。
2 學生在實驗操作過程中存在的問題
目前,在非計算機專業的C語言實驗教學過程中,一般存在以下問題:
第一,C語言的編譯系統VC++環境,在程序輸入及調試過程中,基本都是英文狀態。而三本院校的學生英語能力略差,學生往往在調試程序的過程中,不能準確了解程序錯誤,導致不能及時查找錯誤,易喪失信心。
第二,對于非計算機專業的學生而言,《C語言程序設計》屬于一門計算機公共課。有些學生沒有充分認識該課程的重要性,認為C語言編程已經不再具有實用性,不值得花費時間和精力去學習,因此會產生惰性或帶有抵觸情緒。并且,C語言理論知識比較枯燥,內容點比較多,不容易掌握,所以部分學生失去了學習的興趣。在實驗環節,不愿意去學習、動手編寫一個自己的程序。因此作業上就存在抄襲現象,甚至有些程序根本就沒上機調試,交作業只是為了應付檢查。
第三,由于本校非計算機專業C語言課時的限制,實驗課中不宜設置大型綜合實驗。所以學生在學習的過程中,實驗只是驗證性的、機械的,沒有很好的和理論、知識點結合起來,效果不明顯。學生在實驗過程中,只是簡單模仿書本中的案例,“知其然而不知其所以然”。似懂非懂的狀況并不能很好地學習《C語言程序設計》。
3實驗教學改進方案
基于學生在實驗過程中所反映出來的以上問題,現提出以下幾種改進方案:
3.1 培養學生第一堂課的興趣
愛因斯坦曾經說過:“興趣是最好的老師”。作為一名教師,不能對學生進行“填鴨式”的傳統教學方法,而應首先培養學生學習C語言的興趣與熱情。例如,在第一堂課的教學過程中,首先應讓學生知道C語言的強大功能,可向學生展示各種C語言編寫的游戲畫面,從而激發學生學習C語言的興趣。另外,也可向學生講授現階段社會中計算機程序編程人員的重要性及薪資待遇,讓有意從事編程工作的學生更加堅定自己的目標。而在第一次實驗課中,通過理論知識的學習,要求學生獨立完成自己的第一個實驗。該實驗要求設置簡單,如printf(“Hello world”);學生在第一次上機時就能獨立完成實驗,會很有成就感,從而激發了學生進一步探索C語言的興趣。
3.2 培養學生自己調試程序的能力
學生在剛開始接觸并編寫程序時,肯定會遇到很多的錯誤。這時就需要教師耐心并細心地加以指導。但“授人以魚,不如授人以漁”,一定要讓學生自己掌握調試程序的能力,不能一味地依賴教師。
針對學生在實驗過程中遇到的常見錯誤,如,學生不熟悉或不認識英文單詞,教師則進行集中講解,認真、耐心地分析英文錯誤提示,要求學生理解并記錄該錯誤。鼓勵學生多多嘗試,不要被簡單的英文單詞給震懾。像“missing、before等”這些簡單的英文單詞其實學生都懂,只不過沒有和程序改錯有效地結合起來。一段時間后,學生就能認識到一些常見錯誤,并且能有效地去改正它。很多學生甚至在積累一定的調試經驗之后,不僅能夠快速、有效地解決自己的實驗問題,還能主動幫助其他同學調試程序,極大地提高了自身調試程序的能力。
3.3 加強教學管理,杜絕抄襲
在每一節實驗課之前,給學生一個具體的實驗內容量化指標。在實驗過程中,采取“課后檢查+隨機抽查”的方式檢查學生的作業情況。實驗內容的布置與檢查可充分利用本校計算機基礎課程網絡教學平臺。利用該平臺,教師可以及時掌握學生的作業情況,在下一次上課之前將自己的解題思路傳達給學生,作為參考依據。若作業檢查中出現抄襲情況,則本堂課程沒有平時成績。在抽查的過程中,隨機提問。通過這種方式,學生無論是理論課還是實驗課,都會用心學習、作業,不然就可能無法完成實驗課的內容。
3.4 提升學生的綜合實踐能力
每次實驗課若只是單純地驗證理論課的知識點,很容易馬上遺忘,不能形成良好的記憶。所以還是應該在適當地時候通過綜合性作業來提高學生的邏輯思維能力。當C語言三大基本結構講解完后,可適當布置一個綜合型案例。例如,ATM取款實例,模擬實際生活中的ATM取款實驗。學生在編程過程中,也表現出了濃厚的興趣。課后很多學生積極思考,展開討論,在規定時間內順利地完成了任務。甚至有很多學生深入分析,提出了更多行之有效的建議。通過這種方式,不僅可以提升學生的綜合實踐能力,而且還讓學生感覺能用所學知識解決實際問題,從而調動了學生學習的主動性。
3.5 鼓勵學生開闊思維
編寫程序不僅僅是為了檢驗最終的答案,更重要的是培養學生分析問題、解決問題的能力。因此,要多鼓勵學生開闊思維。在課程講解過程中,要求學生能夠舉一反三,學會用同一原理去解決各種類似的問題。而針對同一個問題,也要學會從不同的角度去思考,發散思維,用不同的方法去求解。例如,求某個數m是否為素數。通過展開討論的方式,學生至少提出了3種不同的解決方案,最終嘗試用不同的循環語句while、do-while、for解決。當學習了函數之后,還可以編寫一個函數來實現。對于實驗課中的內容,教師會在下次上課之前選擇一些優秀的學生作業進行展示,并討論其思路、答案,供其他學生參考。
3.6 利用網絡平臺及時交流
課堂上的時間畢竟是有限的。為了及時、有效的解決學生在課后遇到的各種問題,可借助網絡平臺實現“課堂外的課堂”,即通過建立網絡QQ群,將所有愛好編程的學生聚集在一起,可隨時討論解決棘手問題。也可建立一個專用學習的電子郵箱,可通過網絡郵件解決學生的問題。那么,C語言的編程學習就不會局限在實驗課堂上了。
4 總結
利用以上教學方案,在具體的實驗教學環節中,學生不僅能夠自己編寫并調試程序,部分學生還能主動幫其他同學調試程序,形成了互幫互助的良好學習氛圍。這樣不僅極大地樹立了學生的自信心,更提高了實驗的教學效率。另外,筆者以往所任教的班級中在全國計算機二級等級考試(C語言)都取得了較好的成績。實踐證明,本文所提到的幾種實驗教學改進方案能有助于改善學生積極性不高、教學效果差等不足,有利于培養學生分析問題、解決問題的能力,進而提高學生學習的主動性和積極性。
雖然我們在該課程的教學改革中取得了一定的成績,但是如何更好地組織并教學好這門課程,還有很多方面需要我們去努力探索。只有不斷地努力,認真地組織教學,才能不斷地進步,從而使得這門課程的教學工作取得更長遠的發展。
(武漢大學珞珈學院,湖北 武漢 430064)
參考文獻:
[1]陳國英.提高計算機語言課上機實踐教學的改革與實踐[J].洛陽農業高等專科學校學報,2002.
[2]房媛,趙秀巖.高校非計算機專業C語言課程教學方法的研究[J].計算機教育,2011.
[3]伊華偉.高校非計算機專業C語言程序設計教學的探討與實踐[J].遼寧工業大學學報,2010.endprint