王 冰
文章編號:1672-5913(2009)02-0142-03
摘要:本文探討并提出了C語言程序設(shè)計課程的一種新的理論教學和實踐教學的方法,該方法能增強學生對本課程的興趣以及提高教學質(zhì)量,提高學生用C語言解決實際問題的綜合能力。
關(guān)鍵詞:善于培養(yǎng)興趣;善于總結(jié)歸納;善于互動交流;善于發(fā)現(xiàn)問題;善于合理施壓
中圖分類號:G642
文獻標識碼:B
1引言
我院C語言程序設(shè)計課程是面向非計算機專業(yè)本科生開設(shè)的,是計算機基礎(chǔ)系列課程中的一門,屬于公共基礎(chǔ)課,也是計算機基礎(chǔ)系列課程中的基礎(chǔ)課,很多后續(xù)課程如計算機軟件技術(shù)基礎(chǔ)等都以該課程為先修課。這門課程的教學目標是使學生較全面、系統(tǒng)地理解和掌握程序設(shè)計的基本概念和方法,具備運用程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)和算法進行基本的結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計的能力。通過本課程的學習培養(yǎng)學生利用計算機處理問題的思維方式,啟發(fā)學生主動將計算機引入到其他基礎(chǔ)課和專業(yè)課。很多大學生在大學四年的學習過程中都會選修這門課程,來提高自己的計算機編程水平。
在學習這門課程的過程中,教師要在課程規(guī)定學時內(nèi)講解C語言的語法和語義以及這門語言方方面面的規(guī)定,學生不但要在較短的時間內(nèi)記住大量瑣碎的知識點,還要經(jīng)過知識的日積月累,能靈活運用這些知識點,融會貫通,達到由能編程序解決簡單問題到能編程序解決復雜實際問題的過渡,進一步能和自己所學專業(yè)知識有機結(jié)合。由于計算機技術(shù)的發(fā)展和普及,學生腦海中對學好計算機技術(shù)的重要性還是有清醒的認識的,在開始學習這門課程時,興趣還是很高的,但是如果教師在教學過程中只是照本宣科,理論脫離實際,一味“填鴨式”灌輸,學生就會逐漸感覺到學習這門課程內(nèi)容條條框框的枯燥。學生的學習興趣就會在學習過程中隨時間而減退或消失,這樣一般就都難于取得好的教學效果。經(jīng)過幾年的教學實踐、觀察總結(jié)以及研究嘗試,本文針對以上問題,總結(jié)提出幾點建議來改善課堂教學和實驗教學的效果,與大家共勉。
2教學方法的探討
(1) 善于培養(yǎng)興趣
愛因斯坦有句名言:“興趣是最好的老師?!惫湃艘嘣疲骸爸卟蝗绾弥?,好之者不如樂之者。”興趣對學生的學習有著神奇的內(nèi)驅(qū)動作用,能變無效為有效,化低效為高效。充分激發(fā)學生的學習興趣是當前開展素質(zhì)教育,優(yōu)化課堂教學,減負提質(zhì)的最根本、最有效的途徑之一。興趣的產(chǎn)生來源于興趣源,興趣源必須由教師來創(chuàng)造,并貫穿于教師授課全過程的各個環(huán)節(jié)中。針對C語言程序設(shè)計這門課程的特點教師可采用以下方法提高學生的對本課程的興趣。
首先,教師可以在講授第一次課時,就演示一兩個用C語言來解決某個實際問題的綜合程序,吸引學生的眼球,當然這些演示的綜合程序要教師預(yù)先精心設(shè)計好。比如“職工檔案信息管理系統(tǒng)”、“實用的小型通信錄”等,這樣來引起學生對學完本課程后自己所具有用C語言編程能力的憧憬。
其次,課堂上講解某個重要的知識點時,可以不失時機地展示給學生一兩個運用此知識點開發(fā)好的用于解決某個問題的小程序或是游戲程序,讓學生感受到編寫出的程序的魅力,提高學生的聽課注意力,激發(fā)學生主動學習的積極性。例如,在講解了程序控制結(jié)構(gòu)的選擇和循環(huán)兩種結(jié)構(gòu)后,可以演示一個利用此知識點的程序,比如“使用菜單選擇趣味程序”,來展示所學的這兩種結(jié)構(gòu)在程序中是如何發(fā)揮作用的。當然有些程序因涉及的知識點多,學生全面理解有時有困難,教師要適當選擇和靈活掌握,搞清演示程序的目標是什么,是為引起學生的興趣,還是要通過此案例詳細講解某個知識點。
再者,課后要針對本節(jié)課所講的重點知識留些思考題和隨堂提問??鬃诱f:“學而不思則罔,思而不學則殆。” 教師要多提出“…可否?”、“如果這樣編寫…行嗎?”、“程序為何這樣寫?”,“結(jié)果為何這樣?”“你將如何編程實現(xiàn)?”等問題,充分發(fā)揮學生的想象力和創(chuàng)造力,培養(yǎng)學生的開拓精神和獨立解決問題的能力。例如switch語句的語法結(jié)構(gòu)中如果沒有break和default語句對switch語句所表達的語義有何影響?自己編寫了一個與printf同名函數(shù)可以調(diào)用嗎?等等。
另外,在實驗教學中,老師在布置作業(yè)時一般要難易適當,使學生在經(jīng)過努力后,基本都能編程實現(xiàn),這樣學生編完程序后就有一種成就感,這也是提高學生對本課程興趣的好辦法。如果作業(yè)太簡單,學生輕松實現(xiàn),印象不深,成就感不強烈,覺得太容易,沒有興趣。如果作業(yè)太難,學生難于實現(xiàn),就會出現(xiàn)放棄或抄襲現(xiàn)象,也會喪失學習本課程的興趣,更無從談起學生的成就感。
總之,教師要善于不失時機的運用各種方法培養(yǎng)學生對課程的學習興趣。
(2) 善于總結(jié)歸納
教師在講解相關(guān)章節(jié)時,應(yīng)善于對學生已學過知識點的進行總結(jié)。眉毛胡子一把抓,學生就會覺得要理解和記憶的內(nèi)容太多,感覺無從下手,所以教師要善于給學生歸納總結(jié)所講解的知識點,便于學生加深對相關(guān)知識點的理解,提高學生對知識的記憶力。
首先,要注意相關(guān)知識點的融會貫通。例如,在C語言程序設(shè)計這門課程中,涉及到算術(shù)運算符、賦值運算符、關(guān)系運算符、邏輯運算符、自增自減運算符、條件運算符、取地址運算符、逗號運算符等很多運算符,這些運算符之間不但存在優(yōu)先級的高低問題,而且同級之間又存在結(jié)合性的左右結(jié)合問題。教師在講授課程中,每講到一種新的運算符,就將其與前面學生已學過的運算符做一個優(yōu)先級和結(jié)合性的比較,這樣就如同滾雪球一樣,隨著授課進展,最后將本課程中所有涉及到的運算符的知識點全部聯(lián)系到一起,學生在學習過程中既學到了新的知識點同時又復習了舊的知識點。另外,通過把已學到的運算符進行歸納,也達到了知識點強化的目的,便于學生的記憶和理解。
其次,每個章節(jié)講解后,教師都應(yīng)歸納本章節(jié)學生應(yīng)要掌握的知識點。一般在每個章節(jié)講解前教師要明確本部分內(nèi)容要解決的主要問題,因為學生這時還沒有學習這部分的具體知識,對所涉及知識點的講解一般不宜太細,主要以明確解決的問題為目標。在每個章節(jié)講授完成后,教師應(yīng)及時地歸納總結(jié)本部分所涉及的知識點,以便于學生在課后有的放矢地復習鞏固。
再者,在實驗教學中,注意總結(jié)歸納,讓學生上機少走彎路。編程容易,調(diào)試難。因?qū)W生理論知識接受能力和掌握程度的不同,學習認真程度的差異,C語言自身的特點等原因,即使要解決同一個問題,學生解決問題的設(shè)計思路也會不同,學生編程所用C語言的語句也會有差異,所以學生編寫出來的程序千差萬別,遇到的編程問題,出現(xiàn)的編譯、鏈接和運行錯誤也千奇百怪。有些問題和錯誤只是個別學生出現(xiàn)的,但是也有許多是學生遇到的共性問題和錯誤,教師在輔導上機實驗時,要注意區(qū)別對待。對于共性的問題和錯誤,要進行歸納總結(jié),課上給學生展示錯誤并及時講解解決辦法;對個別學生出現(xiàn)的問題和錯誤,教師要單獨輔導講解。
另外,教師在講授一門課程的過程中,應(yīng)及時將學生不易理解的問題、上機實驗中經(jīng)常出現(xiàn)的錯誤進行總結(jié)歸納,這樣日積月累,經(jīng)過對同一門課程的幾輪授課,教師就可以形成針對本課程的問題庫。在下一輪授課過程中,教師就可以有的放矢地對以前授課中學生不易理解的問題重點講解;就可以目標明確地對上機實驗中經(jīng)常出現(xiàn)的錯誤,在學生上機之前用案例演示并提出解決方案,以免學生再犯同樣的錯誤,讓學生少走彎路。
總之,教師要充分利用總結(jié)和歸納的方法來提高學生的知識點的理解和記憶。
(3) 善于互動交流。
在講課過程中,教師要精心設(shè)計教學環(huán)節(jié),環(huán)環(huán)相扣,要善于提出問題與學生互動,努力創(chuàng)造一個和諧的教學環(huán)境。教師可以采用以下方式與學生交流互動。
首先,采用不定時隨堂練習的辦法。在講授某個知識點后,教師及時出一道小題目,隨堂練習此知識點的使用,每個學生做完后,將答案及時上交。這樣一舉三得,既增強學生對所學知識點的鞏固,又了解學生上課出勤的情況,同時一定程度上也避免了學生逃課、曠課現(xiàn)象的發(fā)生。
其次,采用錯誤案例教學的辦法?!俺砸粔q,長一智?!比藗儗κ挛锏恼J識和認知,有時出錯、碰壁比不犯錯誤、一帆風順更能增加對事物的印象,更容易記住。有時教師在講解一個例題時,在容易出錯和模糊的知識點處故意沿著錯誤的方向講解,然后詢問學生這樣做或理解對嗎?看看學生能否發(fā)現(xiàn)問題或錯誤,這便于教師掌握學生對知識點的掌握程度,同時也使學生加強對知識點的印象。
再者,采用上課適時點名提問問題的方法。一方面,雖然上課點名提問問題表面上是在檢查某個學生,其實此時也是在檢查全班學生,因為教師問題提出后,所有聽課學生在沒有確定老師點名提問誰之前,都會集中注意力,抓緊時間思考,這可作為提高學生聽課注意力的方法。另一方面,上課點名提問問題也是對學生所學新舊知識點的檢查和復習,以便教師確定下一步的授課進度安排。
另外,采用上課過程中學生可隨時提問問題的方法。上課的過程中要允許學生隨時提問問題,學生有不明白的地方,可以舉手提問。因為如果學生不能馬上把不明白的問題提出來,可能影響其后續(xù)聽課接受新知識。同時,雖然別的學生沒有提出來此問題,但也很可能沒有聽明白,所以要允許學生上課時及時向教師提問問題。
總之,老師要努力創(chuàng)造一個互動交流的和諧授課氛圍。
(4) 善于發(fā)現(xiàn)問題
“當事者迷,旁觀者清。”教師一般授課前對所講課程都是精心準備的,在講課過程中,自我感覺一般都是不錯的。但是學生聽課效果如何呢?這決不是教師自己感覺良好,就良好,那是掩耳盜鈴,自欺欺人。在教學過程中,老師要多和學生進行交流,向?qū)W生征求授課中所存在的問題和意見,請學生給老師指出教學中所存在的問題,教師及時改正。
首先,教師可以采用課間或課后和部分學生交流的方式。為了消除學生給老師提建議的顧慮,也可以采用無記名的交字條的方式進行。學生還可以給老師發(fā)送電子郵件,隨時可以把自己的意見和建議反映給老師。
其次,教師更要傾聽教學督導老師的意見和建議,努力提高自己的教學水平。教學督導老師一般都是具有多年授課經(jīng)驗的老教師,他們授課經(jīng)驗豐富,看問題比較準確,教師要多和督導老師交流,虛心聽取他們的意見和建議,發(fā)現(xiàn)問題,及時改正。
再者,“三人行必有吾師?!睙o論你與其他教師是否教授同一門課程,每位教師授課都有其特色,我們要積極認真地去聽其他教師的授課,“取人之長,補己之短。”這樣我們才能進步。
總之,教師要通過不斷綜合學生和教學督導老師意見和建議以及其他教師的教學特點和經(jīng)驗來提高自己的授課水準。
(5) 善于合理施壓
沒有壓力,就沒有動力。施壓,但不超壓?,F(xiàn)在大學生參加的課外活動多,個別學生混學分的現(xiàn)象存在,部分學生對選修課重視不夠;再者,許多老師都知道,如果沒有實際的問題需要解決,只是抱著一本書看看學學,簡單練習練習,只編寫針對各知識點的小程序,一般是不能把一門計算機語言的知識點融會貫通的,更無法把其學深學透學精。
在開始講授C語言程序設(shè)計課程第一堂課時,教師可以在演示一兩個用C語言編寫解決實際問題的應(yīng)用程序的同時布置一個綜合程序設(shè)計大作業(yè),比如“學生成績信息管理系統(tǒng)”等,讓學生帶著壓力和問題學習,將一個綜合程序設(shè)計大作業(yè)的壓力分散到整個學期的學習過程中,時時有壓力,時時有動力,同時壓力分散,壓力強度不大。為避免抄襲拷貝、網(wǎng)上下載等現(xiàn)象的發(fā)生,可以在學期末拿出一定的時間進行課堂抽查(當然如果課時允許還可以進行全面檢查),由老師對抽查學生所做程序代碼,隨機指定一段,讓學生講解,這樣也可更好地督促學生學習。
3結(jié)束語
在C語言程序設(shè)計教學目標和教學任務(wù)確定之后,教師應(yīng)對教材內(nèi)容做到心中有數(shù),對學生學習C語言的過程要充分了解,對學生學習中存在的問題必須有清醒的認識,要善于將以上“五個善于”有機結(jié)合應(yīng)用,合理安排理論和實驗教學環(huán)節(jié),就一定能有效提高講授C語言程序設(shè)計這門課程的教學效果。
參考文獻
[1] 嚴悍,衷宜,趙學龍. 編程語言教學實踐中QDeV方法探討[J]. 計算機教育,2008,(5):56-58.
[2] 嚴悍,衷宜,張琨. Adept:啟發(fā)程序求解能力的一種有效途徑[J]. 中國當代教育,2006,(5):1-5.
[3] 陳龍猛,王保桂,李吉忠,于仁師. 大案例教學法在Visual Basic程序設(shè)計教學中的探究[J]. 計算機教育,2008,(5):59-62.