《C語言程序設(shè)計》課程的教學(xué)改革與實踐論文
摘要:針對教師與學(xué)生普遍認為C語言難教也難學(xué),文章從教學(xué)內(nèi)容、教學(xué)手段、教學(xué)方法等方面介紹了《C語言程序設(shè)計》課程所進行的改革。實踐證明,這些教學(xué)改革效果良好,不僅有利于培養(yǎng)學(xué)生學(xué)習(xí)興趣,而且有利于培養(yǎng)學(xué)生分析問題與解決問題的能力。
關(guān)鍵詞:C語言 教學(xué)內(nèi)容 教學(xué)手段 教學(xué)方法 教學(xué)改革
學(xué)習(xí)計算機程序設(shè)計語言是提高人們計算機知識水平的重要步驟。C語言作為當(dāng)今最為流行的程序設(shè)計語言之一,不但成為計算機專業(yè)的必修課,而且也越來越多地成為非計算機專業(yè)的學(xué)習(xí)課程[1]。但在《C語言程序設(shè)計》課程教學(xué)中,許多教師和學(xué)生都認為C語言涉及的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯,教師教學(xué)和學(xué)生學(xué)習(xí)都感到困難,并不同程度產(chǎn)生畏難心理[2]。特別是多數(shù)高校將C語言作為計算機專業(yè)學(xué)生進校后首先接觸的第一門專業(yè)基礎(chǔ)課,這種現(xiàn)象尤為明顯。筆者根據(jù)多年的程序設(shè)計課程的教學(xué)實踐,對《C語言程序設(shè)計》課程從教學(xué)內(nèi)容、教學(xué)手段、教學(xué)方法等方面進行了大膽的改革,并取得較好的教學(xué)效果。
1 教學(xué)內(nèi)容的改革[3]
1.1 課堂教學(xué)內(nèi)容的改革
以福建省高校計算機系列教材《C語言程序設(shè)計與應(yīng)用教程》為例,教學(xué)內(nèi)容主要包括C語言語法基礎(chǔ)、程序控制結(jié)構(gòu)、數(shù)據(jù)類型、指針、函數(shù)、文件以其它們的應(yīng)用等。教材在內(nèi)容組織上,雖然依邏輯思維方式進行了歸類,但難點還是較為集中,跨度大;概念講得多,分析少;語言深硬,不夠形象,較難理解。雖然教材在各章節(jié)也舉了一些編程例子,但多數(shù)難度較大,適用性不強。筆者本著“深入淺出,突出實用”的指導(dǎo)思想,在課堂教學(xué)過程中,對教學(xué)內(nèi)容重新進行了歸納,將難點再次分散,以縮小臺階,達到循序漸進。例如,C語言數(shù)據(jù)類型、運算符、表達式種類繁多,放在一塊講授,學(xué)生學(xué)習(xí)起來難度較大,于是筆者就刻意將算術(shù)型的數(shù)據(jù)類型、運算符以及相關(guān)的表達式先介紹,使學(xué)生學(xué)習(xí)起來沒有想象中的那么難。緊接著又教學(xué)生編寫簡單的、實用的C程序設(shè)計,然后趁機引入基本輸入、輸出函數(shù)就順理成章了。這樣一來臺階小了,學(xué)生的信心也增加許多,學(xué)習(xí)積極性很快就被提高起來。對于深硬的語言敘述,筆者則改用生動的比喻,進行詳盡引導(dǎo)。譬如,在開始學(xué)習(xí)指針的概念時,教材對“間接存取”敘述比較深硬,學(xué)生難以理解,筆者就借用比喻:將A房間的鑰匙放在B房間里,若要取A房間里的物品,就需要先打開B房間,取出A鑰匙,再打開A房間,取出A房間的物品,這就是“間接存取”。學(xué)生很快就能理解,也加深了指針的概念。在教學(xué)過程中,筆者還及時查閱英文版教材和有關(guān)報刊雜志,對較難理解的概念,用不同的方式給以解釋,甚至直接引用英文原版教材內(nèi)容。
1.2 實驗教學(xué)內(nèi)容的改革
計算機語言教學(xué)的主要任務(wù)是培養(yǎng)學(xué)生具有一定的閱讀程序、設(shè)計程序的能力,分析問題、解決問題的能力和邏輯思維的能力。而C語言程序設(shè)計是一門實踐性很強的課程,既要掌握概念,又要動手編程,還要上機調(diào)試運行[2]。因此,C語言的教學(xué)特別需要重視實踐環(huán)節(jié),包括編程和上機實驗。為了突出實踐教學(xué),培養(yǎng)學(xué)生的知識應(yīng)用能力,筆者對實驗內(nèi)容進行了較大的改革,一方面保留基礎(chǔ)性實驗,例如:三角形面積計算、求一元二次方程的根、各類三角圖形的繪制、簡單的排序算法等基礎(chǔ)編程實驗。使學(xué)生能夠較順利地通過實驗,并及時理解和消化課堂教學(xué)內(nèi)容,學(xué)生也會獲得一定的成就感,學(xué)習(xí)熱情會進一步得到提高。另一方面,增加一些實用性強的、難度略大的實驗,并組織學(xué)生討論,通過討論得出算法流程,然后上機編程調(diào)試。例如:要求分別用數(shù)組與指針,將一個字符串中的所有英文字母取出,并轉(zhuǎn)為大寫,然后再將它們倒序存放。做這個實驗之前,學(xué)生先通過討論,分別得出使用數(shù)組與指針進行讀取英文字母及倒序存放的算法流程圖,然后上機實驗。這樣一來,一方面有利于培養(yǎng)學(xué)生對知識的應(yīng)用能力與問題的分析能力,更主要的是也培養(yǎng)了他們協(xié)作能力。另一方面通過用數(shù)組與指針不同的解題方法,有利于學(xué)生加深對所學(xué)知識的理解,讓學(xué)生真正體會到C語言的靈活性,激發(fā)學(xué)生的求知欲。
2 教學(xué)手段的改革
在教學(xué)過程中,運用多媒體技術(shù)輔助教學(xué),有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,能發(fā)展學(xué)生的主體能力;同時由于多媒體信息量大,也能夠優(yōu)化教學(xué)過程[4]。但多媒體輔助教學(xué)也有不利之處,主要體現(xiàn)在不恰當(dāng)?shù)氖褂脮稚W(xué)生注意力,影響主要問題的理解,也不利于發(fā)揮學(xué)生的想象力,影響師生之間的情感交流。在C語言程序設(shè)計課程教學(xué)過程中,筆者考慮到課程的特點,揚長避短,將傳統(tǒng)教學(xué)與多媒體教學(xué)進行了有機的結(jié)合。例如:由于C語言的數(shù)據(jù)類型、變量類型、運算符、程序結(jié)構(gòu)等,它們的定義、概念較多,又沒有深奧的理論,也沒有多少邏輯推理,所以筆者就采用多媒體教學(xué)。在教學(xué)過程中,事先將概念、大信息量的案例代碼制作成課件,在課堂做展示供學(xué)生增加信息量用,也簡化傳統(tǒng)教學(xué)無法板書的缺點,課堂教學(xué)也不再顯得枯燥無味。但對于案例分析或程序的編寫過程,筆者就發(fā)揮傳統(tǒng)教學(xué)的優(yōu)勢,進行課堂討論、板書講解、結(jié)合提問,將問題層層剖析、層層深入,達到師生互動的效果,學(xué)生的想象力就會得到充分的發(fā)揮,對問題的理解也變得更容易。另外,筆者也充分利用網(wǎng)絡(luò)資源,將電子教案、大綱、課件、習(xí)題等放在網(wǎng)上,供學(xué)生自行調(diào)用,同時通過Email、QQ對學(xué)生的提問進行答疑、討論,以彌補課堂教學(xué)的不足。
3 教學(xué)方法的改革
在C語言課程教學(xué)過程中,一方面要求教師能夠準確把握授課內(nèi)容,同時也要求教師注意應(yīng)用相應(yīng)的教學(xué)方法,以此提高教學(xué)質(zhì)量。以下是筆者在幾年的C語言課程教學(xué)中采用的一些教學(xué)方法。
3.1 問題探究教學(xué)法
問題探究教學(xué)法在C語言教學(xué)中是一種相當(dāng)有用的教學(xué)方法。這種教學(xué)法能夠充分發(fā)揮學(xué)生的思維,突出學(xué)生的主體作用,能有效地培養(yǎng)學(xué)生的分析問題與解決問題的能力。以“冒泡排序”為例,筆者沒有平鋪直敘地介紹算法與程序代碼,而是先跟學(xué)生講解什么叫“冒泡”,然后讓學(xué)生思考冒泡排序的算法思路,進而讓學(xué)生討論并寫出算法流程圖,接下來講解如何用for與if程序結(jié)構(gòu)實現(xiàn)算法,最后才講解為了減少交換次數(shù)而引入swap這一判定變量,直至整個程序編寫完整。整個講解過程結(jié)合板書,逐步引導(dǎo),層層深入,取到很好的教學(xué)效果。
3.2 歸納教學(xué)法
C語言有很多的定義、概念、語法規(guī)則,它們使用靈活、難以記憶,也特別容易出錯。如果能夠引導(dǎo)學(xué)生進行歸納,將會起到事半功倍的效果。C語言的定義、概念、語法規(guī)則有許多相似的地方,例如:printf()與scanf()函數(shù),有很多語法規(guī)則是一樣的,對它們進行歸納之后,學(xué)生只要記住其中一個,另一個自然就會使用了。又如:數(shù)組與指針,由于它們使用靈活,許多學(xué)生與教師都認為它們很難,尤其是指針。但如果對它們進行歸納之后,就會發(fā)現(xiàn)無論是二維數(shù)組,還是指向指針的指針或其它類型的指針,它們都會變得與一維數(shù)組的使用一樣容易。為了這些歸納便于記憶,筆者還將它們編成了順口溜,例如二維數(shù)與各類有二重地址的指針歸納如下:數(shù)組名與指針名代表二重地址,即無“*”也無“[ ]”加減數(shù)值對行操作;僅有1個“*”或“[ ]”代表單重地址(即行地址),加減數(shù)值對列操作;“*”與“[ ]”加起來有2個就是元素值。
3.3 討論教學(xué)法
在C語言教學(xué)過程中,充分發(fā)揮學(xué)生的積極性與主動性是非常重要的一環(huán)。筆者針對這門課程的特點與學(xué)生的興趣,課前給學(xué)生布置了幾個專題,讓學(xué)生利用課余時間去思考、收集資料,并在課堂上組織學(xué)生發(fā)言和討論。這種教學(xué)法不僅可以讓學(xué)生獲得許多課外知識,同時也促進教學(xué)內(nèi)容的改革,而且也有利于充分挖掘?qū)W生的學(xué)習(xí)潛力。
3.4 因材施教法
由于學(xué)生學(xué)習(xí)的動機、興趣、能力存在較大的個體差異,所以決定了C語言課程必須因材施教。對于學(xué)習(xí)能力較強的學(xué)生,筆者就鼓勵他們自學(xué),并給予方向性指導(dǎo),讓他們超前學(xué)習(xí)。在C語言教學(xué)中,培養(yǎng)學(xué)生的自學(xué)能力尤為重要,如果學(xué)生的學(xué)習(xí)完全依賴教師才能掌握,而沒有一定的自學(xué)能力,其所學(xué)的知識很快就會被淘汰。對于多數(shù)學(xué)生,則把精力放在最基本、最常用的內(nèi)容上,讓他們學(xué)好基本功,掌握程序設(shè)計的方法,為后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。另外,教學(xué)過程中,筆者還不時地從學(xué)生的角度來考慮問題,講解內(nèi)容,加強師生的互動效果,以降低學(xué)生學(xué)習(xí)的焦慮情緒。
3.5 實踐教學(xué)法
學(xué)習(xí)程序設(shè)計課程的目的是掌握設(shè)計程序的思路,學(xué)會用計算機語言編寫程序,以實現(xiàn)所需處理的任務(wù)[2]。因此教學(xué)重點要放在解題的思路上,通過大量的實踐讓學(xué)生學(xué)會怎樣設(shè)計一個算法,構(gòu)造一個程序。筆者一開始,讓學(xué)生編寫簡單的程序,然后逐步深入。在實驗題目設(shè)置上,根據(jù)課時安排以及要掌握基本知識,設(shè)置必做與選做題,以滿足各個層次學(xué)生的需要。在本課程結(jié)束后,安排一次綜合的大實驗,培養(yǎng)學(xué)生綜合應(yīng)用能力。
3.6 綜合考核法
衡量這門課學(xué)習(xí)的好壞,不是看學(xué)生“知不知道”,而是“會不會干”?己说姆椒ú荒苤饕檬欠穷}和選擇題,而應(yīng)當(dāng)把重點放在編制程序和調(diào)試程序上[2]。所以筆者對學(xué)生學(xué)習(xí)成績的評定,采用綜合考核法,將平時的實踐成績與期末卷面成績進行綜合,得出本課程綜合考評分。這種教學(xué)法,不但能更客觀地反映學(xué)生的學(xué)習(xí)情況,同時也能促進學(xué)生學(xué)習(xí),起到很好的教學(xué)效果。
4 結(jié)束語
上述教學(xué)內(nèi)容、教學(xué)手段與教學(xué)方法的改革,是根據(jù)實際教學(xué)過程中學(xué)生存在的問題提出的,并已經(jīng)在《C語言程序設(shè)計》課程教學(xué)實踐中運用,取得了良好的教學(xué)效果。當(dāng)然,同樣的教學(xué)內(nèi)容面對不同的學(xué)生,在使用與設(shè)計某種教學(xué)方法時,還要求學(xué)生的配合才行,也就是說教的方法與學(xué)的方法要有機統(tǒng)一。筆者將繼續(xù)努力探索,使《C語言程序設(shè)計》課程教學(xué)日趨完善。希望本文能對大學(xué)計算機基礎(chǔ)教學(xué)有一定的借鑒作用。
參考文獻:
[1] 嚴桂蘭.C語言程序設(shè)計與應(yīng)用教程[M].福建:廈門大學(xué)出版社,2001
[2] 譚浩強.C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2005
[3] 李步洪.《光電技術(shù)》課程的教學(xué)改革與實踐[J].福建師范大學(xué)學(xué)報(自然版).2002,18(2):104
[4] 陳東. 計算機多媒體教學(xué)改革的一些嘗試[J].福建師范大學(xué)學(xué)報(自然版).2004,20(3):98
【《C語言程序設(shè)計》課程的教學(xué)改革與實踐論文】相關(guān)文章:
《匯編語言程序設(shè)計》課程教學(xué)改革與實踐論文11-22
字體設(shè)計課程教學(xué)改革與實踐論文03-18
字體設(shè)計課程教學(xué)改革與實踐分析論文11-23
計算機專業(yè)程序設(shè)計基礎(chǔ)課程教學(xué)改革論文11-09
c語言課程設(shè)計優(yōu)秀論文(精選6篇)02-02
《光學(xué)設(shè)計》課程教學(xué)改革的探索與實踐論文03-06
廣告設(shè)計課程實踐教學(xué)改革與研究論文11-23
C語言的論文致謝詞11-25
- 相關(guān)推薦