摘要:C語(yǔ)言程序設(shè)計(jì)是信息與計(jì)算科學(xué)專業(yè)一門重要且難度很大的專業(yè)必修課。為解決C語(yǔ)言教學(xué)中的重點(diǎn)和難點(diǎn),作者結(jié)合多年的教學(xué)經(jīng)驗(yàn),從三個(gè)方面對(duì)教學(xué)方法的改進(jìn)進(jìn)行了討論,以期提高教學(xué)效果。
關(guān)鍵詞:C語(yǔ)言;程序設(shè)計(jì);教學(xué)方法
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)07-11676-01
The Reform and Practice of the C Programming Language Course Teaching Method
SUN Hong-quan
(School of Mathematics, Heilongjiang University, Harbin 150080,China)
Abstract: The C programming language is an important and difficult specialized required course in information and computation scientific specialty. For solving the key and difficulty in C language teaching course, with teaching experience author discuss the improvement of teaching method in three aspects and expect to improve the teaching effect.
Key words:The C Language; Programming; Teaching Method
1 引言
《C語(yǔ)言程序設(shè)計(jì)》是信息與計(jì)算科學(xué)專業(yè)一門重要且難度很大的專業(yè)必修課。C語(yǔ)言的功能豐富,表達(dá)方式靈活多樣,應(yīng)用面非常廣,學(xué)好《C語(yǔ)言程序設(shè)計(jì)》這門課程能夠?yàn)檫M(jìn)一步學(xué)習(xí)相關(guān)的專業(yè)課程打下良好的基礎(chǔ),同時(shí)也為將來(lái)從事軟件開發(fā)方面的工作提供了基本的條件,對(duì)培養(yǎng)新時(shí)代的計(jì)算機(jī)應(yīng)用開發(fā)人才具有重要的意義。
作者從事C語(yǔ)言教學(xué)多年,在實(shí)際教學(xué)過程中發(fā)現(xiàn)了一些不利于課程學(xué)習(xí)的問題。由于學(xué)習(xí)C語(yǔ)言的起點(diǎn)相對(duì)較高,很多學(xué)生對(duì)于這門課程從一開始就在心理上有所畏懼,覺得自己沒有多少計(jì)算機(jī)基礎(chǔ),學(xué)習(xí)起來(lái)會(huì)很難,不知該如何入手;在學(xué)習(xí)的過程中又覺得知識(shí)點(diǎn)很多,不易掌握,學(xué)了也不知道如何運(yùn)用到程序設(shè)計(jì)中;還有部分學(xué)生的學(xué)習(xí)動(dòng)力不足,他們的學(xué)習(xí)目的只是通過考試。此外,大部分學(xué)生的學(xué)習(xí)方法不當(dāng),學(xué)習(xí)效率低,編程和上機(jī)調(diào)試的能力很差。這些問題嚴(yán)重影響了課程的教學(xué)效果,從而也影響了學(xué)生后續(xù)課程的學(xué)習(xí)和從事軟件開發(fā)的能力。因此,妥善解決程序設(shè)計(jì)中枯燥難懂的問題,開創(chuàng)新穎適宜的教學(xué)方法是教師面臨的重要問題。
為解決上述問題,作者從個(gè)人教學(xué)經(jīng)驗(yàn)出發(fā),從以下三個(gè)方面對(duì)《C語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)改進(jìn)進(jìn)行討論。
2 盡量提高學(xué)生的學(xué)習(xí)興趣
學(xué)生如果具有濃厚的學(xué)習(xí)興趣,就可以大大提高學(xué)習(xí)效率,變被動(dòng)學(xué)習(xí)為主動(dòng)學(xué)習(xí),因此激發(fā)學(xué)生的學(xué)習(xí)興趣是提高課程教學(xué)效果的一個(gè)重要環(huán)節(jié)。
我們可以采用幾種手段達(dá)到提高學(xué)生的學(xué)習(xí)興趣的目的。首先,在上課之初,可以從3個(gè)方面對(duì)課程進(jìn)行介紹:
(1) C語(yǔ)言作為計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,具有強(qiáng)大的功能和優(yōu)勢(shì),它也是一門應(yīng)用廣泛的語(yǔ)言。鑒于C語(yǔ)言的這些優(yōu)點(diǎn),有些學(xué)生會(huì)因此產(chǎn)生學(xué)習(xí)的興趣;
(2) 作為一門必修課程,它也是非常重要的專業(yè)基礎(chǔ)課,學(xué)好C語(yǔ)言對(duì)后續(xù)多門課程的學(xué)習(xí)有重要作用。學(xué)生知道了課程之間的密切聯(lián)系,這可以在一定程度上引起學(xué)生的重視,從而提高學(xué)習(xí)興趣;
(3) 鑒于有些學(xué)生根本就不想從事與程序設(shè)計(jì)有關(guān)的工作,或從根本上就對(duì)計(jì)算機(jī)類的課程不感興趣,這時(shí),我們應(yīng)該提醒他們,學(xué)好本課程并不僅僅是學(xué)習(xí)一門課,更重要的是能夠有效地鍛煉邏輯思維能力,這也能使學(xué)生在學(xué)習(xí)中有意識(shí)地加大對(duì)本課程的學(xué)習(xí)力度。
其次,在授課過程中可以多提出一些比較實(shí)際的小問題,采用分組討論的辦法來(lái)促進(jìn)學(xué)生的學(xué)習(xí)。比如,讓學(xué)生設(shè)計(jì)一個(gè)小學(xué)算術(shù)考試題系統(tǒng),該系統(tǒng)可以隨機(jī)產(chǎn)生考試題,并自動(dòng)進(jìn)行評(píng)分。此時(shí),可以將學(xué)生分成多個(gè)小組進(jìn)行討論,讓他們共同解決問題,對(duì)表現(xiàn)優(yōu)異的小組給予一定的獎(jiǎng)勵(lì),這也能提高學(xué)生的學(xué)習(xí)興趣,同時(shí)也能培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神。
再次,一定要鼓勵(lì)學(xué)生參加答疑。一個(gè)人在學(xué)習(xí)一門課程的過程中,要想不遇到任何問題,這幾乎是不可能的。應(yīng)該經(jīng)常鼓勵(lì)學(xué)生提出問題,告訴學(xué)生,“在學(xué)習(xí)上沒有問題就是最大的問題”。但總有部分學(xué)生具有一定的惰性心理,遇到問題不愿意主動(dòng)去尋求解決的方法,在答疑時(shí)間也不去詢問老師,結(jié)果積攢的問題越來(lái)越多,這直接的影響了進(jìn)一步學(xué)習(xí)的效果,同時(shí)也容易失去進(jìn)一步學(xué)習(xí)的興趣。因此,一定要采取適當(dāng)?shù)拇胧箤W(xué)生做到“有問必問”,而我們教師也要做到“有問必答”,以
期形成一個(gè)良性循環(huán)。
3 加強(qiáng)學(xué)生學(xué)習(xí)能力的培養(yǎng),提高學(xué)生的動(dòng)手能力
使學(xué)生明白本課程學(xué)習(xí)的重點(diǎn)是“程序設(shè)計(jì)”,而想要學(xué)好C語(yǔ)言的最佳途徑就是親自嘗試使用C語(yǔ)言,也就是進(jìn)行上機(jī)實(shí)踐。要向?qū)W生強(qiáng)調(diào)上機(jī)實(shí)踐的重要性,在課堂上盡可能通過對(duì)程序的分析和程序?qū)嶋H運(yùn)行的結(jié)果來(lái)講解和驗(yàn)證概念,這樣既有助于學(xué)生理解概念又能使學(xué)生在潛移默化中逐步建立起學(xué)習(xí)的中心環(huán)節(jié)是程序設(shè)計(jì)實(shí)踐這一認(rèn)識(shí),從中體會(huì)學(xué)以致用的樂趣。
上機(jī)實(shí)踐對(duì)于學(xué)習(xí)C語(yǔ)言來(lái)說(shuō)是至關(guān)重要的,可分為下列幾個(gè)過程進(jìn)行:
(1) 驗(yàn)證所學(xué)知識(shí)。在學(xué)習(xí)了新的內(nèi)容之后,需要對(duì)所學(xué)知識(shí)進(jìn)行鞏固吸收,由于對(duì)新的內(nèi)容還不夠熟練,所以只要求按照教材上的程序?qū)嵗M(jìn)行原樣輸入并運(yùn)行即可。這種驗(yàn)證的主要目的是熟悉并記憶新學(xué)章節(jié)的知識(shí)點(diǎn),同時(shí)養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格。
(2) 加深對(duì)所學(xué)知識(shí)的認(rèn)識(shí)。對(duì)教材上的程序?qū)嵗M(jìn)行試驗(yàn)性的修改,再運(yùn)行一下程序,觀察程序運(yùn)行結(jié)果是否發(fā)生變化并分析變化的原因,這樣可以加深對(duì)新學(xué)知識(shí)點(diǎn)的理解。
(3) 利用所學(xué)知識(shí)解決習(xí)題。在對(duì)學(xué)過的程序已完全掌握的基礎(chǔ)上,先嘗試獨(dú)立編寫一些與課本上內(nèi)容相似的程序,加深對(duì)編程的理解。同時(shí),也要擴(kuò)展思維,解放思想,敢于嘗試。對(duì)遇到的各種問題盡量多想幾種解決的方案,不要拘泥于固定的思維方式,以增加分析問題、解決問題的能力。在編寫程序的過程中,幾乎不可避免的會(huì)出現(xiàn)編譯錯(cuò)誤和邏輯錯(cuò)誤,而對(duì)程序進(jìn)行調(diào)試的過程是非常好的學(xué)習(xí)和掌握知識(shí)的過程,也是學(xué)好C語(yǔ)言的一個(gè)必經(jīng)之路。
4 充分利用各種講授技巧
(1) 對(duì)知識(shí)的講解要突出重點(diǎn),不一定非要面面俱到。例如,在講解運(yùn)算符的優(yōu)先級(jí)和結(jié)合性時(shí),應(yīng)該向?qū)W生強(qiáng)調(diào):死記所有運(yùn)算符的優(yōu)先級(jí)和結(jié)合性是不必要的,括號(hào)具有最高的優(yōu)先級(jí),當(dāng)記不清表達(dá)式中運(yùn)算符的優(yōu)先級(jí)和結(jié)合性時(shí),只需根據(jù)需要添加括號(hào)即可,多余的括號(hào)并不會(huì)降低程序的運(yùn)行效率。
(2) 在授課過程中可以適當(dāng)使用生動(dòng)幽默的語(yǔ)言,這有助于講解復(fù)雜的概念。教科書中對(duì)概念的敘述必須是嚴(yán)謹(jǐn)而又規(guī)范的,教師必須在保證嚴(yán)謹(jǐn)規(guī)范的同時(shí)使其變得通俗易懂。例如,在講解指針的概念時(shí),可做如下的類比:變量在內(nèi)存中都有一個(gè)“門牌號(hào)”,指針就是用來(lái)記錄“門牌號(hào)”的變量。
(3) 有效地利用各種教學(xué)設(shè)備和多媒體課件。充分利用多媒體計(jì)算機(jī)和投影儀的作用,在課堂上現(xiàn)場(chǎng)進(jìn)行程序的調(diào)試和運(yùn)行,并分析運(yùn)行結(jié)果。無(wú)論是對(duì)概念和語(yǔ)法的講解,還是針對(duì)給定問題的程序?qū)崿F(xiàn),都能夠更有效地展示出來(lái),從而有助于學(xué)生更好的掌握課程知識(shí)。
參考文獻(xiàn):
[1]Brian W. Kernighan. C程序設(shè)計(jì)(第2版)[M]. 機(jī)械工業(yè)出版社,2004.