文章編號:1672-5913(2008)18-0084-02
摘要:本文針對C語言教學(xué)中普遍存在的“不好教,不好學(xué)”現(xiàn)象,分析了問題存在的原因,討論了如何在課堂教學(xué)中引入激勵(lì)機(jī)制,指出教師應(yīng)將教學(xué)內(nèi)容和教學(xué)方法進(jìn)行合理整合,針對教學(xué)內(nèi)容引入軟件研發(fā)案例或有趣的事件激勵(lì)學(xué)生,適時(shí)適量地帶出相應(yīng)的內(nèi)容,使枯燥的計(jì)算機(jī)語言課生動(dòng)起來,從而達(dá)到良好的教學(xué)效果。
關(guān)鍵詞:C語言;程序設(shè)計(jì);教學(xué);案例;興趣
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1以優(yōu)秀案例激發(fā)學(xué)生的興趣
作為一名大學(xué)計(jì)算機(jī)基礎(chǔ)課教師,首先要處理好“教什么”和“如何教”的問題。具體到C語言教學(xué)中,就是要依據(jù)學(xué)生的具體情況(包括專業(yè)、掌握計(jì)算機(jī)的程度等)將教學(xué)內(nèi)容和教學(xué)方法進(jìn)行合理的整合,選擇能夠充分調(diào)動(dòng)起學(xué)生學(xué)習(xí)興趣的優(yōu)秀“案例”,以案例為引導(dǎo),激發(fā)學(xué)生的興趣,從而使教學(xué)活動(dòng)成為師生雙方樂于參與的一種充滿情趣的活動(dòng)。正如德國教育家第斯多惠所說:“教學(xué)藝術(shù)的本質(zhì)不在于傳授,而在激勵(lì)、喚醒和鼓舞?!?/p>
C語言課程中,“函數(shù)”的概念比較抽象,學(xué)生不容易理解。我們在講解這一章內(nèi)容時(shí),采用下面這個(gè)具體的軟件研發(fā)案例來引出函數(shù)的概念。
案例:某公司準(zhǔn)備開發(fā)一款PDA新產(chǎn)品,要求能實(shí)現(xiàn)以下功能:電子詞典、計(jì)算器、記事簿、名片簿、股票。為了搶占市場,計(jì)劃在一個(gè)月內(nèi)完成軟件開發(fā)。該公司研發(fā)部(RD)有一批編程工程師,如何才能使他們按時(shí)按要求完成這項(xiàng)任務(wù)?
分析:針對這個(gè)案例,先讓學(xué)生討論解決的方案,最后由老師進(jìn)行總結(jié):要在這么短的時(shí)間內(nèi)完成這樣一項(xiàng)研發(fā)任務(wù),應(yīng)當(dāng)發(fā)揮團(tuán)隊(duì)作戰(zhàn)精神,分工協(xié)作。為此,首先應(yīng)將PDA新產(chǎn)品預(yù)實(shí)現(xiàn)的功能進(jìn)行逐項(xiàng)分解,如圖1所示,再將分解后的子模塊分派給不同的工程師,齊心協(xié)力完成這項(xiàng)任務(wù)。在C語言中,各個(gè)功能是由函數(shù)來實(shí)現(xiàn)的,如圖2所示。把任務(wù)進(jìn)一步程序化,用一個(gè)主程序來實(shí)現(xiàn)PDA的功能,如圖3所示。各個(gè)工程師具體完成實(shí)現(xiàn)各個(gè)功能的函數(shù),如圖4所示。
通過這項(xiàng)PDA產(chǎn)品開發(fā)的案例,不僅讓學(xué)生了解了軟件研發(fā)的具體過程,而且加深了對函數(shù)概念的理解,在課堂教學(xué)在取得了較好的效果。
2以情趣激發(fā)學(xué)生的興趣
結(jié)構(gòu)體是C語言的重要類容,也是一個(gè)難點(diǎn)。在教學(xué)中如果直接講解概念,往往效果并不理想。恰逢學(xué)校正在進(jìn)行教學(xué)評估,因此在講結(jié)構(gòu)體一章的內(nèi)容時(shí),設(shè)計(jì)了圖5所示的這樣一則海報(bào)來引入教學(xué)內(nèi)容。
案例:假設(shè)由10名學(xué)生代表做評委,給所有參加演出的演員打分。要求編寫打分程序,根據(jù)王菲演唱會(huì)海報(bào)內(nèi)容,統(tǒng)計(jì)所有演員各項(xiàng)指標(biāo)的得分,分別評選出單項(xiàng)指標(biāo)得分最高的演員,并打印出他們的個(gè)人信息資料。
問題:王菲演唱會(huì),打分項(xiàng)目包括臺(tái)風(fēng)分、臺(tái)藝分和觀眾緣分,用C程序設(shè)計(jì)語言怎樣表示?
分析:以上信息可以定義數(shù)組來表示:
float score[3];
score[0]=臺(tái)風(fēng)分;
score[1]=演藝分;
score[2]=觀眾緣分;
問題:這些數(shù)據(jù)有什么特點(diǎn)?如果還要求表示編號、姓名、性別信息呢?能否用像數(shù)組一樣的某種數(shù)據(jù)類型方便地把全部信息表示出來?
提示:由此引出新的數(shù)據(jù)類型——結(jié)構(gòu)體的概念。如果用結(jié)構(gòu)體actor來記錄以上信息,那么其定義形式如下:
struct actor
{
long num;/*編號*/
char nam [10];/*姓名*/
char sex [6];/*性別*/
floatscore [3];/*臺(tái)風(fēng)、演藝及觀眾緣指標(biāo)*/
};
問題:各成員有什么特點(diǎn)?結(jié)構(gòu)體和數(shù)組的有什么異同?
通過這個(gè)問題,將結(jié)構(gòu)體類型和數(shù)組類型相比較,可以在復(fù)習(xí)數(shù)組知識的基礎(chǔ)上加深學(xué)生對結(jié)構(gòu)體類型的理解。在學(xué)習(xí)中,使學(xué)生明白:只有充分了解每一種數(shù)據(jù)類型的特點(diǎn),清晰區(qū)分各種數(shù)據(jù)類型之間的異同之處,才能在程序中針對實(shí)際問題恰如其分的選擇合適的數(shù)據(jù)結(jié)構(gòu)。到此,結(jié)構(gòu)體的概念已十分清楚的呈現(xiàn)在學(xué)生面前,接下來以此事件展開,講解定義結(jié)構(gòu)體變量的方法、賦初值的方法以及如何引用結(jié)構(gòu)體中的數(shù)據(jù)??梢粤舫鑫宸昼姇r(shí)間,讓學(xué)生通過思考,畫出程序算法的流程圖。最后,由老師進(jìn)行算法分析并引導(dǎo)學(xué)生編寫程序。實(shí)踐證明,在課堂教學(xué)中,時(shí)刻注意從生活中選取與課堂內(nèi)容息息相關(guān)相關(guān)的事件展開教學(xué),比直接講解概念更能引起學(xué)生的興趣,同時(shí)事件本身也可以增進(jìn)學(xué)生對概念的理解。
3結(jié)束語
作者曾嘗試把這種思路貫徹在網(wǎng)絡(luò)工程和電子商務(wù)專業(yè)的C語言程序設(shè)計(jì)教學(xué)中,效果良好,多名學(xué)生在程序設(shè)計(jì)大賽中獲獎(jiǎng),還有一些學(xué)生被聘到公司兼職編程。文科類專業(yè)的C語言程序設(shè)計(jì)課程更是公認(rèn)的難題,為解決這一難題,作者在法學(xué)、英語專業(yè)的C語言程序設(shè)計(jì)課程中貫徹趣味性教學(xué)的思想,教學(xué)效果正如預(yù)期一樣,學(xué)生積極性大大提高,教學(xué)質(zhì)量也大幅提高,許多學(xué)生修完后主動(dòng)參加全國或省二級(C語言程序設(shè)計(jì))統(tǒng)考,其中不乏考試成績?yōu)閮?yōu)秀者。
參 考 文 獻(xiàn)
[1] 吳文虎. 程序設(shè)計(jì)基礎(chǔ)[M]. 北京:清華大學(xué)出版社,2003.
[2] 譚浩強(qiáng). C語言程序設(shè)計(jì)[M] 北京:清華大學(xué)出版社,2005.
[3] 于帆,趙妮,王中生. 程序設(shè)計(jì)語言基礎(chǔ)(C語言版)[M]. 北京:清華大學(xué)出版社,2006.
[4] 顧元?jiǎng)偟染幹? C語言程序設(shè)計(jì)教程[M]. 北京:機(jī)械工業(yè)出版社,2004.