曹 陽
(陜西理工學(xué)院 數(shù)學(xué)與計算機科學(xué)學(xué)院,陜西 漢中 723000)
探索高校專科C語言教學(xué)模式
曹 陽
(陜西理工學(xué)院 數(shù)學(xué)與計算機科學(xué)學(xué)院,陜西 漢中 723000)
基于教學(xué)實踐,分析了當(dāng)前高校計算機專業(yè)“C語言程序設(shè)計”專科教育中存在的問題,從激發(fā)學(xué)生自信心、教材選擇、現(xiàn)有教學(xué)模式、現(xiàn)代教學(xué)手段應(yīng)用和實踐教學(xué)等方面進行探討,進而加強學(xué)生程序設(shè)計能力的培養(yǎng),提高教學(xué)效果.
C語言程序設(shè)計;教學(xué)現(xiàn)狀;教學(xué)改革
C語言[1,2]是最簡單、最基礎(chǔ)的一門結(jié)構(gòu)化編程語言,是數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等計算機課程的先行課,是應(yīng)用最廣泛的計算機程序設(shè)計語言之一.學(xué)好C語言已成為高校學(xué)生普遍需求.由于??茖W(xué)生自身基礎(chǔ)薄弱加之C語言自身的特點,學(xué)生普遍存在“聽得懂,不會編”的現(xiàn)象,教學(xué)效果不理想.如何使學(xué)生既掌握基礎(chǔ)知識又能對所學(xué)的知識加以靈活應(yīng)用解決相關(guān)的實際問題,已成為該門課程教學(xué)的難點.筆者結(jié)合自身從事多年的實踐教學(xué)體會,對C語言教學(xué)改革提出一些看法和建議.
C語言是學(xué)生在高校學(xué)習(xí)中的學(xué)習(xí)的第一門計算機語言,是人與計算機交流的語言之一.如何將自然語言描述的問題用C語言描述并讓計算機解決,為什么必須遵循“所謂的”語法規(guī)則等問題成為學(xué)生在學(xué)習(xí)中的障礙,從而影響學(xué)生對該門課程的學(xué)習(xí)興趣.
C語言具有運算符豐富、語法限制不嚴格、用戶自定義數(shù)據(jù)類型、程序設(shè)計自由度大等特點.然而,這些特點既是C語言的優(yōu)點,也是初學(xué)者學(xué)習(xí)的難點、絆腳石.例如:自加(++)和自減(--)運算符,雖然能簡化程序和提高運算速度,但++/--運算符只能對變量進行運算,運算符前置和后置的效果不同,一個表達式中出現(xiàn)連續(xù)的++/--運算符時結(jié)果也不同,例設(shè)變量i=3,表達式(++i)+(++i)+(++i)運算結(jié)果為什么不是4+5+6=15,而是18,這也造成了學(xué)生學(xué)習(xí)的困惑.
從實際教學(xué)經(jīng)歷來看,學(xué)生學(xué)習(xí)主要受計算機基礎(chǔ)差、邏輯思維能力差、數(shù)學(xué)基礎(chǔ)差、英語能力差四個因素的制約.計算機基礎(chǔ)差受環(huán)境和條件的限制,邏輯思維能力差影響學(xué)生分析、設(shè)計、調(diào)試程序的能力,加之高級語言普遍用英文,所以要學(xué)好C語言必須克服以上四個制約因素.
教學(xué)大綱是教師教學(xué)必須遵守的守則,然而很多高校并不重視??平逃呐囵B(yǎng),只制訂了培養(yǎng)計劃,沒有為各門課制定專門的教學(xué)大綱,教師上課時通常根據(jù)本科教學(xué)大綱給??茖W(xué)生上課,因而它又成為教師教學(xué)的絆腳石.由于教學(xué)課時的減少(以前72學(xué)時變成今天的36學(xué)時),教學(xué)的內(nèi)容沒有減少,教師在教學(xué)中為了完成教學(xué)任務(wù),利用課件進行教學(xué),知識點太多,學(xué)生在有限時間難以接受,一堂課下來學(xué)生感覺好像“看電影”,從而影響教學(xué)的質(zhì)量.
語言學(xué)習(xí)必須理論與實踐相結(jié)合,只有在上機實踐中學(xué)生才能真正學(xué)會如何編寫和調(diào)試程序,才能更好地掌握理論知識及其應(yīng)用.然而在C語言實驗教學(xué)中普遍存在實驗時間安排不合理,實驗內(nèi)容針對性不強,不能理論聯(lián)系實際,不能把編程思路和程序測試放在首位,致使學(xué)生分析和解決問題的能力不能達到很好的訓(xùn)練.
C語言程序設(shè)計考核方式主要以筆試考核為主,上機考核為輔甚至完全不作考核,形成了一種片面的應(yīng)試教育,忽視了學(xué)生實驗?zāi)芰?、動手能力和?chuàng)新能力的培養(yǎng).從而不能激發(fā)學(xué)生學(xué)習(xí)的積極性,考試及格就行,也就失去了學(xué)習(xí)C語言的本意.
許多高校并沒有為??平逃A(yù)訂專門的教材及制定專門的教學(xué)大綱,而是采用的大學(xué)本科教材及教學(xué)大綱,只是教學(xué)過程中降低難度而已.目前很多院校都采用清華大學(xué)出版社出版的譚浩強《C程序設(shè)計》,該書內(nèi)容較多,有些知識點過于細致,學(xué)生在自學(xué)過程中容易混淆.因此,學(xué)校首先應(yīng)組織教師結(jié)合實際為??茖W(xué)生制訂相應(yīng)的教學(xué)大綱,其次教師要認真鉆研教材,研究教學(xué)內(nèi)容,結(jié)合學(xué)生實際情況對教材進行整合、優(yōu)化設(shè)計.授課時注意突出解題思路,突出課程重點和難點,強化在實際軟件開發(fā)中經(jīng)常使用的結(jié)構(gòu)體、函數(shù)等重點知識,以增強學(xué)生求職時的競爭力,實現(xiàn)課程的“程序設(shè)計”的目的.
多媒體輔助教學(xué),改變傳統(tǒng)的教學(xué)方法,拋棄單一的“教師—黑板—教材”的教學(xué)方式,將課堂學(xué)習(xí)與多媒體教學(xué)、網(wǎng)絡(luò)教學(xué)、實踐教學(xué)、個性的學(xué)習(xí)有機的結(jié)合起來,形成“課堂—網(wǎng)絡(luò)—實踐”的教學(xué)模式.在教學(xué)中可以通過案例教學(xué)法、問題引入法、任務(wù)驅(qū)動法等方法來吸引學(xué)生學(xué)習(xí)的興趣.例在案例選擇時應(yīng)該與實際相結(jié)合,具有趣味性.如在講分枝結(jié)構(gòu)時,先提出出租車如何根據(jù)里數(shù)計費,也就引出了起步價內(nèi)及外的問題,自然也就引出了選擇結(jié)構(gòu)的相關(guān)知識,當(dāng)學(xué)習(xí)完選擇結(jié)構(gòu)的知識時,還可以引入“獎學(xué)金發(fā)放問題”、“綜合測評問題”對所學(xué)的知識進行鞏固,進而改善教學(xué)效果.
“精講”不等于講得越少越好.教師要講到要點上,充分體現(xiàn)典型例題的編程思路、算法,將嚴謹、富有邏輯性的編程規(guī)范思想清晰地展現(xiàn)在學(xué)生面前.學(xué)習(xí)C語言必須“手“和”腦“結(jié)合起來.多練是學(xué)習(xí)編程的關(guān)鍵,是檢驗所學(xué)知識的重要途徑.在練習(xí)的過程中,不僅要注意習(xí)題的針對性、典型性和靈活性,還應(yīng)該提倡一題多解,培養(yǎng)學(xué)生從多種角度對問題進行思考的能力,拓寬解題思路,訓(xùn)練學(xué)生發(fā)散性思維.例如在求n=5的階乘時,可以用遞歸,如果求n=100的階乘,怎么求?應(yīng)該采用什么樣的數(shù)據(jù)結(jié)構(gòu)?
算法是計算機解決問題的方法和步驟,是程序設(shè)計的靈魂,而語言只是算法的表現(xiàn)形式.因此在理論教學(xué)中,應(yīng)注重算法,培養(yǎng)學(xué)生以算法為中心的思維模式.將語法知識與實例相結(jié)合進行實例教學(xué),使學(xué)生互動參與教學(xué)過程,解決實際問題.學(xué)生程序設(shè)計題中必須做到先分析題目,做什么,完成功能是什么,如何做,即給出算法,然后用語言表示,解決問題,最后拓展問題,這樣有助于形成學(xué)生創(chuàng)造性思維.
實踐是檢驗理論教學(xué)的真理.只有通過上機實踐,學(xué)生才能真正掌握如何編寫和調(diào)試程序.然而上機實踐中存在問題較多,導(dǎo)致學(xué)生上機興趣并不濃厚,主要原因是實驗內(nèi)容針對性不強,實驗項目不能激發(fā)學(xué)生的興趣,缺乏創(chuàng)新性.很多學(xué)生在上機時只是驗證程序,沒有思考,感覺上機很無聊.因此在教學(xué)中首先必須與實際相結(jié)合引入教學(xué)案例;其次在制訂實訓(xùn)內(nèi)容時可由必做和選做兩部分構(gòu)成,必做是每個學(xué)生必須完成的部分,選做部分是供接受能力強、有余力、有興趣的學(xué)生選做;再次采用分組參加項目設(shè)計,每組中必須有一個動手能力強的同學(xué)和一個動力能力弱的同學(xué),通過編寫掃雷、貪吃蛇、五子棋等游戲項目讓學(xué)生體會實際編程中學(xué)與用結(jié)合的樂趣,從而提高學(xué)生實際編程能力.
期末考試不能作為判斷學(xué)生成績好壞,更不能作為判斷學(xué)生是否優(yōu)秀的“鐵尺”,現(xiàn)代教育中判斷學(xué)生成績采取多樣化的考核形式.C語言是理論與實踐緊密結(jié)合的課程,更不能采用傳統(tǒng)的考核方式來評價學(xué)生,應(yīng)該將實驗教學(xué)與平時學(xué)習(xí)也作為評價學(xué)生的依據(jù),也就是說學(xué)生的成績應(yīng)該由上機操作、卷面及平時成績構(gòu)成,具體分布詳見表1.
表1 C語言課程考核標準
本文對高校??艭語言教學(xué)現(xiàn)狀進行了分析、研究并結(jié)合實際的教學(xué)經(jīng)歷,從教學(xué)方法、教材選擇、教學(xué)內(nèi)容、學(xué)生學(xué)習(xí)積極性、實踐教學(xué)等方面提出了自己的教學(xué)建議.在今后的教學(xué)中仍將不斷探索,積極改進教學(xué)方法,激發(fā)和培養(yǎng)學(xué)生學(xué)習(xí)的積極及創(chuàng)造性,為后繼課程及實際應(yīng)用打下堅實的基礎(chǔ).
〔1〕譚浩強.C語言程序設(shè)計(第三版)[M].清華大學(xué)出版社.2010.
〔2〕羅建軍,等.C++程序設(shè)計教程(第二版)[M].高等教育出版社,2010.
〔3〕許晶.論實訓(xùn)在高職C語言教學(xué)中的重要性[J].計算機教育,2007(9).
〔4〕丁輝.高職C語言教學(xué)改革探索的思路[J].常州輕工職業(yè)技術(shù)學(xué)院學(xué)報,2006(3):23-27.
G642
A
1673-260X(2012)03-0225-02
陜西理工學(xué)院科研基金(SLGKY10-09)