摘 要:在高校的C語言課程教學中,主要存在著學生學習積極性不高、編程思維欠缺、上機練習不夠重視等問題。針對以上問題,高校應按照該課程教育的培養目標,適當調整教學內容,采用“精講多練”的課堂教學方法,“任務驅動”的上機實踐教學以及合理有效的考核方式,進行一系列教學改革,以更好地促進C語言教學。
關鍵詞:教學改革;編程能力;C語言
一、《C語言程序設計》教學存在的問題
1.缺乏培養編程能力的有效教學方法
高校普遍存在著注入式C語言程序設計教學模式,就是教師在授課中習慣把主要精力放在枯燥且學生不感興趣的語法理論講解上,輕視上機實踐,甚至把上機實驗變成打字練習,失去了上機練習的意義。傳統教學C語言授課不能很好地把教學的重點放在培養學生的程序設計思維方法上,造成學生缺乏創造性思維方法和解決問題的能力,使學生喪失學習興趣。顯然,注入式教學法已不再適用高校C語言程序設計講授,探索出一種適合高校學生學習的程序設計教學方法是今后教學改革的一個重點。
2.C語言語法煩瑣,初學者不易掌握
C語言作為經典的編程語言,靈活自由的編程特點、較強的編程能力,深受許多編程人員的喜愛,然而靈活卻煩瑣的語法使初學者望而生畏;另外,C語言課程一般安排在學生對計算機結構還缺乏整體認識的大學一年級,從而造成學生難以掌握和計算機硬件尤其是和內存結合緊密的程序設計概念,阻礙了一部分初學者學習的步伐。
3.學生本身重理論、輕實踐
學生在學習C語言過程中對語言類學科特點模糊,而是將學習重點放在語法知識掌握上,沒有注重知識的連續性與完整性,不能建立良好的編程思維,碰到實際問題不知如何開始。C語言作為一門實踐性很強的計算機語言,只憑在課堂上聽和看是根本不行的,學生沒有通過大量的編程實踐,就不能很好地理解并熟練掌握程序設計語言的思想和方法。目前,上機實踐教學環節存在一些典型問題,例如,學生上機實驗的目的模糊不清,只會照抄教師提供的源程序或者例題;對調試的程序根本不理解,只會死搬硬套,出現的問題不知道如何處理。
4.紙張考試影響學生學習態度
目前,很多高校的C語言還在采用傳統的紙張考試。作為一門語言類程序設計的考試,對學生實際編程能力考得少,往往對語法理論知識考得偏多,過多注重語法煩瑣細節考試,而忽略了對實際編程能力的考察。從而造成多數學生平常靠背題來學習C 語言,忽略了個人動手編程能力的培養,所以就會出現考試分數高,實際編程低能的情況。作為一門編程語言,最重要的應該是培養學生的編程思維能力,否則就會影響到學生學習的效果。
二、《C語言程序設計》教學改革的措施
如何激發學生學習C語言課程的興趣,需要充分利用授課中的理論講解、實驗安排和實踐拓展這三個方面。以往教學中出現的問題主要是教學方式滯后、授課思想陳舊、教學方法簡單、考核方式單一等原因造成的,要從根本上解決這些問題,就必須進行教學改革。
1.正確引導學生認識課程
教師首先應做好學習C語言入門階段的工作,C 語言對大多數大學生來說是一個模糊的概念,對C語言這門課的認識普遍存在一些不足,主要表現在:一是C語言已經過時;二是今后不從事軟件開發工作,學習沒用;三是C語言太簡單,可以輕松應付。針對上述錯誤的看法,應在教學過程中,有意識地引導學生正確認識C語言。首先,向學生講授C語言的發展歷史、當前狀況及前景,說明C語言對本專業后續課程學習的重要影響。其次,向學生解釋高校開設的C語言課程并不過時,只要理解程序設計的本質及核心,學習任意一種程序設計語言都可以很好地解決實際問題。再次,理論與實踐相結合,運用學生很熟悉的經典實例,讓其能夠認識到C程序設計在解決實際問題中所發揮的作用,從而培養學生對這門課程的濃厚興趣,激發他們的學習積極性。
2.優化例題,細選教材
在教學實踐中,應注意教材的選擇和例題的優化。結合專業要求,目前很多高校采用譚浩強編寫的新版《C語言程序設計》,該書內容豐富,效果較好。在編程方法的介紹中,應該貫穿實用操作技術,以例題形式講解排序、檢索、統計處理的技術,在介紹時突出解題思路和方法。在指針部分用鏈表作例子既可使學生了解指針概念和C語言中指針的具體用法,又為將來的數據結構和數據庫系統原理等課程打下良好的基礎。
3.突破傳統教學方式, 實行“精講多練”的靈活教學方法
在傳統教學過程中,課堂理論教學很關鍵,然而《C語言程序設計》作為一門實踐性很強的課程,應該把培養學生的動手編程能力作為教學重點。在教學中應強調紙上編寫程序與實驗環節上機調試相結合,適當淡化語法講解,加強程序設計的分析練習,培養了學生形成以算法設計為中心的思維模式。
傳統注入式教學很難培養出來的學生創造性,《C語言程序設計》的教學要盡量采用啟發式或引導式的靈活教學方法,激發學生的主動性,培養學生的獨立思考能力和引導學生的創新意識。在C語言課程的教學上,摒棄單一的教學方法,盡量采用計算機課件的現代教學手段,使課堂教學更具有生動性、直觀性,將程序設計過程完整地展現給學生;教學中采用“精講多練”的教學模式,講授時把握少而精的原則,精選例題,講清思路,使學生能夠做到觸類旁通,配合精講進行大量的編程實踐,培養學生程序設計的實際操作能力,強調正確的程序設計理念,使其樹立正確的程序思想。
4.重視實踐教學中編程能力的培養
C語言作為一門實踐性很強的課程,學生學習時不僅要學習概念,而且要上機調試編寫的程序。實驗上機教學是使學生掌握C語言語法、程序結構的重要環節,認真編寫實驗教材,實施分層次教學,通過引導性的實驗步驟讓學生可以運用所學知識獨立解決問題,對普遍存在的問題和常犯的錯誤操作進行歸納后集中講解。實現教學引導與實踐過程點評相結合的創新式模式,以此培養學生獨立分析問題和解決問題的能力,及時有效地消除學生實驗過程中的障礙。正確引導學生上機實踐,需要讓學生有明確的上機目的、清晰的練習步驟,并要求學生在上機前根據任務設計程序流程圖,編寫好基本程序,為上機調試提供依據,真正提高上機的效率。
5.通過認證考試,激發學習興趣
應該鼓勵學生參加全國計算機C語言等級考試或程序員計算機水平和資格考試,通過這些證書考試,既提高學生參與社會競爭的能力,也能很大程度上激發學生學習的主動性和積極性,可以形成課堂教育的有力補充。另外對于學習了《C語言程序設計》的學生來說,考取程序設計證書,反過來也促進了C語言程序設計學習。
6.改革考核制度,實現無紙化上機考試
改變在傳統的《C語言程序設計》考試中完全采用筆試方式,結合國家計算機等級考試的形式開發一套可以適用于C語言、VB.NET等多種程序設計語言的考試系統,期末考試采用上機考試形式,程序設計題目必須完全正確才能運行,可以真正地考查出學生的掌握知識的程度和實際編程水平,考試題目中增加編程題分值,加強編程能力的考核,使學生認識到只有平時多動手編寫程序,提高實踐編程能力而不是死記硬背,才能考出好成績。通過課程考核制度的改革,提高了學生實際動手編程能力,避免了紙面考試成績優秀, 卻不能動手編出一個像樣的應用程序現象的出現。
三、結束語
《C語言程序設計》教學改革是一個長期過程,它需要在實踐中不斷完善,以更好地提高課程的教學質量和水平,培養出符合社會需要的人才。因此,必須對落后的教學方式、教學手段以及C語言的考核方式進行改革和創新。
參考文獻:
[1]譚浩強.C語言程序設計(第三版)[M].北京:清華大學出版社,2005.
[2]郭慧玲,胡海芝.《C語言程序設計》課程教學改革探究[J].計算機教育,2006,(9).
[3]王洪敏.高職院校C語言課程教學改革的實踐[J].遼寧高職學報,2007,(1).
[4]郭彩虹,李偉.程序設計類課程教學改革之我見[J].浙江樹人大學學報,2005,(9).
[5]閆英戰.《C語言程序設計》教學改革的探討[J].電腦知識與技術,2006,(9).責編:思 源