裴?? 」?/p>
摘要 本文分析和論述了目前高等學(xué)校中C語言程序設(shè)計課程教學(xué)中存在的主要問題,提出了行之有效的教學(xué)改革方案,旨在提高教學(xué)質(zhì)量,激發(fā)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對理論知識的理解和掌握,培養(yǎng)分析和解決具體問題的能力。
關(guān)鍵詞 非計算機專業(yè) C語言程序設(shè)計 教學(xué)改革 案例驅(qū)動
中圖分類號:G642文獻標識碼:A
高等學(xué)校非計算機專業(yè)的計算機程序設(shè)計課程是國家高等教育發(fā)展規(guī)劃的必修課程,C語言以其知識結(jié)構(gòu)體系合理、使用靈活、實用性強、可移植性好等特點使其成為眾多高等學(xué)校的非計算機理工學(xué)科專業(yè)的計算機基礎(chǔ)必修課。開設(shè)C語言程序設(shè)計課程不僅是讓學(xué)生掌握一種軟件開發(fā)工具,了解計算機的功能和工作原理,培養(yǎng)學(xué)生的計算機邏輯編程思維。更為重要的是讓學(xué)生了解計算機編程技術(shù)在本專業(yè)領(lǐng)域中的作用,以便于在后期的專業(yè)課學(xué)習(xí)過程中進行相應(yīng)的程序設(shè)計和開發(fā)奠定基礎(chǔ)。
但是,在國內(nèi)的多數(shù)高校仍然采用“多媒體教室講課+學(xué)生上機訓(xùn)練”的傳統(tǒng)教學(xué)模式。這種教學(xué)模式中的教學(xué)內(nèi)容一般脫離了實際應(yīng)用,將學(xué)習(xí)重點放在C語言的語法和理論講解上,學(xué)生并不知道所學(xué)習(xí)知識的實際應(yīng)用方向和價值,也就不能很好地調(diào)動學(xué)生的積極性,因此普遍存在著“教師難教,學(xué)生難學(xué)”的狀況。針對目前C語言教學(xué)過程中的問題,本文結(jié)合作者多年的面向非計算機專業(yè)的C語言程序設(shè)計課程教育教學(xué)的經(jīng)驗,總結(jié)了非計算機專業(yè)C語言程序設(shè)計教學(xué)過程中存在的主要問題,并提出行之有效的教學(xué)改革方法,從而提高非計算機專業(yè)C語言教學(xué)的教學(xué)質(zhì)量。
1 C語言教學(xué)中存在的問題
1.1 學(xué)生缺乏興趣,學(xué)習(xí)主動性不足
自從我國大學(xué)教育實現(xiàn)擴招以來,很多學(xué)校均采用了多個班級同時上課的大課堂教學(xué)模式,大課堂導(dǎo)致學(xué)生很難始終保持精神集中,甚至有些學(xué)生上課期間上網(wǎng)、發(fā)短信、打游戲等等。另外,由于授課對象多為一年級的新生,對社會、職業(yè)和自己所學(xué)的專業(yè)尚無清晰的認知,往往會認為這是計算機專業(yè)的課程,對課程的重要性認識不足,也就對該課程提不起興趣,缺乏學(xué)習(xí)的主動性。
1.2 教師教學(xué)方法不妥,影響教學(xué)效果
很多學(xué)校的教師仍然采用了以教師講授為主的灌輸式教學(xué)方法,講授過程中只注重了知識點的系統(tǒng)性和完整性傳授,但缺乏對各知識點之間的內(nèi)在關(guān)系以及綜合運用的深入分析和講解,更忽略了對學(xué)生編程思想和邏輯思維能力的培養(yǎng)。同時,這是一個教師向?qū)W生單向傳輸過程,教學(xué)過程空洞、呆板、缺乏互動,學(xué)生很容易會感到課堂的枯燥乏味,造成課堂教學(xué)的效果不理想。
1.3 理論教學(xué)與專業(yè)需求脫節(jié)
目前,多數(shù)學(xué)校教學(xué)過程中仍采用“多媒體教室講課+學(xué)生上機訓(xùn)練”教學(xué)模式,兩者的學(xué)時比例一般為2:1或3:1。多媒體教室授課重點是對語法概念和語法規(guī)則的分析與講解,內(nèi)容枯燥、抽象,尤其是學(xué)生缺乏對實際物理對象和計算機邏輯思維方式的直觀理解。同時,學(xué)生實踐訓(xùn)練所占的課時比重過低,并且用于實踐課程中的訓(xùn)練題目,大多數(shù)是一些簡單的數(shù)學(xué)問題,也就無法真正體會到C語言在其未來專業(yè)課程中的作用和重要性。
1.4 考核方式不合理
目前,C語言程序設(shè)計課程的考核方式是“筆試+上機”的考核方式,筆試成績占到總成績的80%,明顯偏重于對語法知識和語法規(guī)則的考查,而缺乏對學(xué)生實際編程能力和邏輯思維能力的考查,往往會導(dǎo)致學(xué)生“只會考試,不會編程”。上機考試占到總成績的20%,重點是考核學(xué)生上機操作和現(xiàn)場編程能力,但上機考試的評估不夠準確客觀,而且所占比重過輕,學(xué)生缺乏足夠的實踐訓(xùn)練。
2 第一堂課尤為重要
興趣是一個人力求認識并趨向某種事物特有的意向,是個體主觀能動性的一種體現(xiàn)。因此,在第一堂課上如何激發(fā)學(xué)生對C語言程序設(shè)計課程的學(xué)習(xí)興趣,調(diào)動學(xué)生的求知欲望和學(xué)習(xí)主動性將對后期的教學(xué)產(chǎn)生重要影響。對于剛剛接觸C語言程序設(shè)計課程的學(xué)生,往往存在這樣的誤區(qū):“計算機既然是智能的,那我們還學(xué)編程做什么”、“學(xué)習(xí)C語言到底能做什么”等等。因此,教師在第一堂課程教學(xué)過程中,首要任務(wù)是向?qū)W生解答這些疑問,讓學(xué)生理解和認識到學(xué)習(xí)C語言程序設(shè)計課程的目的和作用,尤其是對后續(xù)專業(yè)課程的重要作用,從而令其能夠端正學(xué)習(xí)態(tài)度、提高學(xué)習(xí)興趣。具體可以采用如下途徑:其一是通過一些日常生活中經(jīng)常遇到的實例,如貪吃蛇、俄羅斯方塊、網(wǎng)絡(luò)聊天等小程序,讓學(xué)生直觀地看到C語言在日常生活中的重要作用。其二是教師可以結(jié)合往屆學(xué)生編寫的課程設(shè)計程序或參加科技競賽的實例程序,給學(xué)生展示C語言并不難學(xué),只要建立主動學(xué)習(xí)意識和不斷實踐編程訓(xùn)練就能學(xué)好C語言。其三是要結(jié)合學(xué)生的專業(yè)明確地講述學(xué)習(xí)意義,例如給自動化專業(yè)學(xué)生任課時,可以結(jié)合同期開設(shè)的專業(yè)認知課程,將學(xué)生接觸的實際自動化系統(tǒng),通過實際的專業(yè)案例介紹程序設(shè)計課程的應(yīng)用和重要性,使學(xué)生切身體會到C語言在自身專業(yè)上的重要作用。
3 多層次案例驅(qū)動教學(xué)
非計算機專業(yè)的學(xué)生學(xué)習(xí)C語言程序設(shè)計的目的是將其作為一種應(yīng)用技術(shù),而不是作為學(xué)習(xí)理論知識的課程。因此,針對非計算機專業(yè)學(xué)生的需求,我們采用了多層次案例驅(qū)動教學(xué)方法,采用知識導(dǎo)入型案例來引導(dǎo)新知識點的學(xué)習(xí),從而讓學(xué)生快速理解所學(xué)知識點的同時,也能幫助學(xué)生了解各個知識點的具體用法。在此基礎(chǔ)上,結(jié)合學(xué)生的專業(yè)背景,用一個專業(yè)綜合應(yīng)用型案例使學(xué)生了解本知識點與前后知識點的聯(lián)系,以及綜合應(yīng)用所有知識點解決實際問題。
3.1 知識導(dǎo)入型案例
針對C語言的語法繁瑣復(fù)雜、知識點繁多、結(jié)構(gòu)抽象復(fù)雜、難以理解等問題,我們以一個簡單、直觀的知識導(dǎo)入型案例的方式引入每個新的知識點,即可以生動地給出知識點的語法知識,又可以讓學(xué)生理解知識點的實用價值。所選取案例盡量貼近現(xiàn)實世界的實際問題,同時具有典型性、綜合性和示范性,例如,對于選擇結(jié)構(gòu)的知識導(dǎo)入型案例:出租車計費系統(tǒng),起步價3公里10元,超過三公里每公里2元,編寫一個程序自動計算出租車費用。將問題提出后,讓學(xué)生思考這個問題的解決方案,學(xué)生根據(jù)已經(jīng)學(xué)過的C語言知識編寫程序,由于是有條件選擇問題,學(xué)生無法有效計算費用。此時,教師給與學(xué)生引導(dǎo),先列寫該問題的偽代碼解決方案,如果距離小于3公里,則費用=10元;否則費用為10+2*(距離—3)。學(xué)生通過該過程可以很容易地理解選擇結(jié)構(gòu)的基本實現(xiàn)流程和使用方法,同時也對選擇結(jié)構(gòu)的關(guān)鍵字if和else有了清晰的理解。
3.2 專業(yè)綜合應(yīng)用型案例
在學(xué)生掌握新的知識點以后,需要幫助學(xué)生掌握各個知識點之間的內(nèi)在聯(lián)系,如何綜合應(yīng)用各知識點進行復(fù)雜程序設(shè)計,如何解決本專業(yè)的實際問題。為兼顧理工類不同專業(yè)背景的學(xué)生,我們?yōu)椴煌膶I(yè)設(shè)計不同的專業(yè)綜合應(yīng)用型案例。案例將貫穿整個C語言的學(xué)習(xí)過程,按照C語言各階段的教學(xué)目標和要求,將整個案例分解為多個子任務(wù),以子任務(wù)之間的內(nèi)在關(guān)聯(lián)為線索,引導(dǎo)學(xué)生應(yīng)用新學(xué)的知識點逐步解決一個個子任務(wù),當學(xué)習(xí)完C語言課程時,該專業(yè)案例也將得到最終的解決。以自動化專業(yè)為例,我們使用了最為常見的爐溫控制系統(tǒng)作為應(yīng)用案例,將整個問題分解為:溫度顯示、溫度計算與比較、統(tǒng)計數(shù)據(jù)計算與分析、多點測量數(shù)據(jù)處理、程序的模塊化實現(xiàn)、指針提高程序的效率、數(shù)據(jù)存儲與讀取等多個小模塊,在整個教學(xué)過程中,逐步解決每一個子問題,最終構(gòu)成整個爐溫控制系統(tǒng)程序,并通過實驗平臺展示的程序?qū)嶋H運行情況,使學(xué)生切身體會到C語言解決專業(yè)問題的方法和作用。
4 考核方式改革
考核在教學(xué)過程中起著非常重要的導(dǎo)向和督促作用,考核是了解學(xué)生學(xué)習(xí)狀況的依據(jù),學(xué)生和教師都非常重視。我們以理論與實踐相結(jié)合為考核基準,以全面考查學(xué)生的實踐操作和靈活運用能力為主要目標,建立階梯式開放考核體系:“平時+筆試+上機”的綜合考核方式,其中平時的階段性實踐考核占到總成績的40%,期末筆試考核占到總成績的40%,上機考試占到總成績的20%。具體的形式是:充分利用實踐教學(xué)的靈活性特點,結(jié)合每一階段課程的難度和教學(xué)目標,將實踐課程考核分為不同的階段和級別,在每次實驗課程中,以任務(wù)形式布置難度適中的編程題目,要求學(xué)生在本次課堂完成代碼編寫、調(diào)試并提交,教師根據(jù)學(xué)生編寫程序的情況給予一個階段性成績。在整個C語言程序設(shè)計教學(xué)過程中,安排5—6次類似的階段性考核,并把每一階段的實踐考核成績作為重要的參考依據(jù),以一定的比例加入到整個課程的最終考核成績中,綜合評價學(xué)生的學(xué)習(xí)成果。
5 結(jié)論
本文是作者結(jié)合多年的面向非計算機專業(yè)的C語言程序設(shè)計課程教育教學(xué)的實際經(jīng)驗,總結(jié)了目前國內(nèi)高校非計算機專業(yè)C語言程序設(shè)計教學(xué)過程中存在的一些主要問題,從課堂教學(xué)、教學(xué)方法、考核方式等方面提出了行之有效的教學(xué)改革方法。從幾年的實踐經(jīng)驗來看,較好地改善了C語言教學(xué)的教學(xué)質(zhì)量。但是,對于非計算機專業(yè)的學(xué)生來說,只有設(shè)置完善的課程體系,才能保障整個程序設(shè)計類課程的完整性和持續(xù)性,保證整個大學(xué)期間程序設(shè)計類課不斷線,才能培養(yǎng)符合社會需求的優(yōu)秀畢業(yè)生。
參考文獻
[1] 陳一昌.C語言程序教學(xué)新探[J].科技經(jīng)濟市場,2011.9:107—109.
[2] 王國偉.C語言程序設(shè)計課程教學(xué)探析[J].教育教學(xué)論壇,2012.19:79—80.
[3] 劉帥,張星.基于案例的C語言程序設(shè)計教學(xué)改革[J].教育教學(xué)論壇,2011.20:160—161.
[4] 胡丹.非計算機專業(yè)《C語言程序設(shè)計》教學(xué)探討[J].電腦知識與技術(shù),2011.34(7):8983—8991.
[5] 房媛,趙秀巖,劉劍,王智森.高校非計算機專業(yè)C語言課程教學(xué)方法研究[J].計算機教育,2011.22:74—76.
[6] 張鑫,張菁,劉威.非計算機專業(yè)C語言程序設(shè)計教學(xué)改革探究[J].福建電腦,2011.11:189—190.