李雨江
(湛江師范學院數學與計算科學學院,湛江廣東524048)
C語言教學研究與實踐
李雨江
(湛江師范學院數學與計算科學學院,湛江廣東524048)
針對C語言課程難教、難學的現象,結合自身教學經歷,分析了C語言教學中存在的問題,從教學方法、上機實踐和考核方式方面提出了相關解決辦法。教學實踐證明,這些措施能夠有效提高學生的自學能力、編程能力和溝通能力。
教學方法;上機實踐;考核方式;編程能力
C語言是當今世界上應用最廣泛、最具影響力的程序設計語言之一。它語言簡潔,數據類型豐富,表達能力強,運算符豐富且用法靈活,控制流程和數據結構新穎,程序結構性和可讀性強。許多院校的計算機專業(yè)都開設了C語言課程,將其作為學生學習程序設計技術的入門課程。但由其強大的功能所帶來的繁多的數據類型和復雜的語法結構,使得學生產生入門容易學好難的感受。
通過平時授課觀察和課后與學生的交流反饋,學生普遍反映課堂講授內容能聽懂,但實際編程時卻不知道該從哪里入手,究其原因有以下幾方面。
(一)C語言自身的特點
C語言課程往往在大一的第二學期開設,此時學生對計算機結構了解尚淺,C語言豐富且抽象的內容、嚴密的邏輯性給初學者造成了較大的學習障礙。學習之初,學生往往充滿興趣和希望,但對于學習難度的心理預期準備不足。隨著教學進度的推進,所學知識難度的逐漸加大,學生的學習興趣降低,有的學生甚至產生畏難情緒。
(二)當前教學方法對學生學習C語言的影響
目前,大多數高校均采用多媒體教學方式。相對于傳統(tǒng)的黑板板書來說,這種方式可以增加教學容量、突出教學重點和難點,有助于提高教學效率和教學質量。但如果過分依賴多媒體教學,教師只是充當課件放映員,看著課件內容念,學生則淪為被動的觀眾和聽眾,這樣難以激發(fā)學生的學習熱情,影響了教學效果。
(三)當前考核形式對學生學習態(tài)度的影響
C語言是一門實踐性很強的計算機基礎課程,理論分數的高低不能代表實際編程能力的強弱,實踐教學直接關系到課程的教學質量。從當前的情況來看,大多數有關C語言的考試應該說還是處在原來的應試教育階段[1]。學生為取得卷面考試的高分,往往把精力放在“紙上談兵”式的理論知識上,拘泥于繁瑣的語法細節(jié),而一旦要求上機寫具體的程序代碼時,往往畏手畏腳,不知從何開始。
(一)改進教學方法
C語言中的很多語法和概念是枯燥而又抽象的,如果單純從文字角度講解這些語法和概念,學生會感到難以理解,進而導致學習積極性降低。為了便于學生切實掌握所講內容,教師在課堂教學中必須向他們提供豐富的、有代表性的例子。例如在講授數據類型轉換時,可先定義三個int型變量a、b、i,一個float型變量f,并分別給a和b賦值1和3,然后讓學生考慮i=a/b、i=(float)a/b、i=a/(float)b、i=(float) (a/b)這四條語句中i的值分別為多少,以及f=a/b、f= (float)a/b、f=a/(float)b、f=(float)(a/b)這四條語句中f的值分別為多少,之后向學生公布答案,在學生懷著“怎么是這樣”、“為什么會這樣”的疑惑中,教師開始講授數據類型轉換知識。
其次,在教學過程中要避免照著課件念內容這種枯燥的方式,要充分利用啟發(fā)式[2]、對比式、階梯式[3]等多種教學手段,調動學生的學習熱情,力爭取得良好的教學效果。例如在講解用for循環(huán)完成1+2+3+…+100這道題時,可先讓學生思考如何解決該題,如何將人的思維轉化成編程語言,當用for語言完成該題的編碼后,讓學生思考是否能用do while語句、while語句實現該問題,如果能又該如何實現,并對這三類循環(huán)語句進行對比總結,更進一步,可讓學生思考是否能夠用遞歸來解決該問題,如果能又該如何實現。這樣,由一道考查for循環(huán)的題目引申出do while語句、while語句及遞歸的知識,既開闊了學生的思路,又鞏固了已學內容,使學生在循序漸進的過程中對所學知識有了更深刻的理解。
(二)注重實踐
學生在理論學習過程中產生的困惑,都可以通過上機實踐來獲得明確解答。從某種程度上來說,要想學好C語言,動手實踐比理論學習更為重要。在C語言的學習過程中,只要敢于動手編寫程序就不怕學不好,盡管在剛開始編程時可能會出現不少錯誤,但這并不可怕,編譯環(huán)境會針對錯誤給出相應提示,學生可根據提示修改錯誤并掌握相關的語法知識,從而避免下次再犯類似錯誤。最怕的是學生畏首畏腳,怕出錯,沒信心,不敢動手寫一個完整的程序。因此,教師要鼓勵學生相信自己,大膽地編寫程序,不要怕犯錯誤。
在上機實踐過程中,由于學生的編程水平高低不齊,教師在布置上機作業(yè)時要因材施教,考慮到不同能力層次的學生,既要有基本的、較簡單的題目,也要包含有一定難度、有挑戰(zhàn)性的題目。古人說過:“授人以魚,不如授之以漁”。當學生在編程中遇到問題時,要鼓勵他們主動思考,積極與同學交流討論,綜合運用調試工具、幫助文檔、網絡等多種方式大膽探索、尋求解答,而不是立刻告知解決辦法,久而久之使其養(yǎng)成依賴惰性。
(三)改進考核方式
考核是教師了解學生學習效果的重要依據。一些學生為了在理論考試中獲得高分,把主要的時間和精力放在繁瑣的語法細節(jié)上,對不理解不明白的試題甚至采取死記硬背這種方式,而忽視上機實踐。因此,以試卷分數來作為判定教學效果的唯一方式是不可取的。教師應建立以學生的實際問題解決能力為考核基準的考核模式,淡化對繁瑣語法細節(jié)的考查。
總之,在C語言的教學過程中,要積極探索和研究適合教育的新思想、新方法,要充分體現現代教育“以能力為本”的價值取向,培養(yǎng)學生發(fā)現問題、分析問題、解決問題的能力和良好的思維習慣。
[1]王希杰,王瑞慶.C語言教學改革的幾點建議[J].中國科技信息,2006,(24):213.
[2]葛麗萍.C語言教學中的啟發(fā)式教學應用研究[J].農業(yè)網絡信息,2008,(6):130-134.
[3]南麗麗.階梯式教學法在C語言教學中的應用[J].計算機教育,2008,(7):75-76.
Teaching Research and Practice of C Language
LI Yu-jiang
(School of Mathematics and Computation Science,Zhanjiang Normal University,Zhanjiang 524048,China)
According to the phenomenon that the C language course is hard to teach and study,combining the author’s own teaching experience,the paper analyzes the existing problems in teaching C language,and proposes relative solutions from three respects,namely, teaching methods,practice on computers and evaluation mode.Teaching practices show that these measures can improves students’selfstudy ability,programming ability and communication ability effectively.
teaching methods;practice on computers;evaluation mode;programming ability
G420
C
1009-3583(2014)01-0092-02
2013-11-24
李雨江,女,廣東湛江人,湛江師范學院數學與計算科學學院助教,軟件工程碩士,主要從事計算機軟件與理論研究。
朱 彬)