文章編號:1672-5913(2008)18-0084-02
摘要:本文針對C語言教學中普遍存在的“不好教,不好學”現象,分析了問題存在的原因,討論了如何在課堂教學中引入激勵機制,指出教師應將教學內容和教學方法進行合理整合,針對教學內容引入軟件研發案例或有趣的事件激勵學生,適時適量地帶出相應的內容,使枯燥的計算機語言課生動起來,從而達到良好的教學效果。
關鍵詞:C語言;程序設計;教學;案例;興趣
中圖分類號:G642 文獻標識碼:B
1以優秀案例激發學生的興趣
作為一名大學計算機基礎課教師,首先要處理好“教什么”和“如何教”的問題。具體到C語言教學中,就是要依據學生的具體情況(包括專業、掌握計算機的程度等)將教學內容和教學方法進行合理的整合,選擇能夠充分調動起學生學習興趣的優秀“案例”,以案例為引導,激發學生的興趣,從而使教學活動成為師生雙方樂于參與的一種充滿情趣的活動。正如德國教育家第斯多惠所說:“教學藝術的本質不在于傳授,而在激勵、喚醒和鼓舞?!?/p>
C語言課程中,“函數”的概念比較抽象,學生不容易理解。我們在講解這一章內容時,采用下面這個具體的軟件研發案例來引出函數的概念。
案例:某公司準備開發一款PDA新產品,要求能實現以下功能:電子詞典、計算器、記事簿、名片簿、股票。為了搶占市場,計劃在一個月內完成軟件開發。該公司研發部(RD)有一批編程工程師,如何才能使他們按時按要求完成這項任務?
分析:針對這個案例,先讓學生討論解決的方案,最后由老師進行總結:要在這么短的時間內完成這樣一項研發任務,應當發揮團隊作戰精神,分工協作。為此,首先應將PDA新產品預實現的功能進行逐項分解,如圖1所示,再將分解后的子模塊分派給不同的工程師,齊心協力完成這項任務。在C語言中,各個功能是由函數來實現的,如圖2所示。把任務進一步程序化,用一個主程序來實現PDA的功能,如圖3所示。各個工程師具體完成實現各個功能的函數,如圖4所示。
通過這項PDA產品開發的案例,不僅讓學生了解了軟件研發的具體過程,而且加深了對函數概念的理解,在課堂教學在取得了較好的效果。


2以情趣激發學生的興趣
結構體是C語言的重要類容,也是一個難點。在教學中如果直接講解概念,往往效果并不理想。恰逢學校正在進行教學評估,因此在講結構體一章的內容時,設計了圖5所示的這樣一則海報來引入教學內容。
案例:假設由10名學生代表做評委,給所有參加演出的演員打分。要求編寫打分程序,根據王菲演唱會海報內容,統計所有演員各項指標的得分,分別評選出單項指標得分最高的演員,并打印出他們的個人信息資料。

問題:王菲演唱會,打分項目包括臺風分、臺藝分和觀眾緣分,用C程序設計語言怎樣表示?
分析:以上信息可以定義數組來表示:
float score[3];
score[0]=臺風分;
score[1]=演藝分;
score[2]=觀眾緣分;
問題:這些數據有什么特點?如果還要求表示編號、姓名、性別信息呢?能否用像數組一樣的某種數據類型方便地把全部信息表示出來?
提示:由此引出新的數據類型——結構體的概念。如果用結構體actor來記錄以上信息,那么其定義形式如下:
struct actor
{
long num;/*編號*/
char nam [10];/*姓名*/
char sex [6];/*性別*/
floatscore [3];/*臺風、演藝及觀眾緣指標*/
};
問題:各成員有什么特點?結構體和數組的有什么異同?
通過這個問題,將結構體類型和數組類型相比較,可以在復習數組知識的基礎上加深學生對結構體類型的理解。在學習中,使學生明白:只有充分了解每一種數據類型的特點,清晰區分各種數據類型之間的異同之處,才能在程序中針對實際問題恰如其分的選擇合適的數據結構。到此,結構體的概念已十分清楚的呈現在學生面前,接下來以此事件展開,講解定義結構體變量的方法、賦初值的方法以及如何引用結構體中的數據??梢粤舫鑫宸昼姇r間,讓學生通過思考,畫出程序算法的流程圖。最后,由老師進行算法分析并引導學生編寫程序。實踐證明,在課堂教學中,時刻注意從生活中選取與課堂內容息息相關相關的事件展開教學,比直接講解概念更能引起學生的興趣,同時事件本身也可以增進學生對概念的理解。
3結束語
作者曾嘗試把這種思路貫徹在網絡工程和電子商務專業的C語言程序設計教學中,效果良好,多名學生在程序設計大賽中獲獎,還有一些學生被聘到公司兼職編程。文科類專業的C語言程序設計課程更是公認的難題,為解決這一難題,作者在法學、英語專業的C語言程序設計課程中貫徹趣味性教學的思想,教學效果正如預期一樣,學生積極性大大提高,教學質量也大幅提高,許多學生修完后主動參加全國或省二級(C語言程序設計)統考,其中不乏考試成績為優秀者。
參 考 文 獻
[1] 吳文虎. 程序設計基礎[M]. 北京:清華大學出版社,2003.
[2] 譚浩強. C語言程序設計[M] 北京:清華大學出版社,2005.
[3] 于帆,趙妮,王中生. 程序設計語言基礎(C語言版)[M]. 北京:清華大學出版社,2006.
[4] 顧元剛等編著. C語言程序設計教程[M]. 北京:機械工業出版社,2004.