馬艷英
(巴音郭楞職業技術學院,新疆 庫爾勒 841000)
淺談《C語言程序設計》教學改革
馬艷英
(巴音郭楞職業技術學院,新疆 庫爾勒 841000)
由于C語言程序設計課程內容比較抽象,加之傳統的教學常以教師講授為主,學生普遍反映C語言難學。文章介紹了筆者多年來在教學模式、教學方法以及教學手段上所進行的改革,即針對職業院校學生素質特征,運用現代教學理論和技術所進行的新型教學方法嘗試。
模式;方法;手段;改革
《C語言程序設計》是電子各專業都開設的一門非常重要的專業基礎課,掌握好C語言程序設計技術,能為學生學習后續一些較高級的編程語言打下良好的基礎。我們都知道,C語言概念比較復雜,規則較多,使用靈活,容易出錯,學生掌握起來有一定的難度。傳統的C語言程序設計教學中,主要以課堂講授為主,且在教學過程中采用的大多是純理論的抽象案例,這對于高校學生,尤其是職業院校的學生而言,既抽象又枯燥無味,不能充分體現職業教育的特點。另外,以語言內容難以理解和接受,學生學起來自然沒有動力,從而導致課堂教學質量不高,學生學習興趣不濃,學習效果不佳,不能真正理解程序設計的精髓,因此普遍反映C語言難學。針對以上情況,筆者對《C語言程序設計》進行了教學改革,主要從教學模式、教學方法以及教學手段等幾方面進行了改革,變老師主導型教學為與學生交互型學習,并在教學過程中不斷探索新的教學方法和嘗試先進的教學手段。
首先,改變了以往的授課方式,從以前的合班上課方式改為單班微機室授課。這種授課方式可以使學生先理解老師所講授的理論內容,然后可通過上機實踐,加深理解并真正掌握課堂內容,同時也提高了學生的動手編程能力,充分調動學生學習的積極性和主動性。學習程序設計的最佳方法就是自己編寫程序,在實踐中發現問題解決問題并逐步提高水平,而這種授課方式正好可以將理論與實踐相結合。由于單班進行授課,老師可以對每位學生進行一對一輔導,做到“教學做”一體化,所以教學效果良好。
其次,我們針對這種新的單班微機室授課方式,重新編寫了教案。在教案的組織上遵循的原則主要是理論與實踐相結合,組織方式是:對于每一個項目,首先介紹概念、原理、算法、語法和注意事項,然后通過適當的案例解,隨即讓學生上機實踐,教師當堂輔導學生編寫和調試程序,使學生能夠對課程內容當堂理解,當堂消化吸收。
最后,對考核方式進行了改革,將期末成績劃分為平時成績+上機成績+筆試期末成績。考核成績的方法是:平時成績占30%,上機考試成績占30%,筆試成績占40%。這種考核方式既可以考核學生的平時表現,又可以考核學生對課程的掌握程度。既考察了理論知識的掌握情況,也考察了學生的實踐動手編程能力。通過綜合學生的意見反饋,學生對這種考核方法表示贊同和認可。
首先,在教學過程中運用多媒體技術進行輔助教學,有利于激發學生的學習興趣,發揮學生的主體能力,優化教學過程。在《C語言程序設計》課程教學過程中,考慮到本門課程的特點,對于要講解的案例應進行分析,發揮傳統教學的優勢,即進行課堂討論、板書講解、結合提問,將問題層層剖析、層層深入,充分調動學生的積極性和主觀能動性。另外,充分利用多元化、現代化的教學手段。在教學過程中應多方位應用現代教育技術手段,尤其是多媒體輔助教學手段與網絡化輔助教學手段。在課堂教學中采用多媒體教學課件,加強直觀教學,可提高學生的空間想象力。對C語言程序的調試過程及運行機制學生很難理解,很難想象其過程,如果將其做成課件,以動畫的形式模擬其過程,學生就能很快地掌握。教師應從最簡單的C語言程序的調試入手,詳細演示C語言程序的調試過程與調試細節,同時讓學生參與進來,實現教師與學生、學生與學生的雙向交流和互動,提高學生的學習興趣,加深學生的理解與記憶。要充分利用計算機網絡開展網上答疑、網上測試、網絡教學,及時解決學生在學習與生活中遇到的種種問題,使其檢驗自己本階段的學習成果,加強對所學知識的吸收和消化。
其次,對以往上機考試模式進行改革。以往上機考試為教師出幾道程序設計題,全班學生都答一樣的題,這種模式存在一些弊端。現在上機考試模式改為采用C語言程序設計題庫抽題,每位學生進入考試系統,系統具有自動出題、隨機組卷、計時收卷、實時評分和記錄成績功能,大大提高了考試效率。每名學生的3道考題是隨機產生的,與旁邊學生的考題都不相同,所有考題題目都來自于國家二級考試模擬題題庫,具備一定的針對性。同時,C語言程序設計題庫有兩種使用方式,即平時練習和正式考試,學生在平時練習,系統會自動給出所有練習題的答案,這樣學生就能在練習的過程中逐步提高自己編寫程序的水平。因為是電腦計時評分,時間一到馬上就收卷然后給出成績,因此,就迫使學生必須經常練習,不知不覺中也就提高了C語言程序設計的能力。
在教學方法上主要采用多種教學方法相結合的方法。
首先,利用問題探究引入教學法引入本節課要學習的知識,這種教學法能夠充分發揮學生的主動性,突出學生的主體作用,有效地培養學生分析問題與解決問題的能力。以“冒泡排序”為例,可以采取先跟學生講解什么叫“冒泡”,再讓學生設計冒泡排序的算法思路,然后讓學生討論并寫出算法流程圖,最后講解如何用for程序結構實現算法,完成整個程序的編寫。
其次,可采用歸納教學法和案例教學法。歸納教學法引導學生對C語言中的定義、概念、語法規則進行歸納,將會起到事半功倍的效果,例如:getchar()與putchar()函數,有很多語法規則是一樣的,對它們進行歸納之后,學生只要記住其中一個,另一個自然就會使用了。C語言是應用性很強的一門課程,既有理論,又有實踐,既講方法,又講動手能力。采用案例教學法可以改變“滿堂灌”的做法,將學生的眼、手、腦全部調動起來,培養學生的學習興趣。筆者將課程內容分為若干個主題,以程序設計作為貫穿各主題的主線,每個主題的教學過程由“要點講解”、“自學/上機實踐”和“疑難解答”三個階段組成。通過案例分析,重點講解程序設計的思想和方法,輔以語言知識的介紹;然后通過上機練習,包括基本訓練(自測作業和主題作業)與綜合訓練(大型作業),教師針對學生暴露出的問題答疑解惑,結合案例教學,努力將C語言作為解決實際問題的工具,強化學生的編程能力,在分析程序與程序設計的過程中使學生逐步熟悉語法,應用語句,提高學生分析問題、解決問題的能力,由淺入深、由易到難、循序漸進地使學生在實踐中掌握知識,培養程序設計能力,逐步理解和掌握程序設計的思想和方法。最終在課堂上實現教師扮演“主導”角色,而學生真正地成為“主體”。
最后,由于每個學生學習的動機、興趣、能力存在較大的個體差異,所以決定了C語言課程必須因材施教。針對學習能力較強的學生,鼓勵他們自學,并給予方向性指導,讓他們超前學習。針對學習能力較弱的學生,進行單獨輔導,加強學生學習的積極性。對于大多數學生,精力主要放在最基本、最常用的內容上,讓他們學好基礎知識,領悟程序設計的方法,為后續其他課程的學習打下基礎。另外,在教學過程中應不時地進行換位思考,從學生的角度來考慮問題,注意師生的互動效果,以提高學生學習的積極性和主動性。
[1]謝志江等.案例教學法在工科教學中的應用[J].高等工程教育研究,2003,(5):12-17.
[2]譚浩強.C程序設計(第三版)[M].北京:清華大學出版社,2005.
[3]孔垂柳,田地.基于程序設計思想的C語言教學方案[J].吉林大學學報(信息科學版),2005,(8):5-6.
[4]李明等.C語言程序設計教程[M].上海:上海交通大學出版社,2007:26-32.
G642
A
1673-0046(2011)03-0153-02