摘 要: 目前,C語言已被廣泛推廣,但繁多的數(shù)據(jù)類型和復(fù)雜的語法結(jié)構(gòu),使其成為了一門既難以學(xué)習(xí)又不易教授的課程。經(jīng)典案例分析教學(xué)法相對傳統(tǒng)教學(xué)方法具有形象、生動、授課效果好的特點,它很好地遵循了人們的學(xué)習(xí)規(guī)律,能讓學(xué)生學(xué)習(xí)興趣更濃、積極性更高。
關(guān)鍵詞: C語言 典型案例分析 教學(xué)方法
一、引言
C語言具有功能強(qiáng)大、表達(dá)力強(qiáng)、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好等良好的特性,它既具有高級語言的優(yōu)點,又具有低級語言的許多特點[1]。目前,很多新型的語言都衍生自C語言。因此,C語言也就成為所有計算機(jī)程序設(shè)計人員必須掌握的一種通用高級程序設(shè)計語言。但是,C語言繁多的數(shù)據(jù)類型和復(fù)雜的語法結(jié)構(gòu)使得C語言成為了一門既難以學(xué)習(xí)又不易教授的課程。
二、經(jīng)典案例分析教學(xué)法與傳統(tǒng)教學(xué)方法的比較
C語言的教學(xué)任務(wù),主要有以下三點:熟練掌握基本的語法知識,能夠輕松的閱讀程序,靈活的編寫程序。
傳統(tǒng)的教學(xué)模式通常是“三步曲”,即:提出概念→解釋概念→舉例說明。應(yīng)用這種模式教學(xué),過于注重語句、語法等細(xì)節(jié)的講解,對學(xué)生分析問題、解決問題的能力訓(xùn)練不夠,這樣學(xué)生只能學(xué)到一些枯燥的、容易忘記的、支離破碎的語法規(guī)則,不能具體靈活的應(yīng)用這個概念。
案例是對一個具體情景的記錄。經(jīng)典案例分析教學(xué)法就是通過選擇一個具有代表性的案例,對其分析研究來得出所要教授專業(yè)知識、技能或內(nèi)在原理。適當(dāng)?shù)剡x擇案例能將復(fù)雜枯燥的語法知識分解到每個生動、有趣、實用的程序?qū)嵗小_@樣能大大地提高學(xué)生學(xué)習(xí)的積極性,而且能夠掌握一些相應(yīng)的編程思想。
三、案例分析教學(xué)法在實際教學(xué)中的應(yīng)用
1.針對具體要求,適當(dāng)選擇案例。
在C語言教學(xué)中,依據(jù)課程的具體要求,教師應(yīng)該選擇難度適中、大小合適、貼近學(xué)生興趣的案例,當(dāng)然所選擇的案例要能貫穿本課程所授課的內(nèi)容[3],使我們將要學(xué)習(xí)的新知識都隱藏在這些案例中。
2.分析案例,提出問題,引入教學(xué)內(nèi)容。
每個案例中隱含著已學(xué)過的知識和新的知識,在分析任務(wù)時,我們應(yīng)以教師為主導(dǎo),學(xué)生為主體進(jìn)行研究、討論引導(dǎo)學(xué)生分析案例,提出問題,根據(jù)提出的問題及時講授新的知識。例如,在講解“自定義函數(shù)”時,教師可引入如下案例:計算數(shù)學(xué)式P=Mi/K!(M-Ki)的值,其中M=8,K=3[2](P163)。先要讓學(xué)生思考如何完成該任務(wù)和在完成任務(wù)的過程中將會遇到的問題。在分析這個案例時,我們可以將該案例先分解成:求M!、K!和(M-K)!三個子任務(wù),然后做乘除法即可。這時候我們就發(fā)現(xiàn)利用我們之前學(xué)過的知識就要針對這三個子任務(wù)重復(fù)的寫三次求X!的語句組。這樣就太繁冗了,有更簡潔的方法嗎?這時教師就可以及時地提出自定義函數(shù)這一概念了,以及函數(shù)的定義與調(diào)用相關(guān)的語法。學(xué)生帶著問題去聽,理解起來更容易。當(dāng)我們以一種更簡單的方式解決了問題后,學(xué)生就會有發(fā)現(xiàn)新大陸的感覺,這樣就激發(fā)了學(xué)生的求知欲,調(diào)動了學(xué)生學(xué)習(xí)的主動性。
3.經(jīng)典案例分析法在教學(xué)過程中的側(cè)重點。
在教學(xué)過程中,案例分析教學(xué)法以程序設(shè)計為主線進(jìn)行教學(xué),這就要求教師有意識地淡化C語言中語句、語法的介紹,并盡量避免過多講授C語言一些容易引起錯誤的細(xì)節(jié),而重點介紹程序設(shè)計方法和思路,在分析程序和程序設(shè)計中讓學(xué)生逐步熟悉語法和應(yīng)用語句,并把各種編程思想貫穿于算法分析和程序設(shè)計的過程中。其中語句、語法等細(xì)節(jié)問題需要在實驗中不斷的調(diào)試、修改來加強(qiáng)熟練度,很多算法也要通過實驗來驗證。因此,實驗在C語言教學(xué)中也占有舉足輕重的地位。
4.通過經(jīng)典案例分析熟練掌握典型算法。
在實際的教學(xué)過程中,我們發(fā)現(xiàn)一些學(xué)生平時學(xué)得很認(rèn)真,對語法、語句等細(xì)節(jié)也很熟悉,但碰到稍微復(fù)雜一點的編程就束手無策。一般來講,一個較復(fù)雜的軟件可以按功能分割為若干個典型的小模塊,每個小模塊最終都成為功能單一,結(jié)構(gòu)清晰,接口簡單,容易理解和編寫的小程序。只要學(xué)生掌握了典型案例的算法,就可以將這些算法像搭積木一樣組裝成相應(yīng)的軟件算法了。因此,在教學(xué)過程中,教師應(yīng)要求學(xué)生對一些典型案例的算法熟練掌握,如累加、累乘、排序、查找等,為以后編寫程序,軟件設(shè)計奠定基礎(chǔ),同時對典型案例的算法的熟練掌握,也會增加學(xué)生學(xué)習(xí)計算機(jī)語言的信心,從而提高學(xué)習(xí)興趣。
四、結(jié)語
編程人員熟練掌握一門程序設(shè)計語言固然重要,但更為重要的是具有編程思維能力和開發(fā)能力。通過教學(xué)實踐證明,教師選擇合適的案例教學(xué),可以讓學(xué)生掌握所學(xué)的內(nèi)容,對培養(yǎng)他們的編程思維能力和提高他們的軟件開發(fā)能力都有很大幫助。
參考文獻(xiàn):
[1]譚浩強(qiáng).C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2002.
[2]譚浩強(qiáng),周海燕,馮玉山,崔武子等.C語言程序設(shè)計[M].北京:華夏出版社,2005,6.
[3]覃國蓉.案例教學(xué)法在C++語言教學(xué)中的應(yīng)用[J].深圳信息職業(yè)技術(shù)學(xué)院學(xué)報,2003,12.