摘要:本文針對C語言程序設計課堂教學中存在的影響教學質量與教學效果的問題進行了分析,并提出了框架教學法、階梯式教學法、案例教學法、經(jīng)典語句提煉法和教學互動多樣化等方法。通過多年的實踐教學經(jīng)驗表明,這些方法對提高教學質量、改善教學效果、訓練學生思維和培養(yǎng)學生的學習興趣有一定的參考價值。
關鍵詞:C語言;課堂教學;教學方法
中圖分類號:G642
文獻標識碼:A
1引言
隨著多媒體技術的應用與發(fā)展,“C語言程序設計”的教學方式也從單一的板書模式向利用多媒體技術進行教學的方式發(fā)展。在這種教學方式下,教師節(jié)省了書寫板書的時間,學生也可以在單位時間內獲取更多的知識[1],但是同時也存在學生不能充分消化所學知識的現(xiàn)象。在我國一些高等院校,這門課是面向大一新生開設,學生以前沒有接觸過程序設計思想,所以會感覺內容枯燥、不理解、不入門甚至厭學。針對上述現(xiàn)象,教師如何引導學生思考、如何設計教學內容以及如何進行內容講授是很值得思考的問題,這也是提高“C語言程序設計”課堂教學質量及教學效果的關鍵。
2教學中存在的問題分析與對策
(1) 運用框架教學法。教師的教學理念是否正確將直接影響教師的知識表達方式。題目的講解重點在于講思路,講怎樣想,而不在于講每條語句的釋義或語法。因此,需要用問題引導學生思考,同時采用框架教學法將學生的答案記錄。例如,利用公式Otilde;/4=1-1/3+1/5-1/7+…求 Otilde;的近似值,直到某一項的絕對值小于10-6為止[2]。學生從題目中看到的內容與規(guī)律如圖1所示:
這樣,學生從已知知識到未知的程序設計就有了一個明確的思路,以后便會舉一反三,遇到類似更復雜的問題就會有思路,例如:sin(x)=x-x3/3!+x5/5!-x7/7!…,直到最后一項的絕對值<10-7。

(2) 授課內容不拘泥于章節(jié)順序。每本教材都有各自的特點,如譚浩強的《C程序設計》內容全面細致,但是若將學生引入枯燥的語法中,而學了三章還不知道程序為何物,勢必讓學生的學習興趣大打折扣。所以無論選用什么教材,教師都可以按學生的理解能力編排教學內容。可以讓學生第一次上課就接觸程序,第一次上機就模仿程序,這種通過程序運行帶來的快樂會加強學生的學習信心,而且給學生以直觀的認識,消除程序設計的神秘感。算法的內容可以放到順序結構程序設計的后面再講,這樣學生便輕松理解算法是什么,打印輸出語句可以第一節(jié)就簡單介紹,因為每次上機實踐都會用到。諸如此類的想法與經(jīng)驗都是來源于學生的理解需求。
此外,還可以采用漸近式或階梯式的教學方法。比如,講指針和函數(shù)等有一定難度的章節(jié)時,可以采取這種方式。以函數(shù)為例,先將最簡單的函數(shù)基礎知識講授給學生,讓他們知道什么是函數(shù)、作用及功能即可,當講過數(shù)組和結構的章節(jié)后,再深入的講解函數(shù)的各種較復雜的知識點,學生就容易理解了,這種“分散難點”的漸近式教學方法,可以讓學生學到最后一章還是充滿信心。
(3) 理論聯(lián)系實踐,充分利用案例教學法。學生在沒有明確學習目的情況下會提出:“學這門課到底有什么用?”這類問題。作為大學生,學生學習的動機會促使他們更關心所學知識是否會學有所用,難點也許不僅僅在于課程本身。所以,C語言的重要性一定要強調。C語言不是一門過時的語言,學生不重視在較大程度上是因為學生不了解它。C語言是一些操作系統(tǒng)的服務、網(wǎng)絡和驅動程序等底層軟件的開發(fā)基礎;在手機、PDA等嵌入式產(chǎn)品開發(fā)與研究領域也有廣泛的應用。在教學中,可以結合案例進行教學,簡單的如構建通訊錄、學生信息管理,游戲程序等;復雜的可以演示在工業(yè)領域中的應用案例等。
(4) 經(jīng)典語句提煉,以一當十。在程序設計中,將出現(xiàn)頻率高的語句和算法提煉出來單獨講解,這樣有利于給同學們格外加深印象。這類語句如:累加語句sum=sum+i、累乘語句p=p*i、換位語句t=x;x=y;y=t和求最值等。引導學生歸納總結,針對同一算法,如累加求和可以用什么樣的方法實現(xiàn),將循環(huán)、數(shù)組、函數(shù)和指針的解法進行對比。有了這樣的基礎,以后的程序講解便可重點突出,遇到這類語句簡單提示即可,提高了授課效率。此外,講解程序時,重點的語句要點撥,如怎樣一行輸出10個數(shù)、怎樣輸入、輸出二維數(shù)組,讓學生學習其寫法,這樣當學生獨立編程時不用為這些小知識點苦惱。
(5) 課件的制作不主張“放電影”式的快速翻閱幻燈片,學生在每張幻燈片上視覺停留時間短,對教師所授知識點印象不深刻,容易過目就忘。每一章的幻燈片要求精而不求多,每一頁內容最好能包含幾個“看點”,有對比,并且有引發(fā)學生思考的問題。
以打印乘法口訣表為例講授for循環(huán)嵌套,如圖2所示,重點點撥的知識點與設計的提問有:
① 怎樣使用for循環(huán)嵌套?
② 復合語句,是否加{},結果有什么不同?
③ 本題是求1-4的乘法口訣表,若改為1-9的乘法口訣表,怎樣改程序?
④ 打印結果排列成一個正方形,若想變成如圖2中思考題所示的四個形狀的三角形,分別怎樣修改程序?有什么規(guī)律?
這樣將一張幻燈片內容講透,學生會對所學內容細細品味,并且印象深刻。

(6) 教學互動形式多樣化,培養(yǎng)學生的自學能力和動手能力。教學目標不是要給學生糧食吃,而是要教他們種糧食的本領,是要培養(yǎng)學生快速學習能力、實踐能力和觸類旁通的能力以適應社會的需求。教學場地不局限于課堂,可以組織學生進行各類設計競賽或參觀實踐,以豐富教學內容,理論聯(lián)系實踐,這樣學生的主動性、積極性和創(chuàng)造力會被無形的激發(fā)出來[3]。
(7) 加強上機考試的力度。目前,考試方式一般為平時實驗成績+筆試,這種考試方式的不足在于學生的編程調試能力不容易測試出來,只要看懂書本就能得高分,弱化了實踐能力的考核力度;如果將考試方式改為平時實驗成績20%+筆試50%+在線編程30%的模式,可督促學生在平時訓練中更注重調試編程能力的訓練。
(8) 教材的使用上可以因材施教,刪繁就簡。針對任何一本教材,在授課中,要根據(jù)學生的專業(yè)、學習能力和基礎進行有選擇的講解,不應該照本宣科。例如,若學生的基礎較薄弱,可刪除題目較復雜的例題或不常用的知識點,要重點突出。若學生存在個性化差異較大,也可采取分級教學等方法。
3引導學生掌握C語言學習的基本入門方法
正確的引導學生掌握學習語言的基本方法可以幫助“摸著石頭過河”的同學快速入門。除了在課堂教學中要充分運用各種教學技巧調動學生的學習熱情外,在上機實踐中的題目安排與實踐方式也要講究方法與技巧,由淺入深,盡量幫助消除學生在上機課不知所措的感覺。上機實踐可以采取模仿、改寫至編寫的訓練思路[4]。第一階段,在學生沒有任何編程基礎的情況下,模仿程序并運行會讓學生信心十足之余也對C語言的結構、特點和上機環(huán)境有所了解,這個階段培養(yǎng)興趣是主要目的;第二階段在學生有了一些基本語法知識和編程思路時,不要急于讓學生自己編程,因為大多數(shù)學生往往會有無從下手的感覺,這時改寫程序會讓學生循序漸進的又向前邁進了一步;第三階段,教師可設計一些讓學生不費力就能獨立完成的小程序;當學生有了這些基礎,就可以留一些有難度的題目,教師課前可做一些思路上的引導與提示。總之,讓初學者對學習C語言保持信心和興趣是至關重要的,教師是知識引導者,而不要對學生一味的灌輸枯燥的理論與施加壓力。
4結論
本文分析了C語言程序設計教學中存在的一些問題,并提出了相關對策,這包括框架教學法、階梯式教學法、案例教學法、經(jīng)典語句提煉法和教學互動多樣化等方法。實踐表明,這些方法對學生增強學習信心與提高學習興趣有事半功倍的效果,同時也有助于教師提高教學質量和取得良好的教學效果。
參考文獻
[1] 吳敏. 充分利用多媒體技術推進C語言教學發(fā)展[J]. 中國電力教育,2007,(9).
[2] 譚浩強. C程序設計第三版[M]. 北京:清華大學出版社,2007.
[3] 劉金安, 高濤等. 基于成就激勵的任務驅動式C語言教學模式研究[J]. 計算機教育,2008,(4).
[4] 何欽銘, 顏暉. C語言程序設計[M]. 北京:高等教育出版社,2008.
Teaching Quality Analysis and Countermeasure Study on C Programming Language
Liu Yahui,Zhou Changsheng,F(xiàn)ang weiwei
(Computer Center, Beijing Information Science and Technology University, Beijing, China 100192)
Abstract: This paper does an analysis on the problems,which influence on Teaching Quality and teaching effect in the C programming class.And it puts forward framework teaching method,step by step teaching method,case teaching method,classical sentences teaching method and teaching interaction diversification and so on.Practice shows that those methods have certain reference value for enhancing teaching quality,improve teaching effect,training thinking skills and cultivating interests in learning.
Key words: C Programming Language, classroom teaching, teaching methods