C語言是高校學生程序設計的專業基礎課。是學生接觸的第一門程序設計語言。它能使學生掌握程序設計的基本方法并逐步形成正確的程序設計思想,熟練地使用C語言進行程序設計并具備調試程序的能力,為后繼課程及其他程序設計課程的學習和應用打下基礎。
現針對幾年來C語言課程的教學經驗,從如何提高C語言課程教學質量、增強教學效果、培養和提高學生分析問題、解決問題能力和創新能力等方面。談談在教學上的一些經驗和體會。
一、調整教學內容,改革教學思路
針對信息工程系學生的實際情況,對C語言教學內容做調整和整合。首先,對輸入輸出格式、程序的三種控制結構、函數、結構體等內容,采用講、練結合的方法讓學生掌握精華部分,對枚舉、共用體等內容采用以學生自學為主、輔以答疑的方式。其次,在重點內容的教學上輔以大量的課內習題課和課外練習方式。讓學生充分掌握基本內容。再次,讓學生組成小組做針對性很強的練習來加強學生的理解、掌握。最后,對學生在作業過程中暴露的主要問題集中解決、個別問題單獨解決的方法來彌補個體差異,同時兼顧到大多數同學的利益。
二、改進教學方法和教學手段
C語言這門課程低年級開設,學生對程序設計沒有完整的概念。學習C語言的目的不清楚,加上在以往的教學中大多數都是灌輸式教學模式,學生處于被動的學習狀態,課堂氣氛沉悶,久而久之學生就會感到厭煩,對學習失去熱情。要改變這種狀況。在教學中就應明確教學目的。加強師生交流。充分發揮教師和學生的主觀能動性。激發學生學習的熱情。使學生能獨立思考,勇于創新。善于解決實際問題。
1、改變教學方法,培養學生興趣
恩格斯說“興趣與愛好是最好的老師”。在課程講授過程中,要特別注意培養學生的學習興趣。教師在講課前應先介紹C語言的用途,例如,可用C語言編寫各種系統軟件(如操作系統)和應用軟件(數控行業、自動化、虛擬儀表、管理軟件)以及一些小游戲;C語言是專業課的基礎等。使學生明白學習C語言的目的和作用。
C語言一開始就介紹了一些程序代碼和函數使用規則,而學生對語法、函數一無所知。如果按照書本順序進行講解。學生一開始理解起來很吃力,就失去了對C語言的學習興趣。而學生一般對上機比較感興趣,開始可以先介紹C語言的上機步驟,然后用C程序調試一些在數學中已學的問題。用C語言來求解,使學生體會程序設計的用途和一種全新的解決問題的方法,以激發其強烈的求知欲。如數學中常解的一道題:已知三角形的三邊,求三角形的面積。針對這個問題,可以先寫出一個三角形三邊固定程序(三邊在程序中已給出),從運行過程讓學生看出這個程序只能求一個固定三角形的面積,不具備通用性,因此提出程序應能夠允許用戶輸入三角形的三邊。這樣引入輸入函數,之后又會發現,這樣的程序只能求正常條件下(能構成三角形的三邊)三角形的面積,面對非法數據就會出現異常,此時我們引入分支語句……一直到引入循環結構,求任意個三角形的面積。讓學生體會到設計程序考慮問題要從用戶的角度出發,全面、客觀,從而使其對程序設計產生濃厚興趣。讓大家積極主動、自覺獨立地獲取知識,打好學習程序設計語言的基礎。整個教學過程中應該把解題思路、方法和步驟(即“算法”)當做授課的重點,從而讓學生明白如何分析并解決實際問題,逐漸培養學生進行程序設計的正確思維模式。
2、利用多種教學手段,提高教學效果
制作課件的目的是為了提高教學質量,如何制作課件可從以下幾個方面考慮。首先,在形式上要樸實大方而不花哨。其次,在內容上要充分利用課件的優點,化抽象為具體。在演示課件的同時要憑借自身的豐富教學經驗和生動的講解,來調動學生的積極性。因為現代多媒體教學方式并不能完全取代傳統的教學方式,應該將二者恰當地結合起來,發揮各自的優勢。這樣才會收到令人滿意的教學效果。
3、培養學生好的編程思想和方法
語言只是程序設計的形式。而編程思想才是靈魂。沒有正確的思想,計算機解決不了任何問題,因此,要將編程思想作為教學重點。有一些學生對C語言的語法和句式掌握得很好。但一面對問題就一片空白。不知如何運用所學知識來解決,這就要求教師在講程序設計前要先介紹如何分析問題、設計算法并將算法正確表示出來。
三、注重學生動手能力培養
計算機專業是一門實踐性很強的專業,C程序設計的學習也不例外,要把學生在課堂上所學的知識在計算機上用程序設計反映出來。必須加強實驗環節的教學,強化實驗能力、學生的動手能力及創新能力。
1、明確上機任務,培養學生動手能力
對學生而言。在每一次上機前應作好充分準備,編寫好上機內容。學生只有反復上機操作,才能對C語言有更深、更全面的認識和理解,逐步提高實際操作和學習的能力,上機實驗除了能提高學生的動手能力,還能加強學生對C語言中細節性問題的理解。對一些有疑惑的問題,也可以通過上機得到驗證。讓學生體會到“計算機是最好的老師”這句話的真諦。
2、合理分配學時,增強學生的綜合運用能力
在C語言課程中。每次理論課都對應著一次實踐課,也稱為課內實踐,到學期末再安排一個階段的課程設計。目的是提高學生在程序設計方面的能力。實現“實踐——理論——實踐”的循環,使理論與實踐達到緊密的結合。
課程設計是對整個課程內容的總結和運用,題目應與現實生活相貼近,也容易激發學生的設計興趣。如通訊錄系統、學籍管理系統、工資管理系統等。從開始的流程圖到最后的編碼調試,設計的每一段,學生不僅可以將所學的知識運用于實際,而且可以提高他們分析問題和解決問題的能力,激發學習興趣。課程設計階段學生可以自愿結組。組內再分工合作。以培養他們自主學習能力、分析解決問題的能力和團隊合作精神。
四、結束語
良好的C語言教學效果不僅可為學生學習后續專業課作好準備,還能為學生學習其他高級語言奠定良好的基礎。在實際教學中還有很多問題需要注意。這要求教師不斷探索積累,總結出更好的教學方法。提高C語言的教學質量。