摘要:分析了目前高校《C語言程序設計》課程的教學現狀及存在的問題,結合課題組在省級精品課程《C語言程序設計》建設過程中的經驗及收獲,從教學方法、教學手段、課程重點難點的講解方法、實踐教學的設計方法等培養(yǎng)環(huán)節(jié)提出了一些合理化的改革建議和發(fā)展思路。實踐表明,通過改革,教學效果得到了顯著提高。
關鍵詞:《C語言程序設計》課程 教學方法 改革
中圖分類號:G420 文獻標識碼:A 文章編號:1672-3791(2011)12(b)-0000-00
1 目前教學現狀及存在問題
《C語言程序設計》是計算機專業(yè)的一門專業(yè)基礎課,在教學計劃中占有重要地位和作用。而且,在計算機教育方面,C語言是為數不多的與國外保持內容同步的課程之一,在本科教學中地位之重要性不言而喻。一直以來,《C語言程序設計》教學改革都在不斷探索和嘗試,但仍然存在著很多問題。
(1)教學方法不靈活,缺乏有效的引導。C語言內容抽象,概念復雜、規(guī)則較多,使用靈活,容易出錯,而目前教學方法單調,盡管也采用了先進的多媒體工具,在教學方法和手段上也做了一些嘗試和改革,但基本上還是以“填鴨”式的滿堂灌教學方式為主,導致學生學習興趣不高,達不到好的學習效果。
(2)某些教師不很明確課程的教學目的,認為學生應該掌握的是記住C語言的語法和語句,而忽視了學生實踐能力的培養(yǎng),使得學生抱怨課程學無所用,沒有興趣,在分析問題和解決問題時無從下手,缺乏編程和調試的能力。
(3)在實驗教學中,大多是對課堂教學內容進行驗證,學生機械式的來運行程序,對知識的理解只停留在表面,這種教學方法不利于培養(yǎng)學生的動手能力和實踐能力。
(4)傳統(tǒng)教學中,單一的教學模式,使實驗實訓環(huán)節(jié)與課堂教學環(huán)節(jié)不能相互連貫,相互印證,實驗實訓項目與課堂教學內容相關聯程度不夠,課堂教學與學生練習不能有機結合,使得理論教學和實踐教學脫節(jié)。
2 多種教學方法的使用
在教學過程中,本著“以程序設計方法為主線、以語法和結構為核心,以培養(yǎng)能力和提高興趣為目標,變應試為應用”的教學思想,提出 “通、實、新、聯”的教學理念。在教學方法上,課堂教學注重形象生動和實例教學,注重實驗教學,把實驗教學貫穿于整個教學的全過程,有意識地培養(yǎng)學生主動學習的素養(yǎng),養(yǎng)成良好的編程風格,提高動手能力和創(chuàng)新能力,把學習程序設計變成一件快樂的事情。
(1)提出“通、實、新、聯”的教學理念,效果明顯。根據C語言程序設計課程的特點,課程組提出了“通、實、新、聯”的教學理念,取得了良好的教學效果。“通”就是指:①學生要精“通”原理,②程序要能調“通”; “實”就是指:①注重“實”踐環(huán)節(jié),②內容要有“實”用價值;“新”就是指:①授課方法要“新”,②授課內容要“新”; “聯”就是指:①注重理論“聯”系實踐,②多與IT公司“聯”絡。
(2)采用“以多媒體教學為主、板書為輔、現場編程演示”的方式,多種教學手段相互補充,使課堂教學與實驗教學相結合。 多媒體教學方式的特點是信息量大,圖文直觀,便于算法的動態(tài)演示,同時借助于編譯系統(tǒng)進行程序從編輯、編譯、鏈接、運行到測試與調試的整個過程的演示,可增強學生對程序設計的感性認識,缺點是每頁的幻燈片內容有限,不便于學生進行前后內容的對照,內容更新速度過快,學生有時反應不過來,跟不上教師的思路,而傳統(tǒng)的板書教學法恰好彌補了這一缺陷。因此,以多媒體教學為主、板書為輔,多種教學手段并用,可以實現傳統(tǒng)媒體與多媒體的優(yōu)勢互補,最大限度發(fā)揮二者的應用價值。教師課堂現場編程演示,目的是避免紙上談兵,達到“以學生為本、師生互動”的目的,雖然加大了教師授課的隨機性和難度,但是卻可以充分調動學生的學習積極性和主動性,而且由教師一邊帶領學生找錯,一邊講解如何找錯和如何改錯,給學生留下的印象更為深刻,也真正體現了“按照學生的學來設計和組織教師的教、啟發(fā)引導、精講多練、理論與實踐相結合”的教學宗旨。
(3)啟發(fā)引導為主,從重知識目標轉向重智能目標上轉變。 在講授具體的知識點時,加強前后知識的連貫性,對重點問題舉一反三,從多角度、多側面去闡述,從知識的點擴展為知識的面,擴大學生的思維空間。通過一題多解、多提問,啟發(fā)學生主動思考,使學生逐漸從被動接受轉向主動學習,從而加強學生思考能力和創(chuàng)新能力的培養(yǎng),從重知識目標轉向重智能目標上轉變。
(4)常規(guī)教學與網絡教學相結合,借助于教學網站搭建師生交流和互動的平臺。以常規(guī)教學滿足大多數學生的學習需求,以網絡課程作為補充,以適合不同的學習需求、學習習慣,并鼓勵自主學習。 在保留傳統(tǒng)的教師與學生面對面答疑方式的基礎上,又借助于在線教學網站,增加了網絡在線答疑方式,使答疑不受時間和空間的限制,充分利用現代化的網絡教學環(huán)境,搭建了一個學生自學和師生互動的平臺,使其成為課堂教學和實驗教學的有益補充,有力地促進了課程的教學管理。
(5) 重視實踐,提高學生的應用能力。明確上機任務,培養(yǎng)學生動手能力。在上機之前,教師先研究上機內容并布置明確的上機任務,同時要求學生編好要調試的程序,為上機做好準備。上機內容除了調試程序外,還要求學生分析程序算法結構。調試成功后要求學生根據所學知識優(yōu)化算法,這樣可以提高學生的實際應用能力。實驗結束后,要求學生寫好詳細的實驗報告。
3 課程重點、難點內容的講解方法
為了幫助學生更好地學習和掌握課程的重點和難點,在教學過程中不斷嘗試與探索,形成了先進的教學理念和一整套科學的教學方法,達到了教學目的,保證了教學質量。
(1)任務驅動式教學方法的使用在教學過程中,重點體現任務式驅動的思想,全過程貫穿了任務式驅動的思想,建立了提出問題、分析問題、解決問題的思路,使學生在任務前提下掌握知識。
(2)加強課堂討論及案例分析教學。針對重點與難點,教學以學生為中心,通過教師演示,學生分組討論,綜合運用講授法、問答法、討論法,講授知識深入淺出,啟發(fā)誘導,語言簡潔生動、流暢,學生和老師也積極互動,以期最終達到教學目標。
(3)利用現代化的教學手段。利用多媒體投影、電子教案、課件等方式,將抽象理論利用動畫的方式描述出來,其直觀、有效的教學手段對于教學中的重點、難點問題可起到化解的作用。
(4)充分利用特色教材等教學資源。自編教材在每章的開頭都列出了本章重點和本章難點,在講解到相關內容時,有針對性地采用實例剖析、易犯錯誤分析等方法進行深入解析,在每章的最后又對本章內容尤其是重點、難點進行了精辟的總結,使學生在學習過程中始終圍繞課程重點、難點,收到了良好的教學效果。
4 實踐教學活動的設計方案
實踐教學活動的設計是從提高編程能力和軟件開發(fā)能力兩個方面實施分層次教學。
在提高編程能力方面,為體現作為專業(yè)基礎課的“專業(yè)”和“基礎”的特點,有兩個方面的內容要在課程中落實,一是 C 語言本身的語法與程序結構,二是通過該門課程的學習掌握一定的算法與常用子程序的編程實現,為后續(xù)課程打好基礎。同時由于該門課程開課范圍廣,涉及到的專業(yè)比較多,為規(guī)范實踐教學內容,課題組對該門課程進行了課程教學目標能力模塊的劃分,提煉每一個單元內容的能力要求并將此能力要求落實在相應的編程實踐中,編寫了《 C 語言程序設計教學目標能力模塊》,作為實踐性教學的指導性文件,提出了每一單元的“能力要求”點及與此對應的“能力落實”點。在“能力落實”點中,又劃分“基礎能力”與“進階能力”,“基礎能力”點是學生在該門課程中必須掌握的能力,“進階能力”點是進一步提高的實踐內容。在軟件開發(fā)能力方面的培養(yǎng),同樣進行分層次的設計與教學。首先是一套切合實際、有內在聯系,不斷拓展的實訓項目來保證基礎軟件開發(fā)能力的培養(yǎng),這是所有學生都應該完成的內容。對于學有余力的同學,通過一個更大型的程序設計/調試來提高開發(fā)能力,比如 “文本編輯器”或企業(yè)課題的逐步開發(fā)來進一步提高能力。
5 結語
通過對各種教學方法教學手段的研究改革,以學生為主體,老師為引導。結合分組討論、項目教學法等活動與方法,師生互動,學生積極參與各個講授過程,既提高了學生的程序編寫能力,激發(fā)了學生的學習興趣,又培養(yǎng)了自主研究、協(xié)作學習的能力。實踐證明,通過上述教學改革措施,教學效果取得了顯著提高,計算機二級C語言考試中,通過率大大提升。
參考文獻
[1] 教育部高等學校計算機基礎課教學指導委員會,高等學校計算機基礎教學發(fā)展戰(zhàn)略研究報告暨計算機基礎課程教學基本要求,高等教育出版社.
[2] 譚浩強.C程序設計[M].3版.北京:清華大學出版社,2