摘要:C語言程序設計是高等農(nóng)業(yè)院校非計算機專業(yè)的一門重要基礎課程,也是一門實踐性很強的課程。針對該課程難教、難學的現(xiàn)象,筆者結合實際從教學方法、教學手段、與專業(yè)結合、充分利用網(wǎng)絡、改革考核辦法等方面做了大膽的改革嘗試工作,取得了良好的教學效果。
關鍵詞:C語言;教學改革;教學方法
中圖分類號:G640文獻標識碼:A 文章編號:1009-3044(2008)05-10000-00
1 引言
C語言是目前國內外最廣泛使用的程序設計語言之一。它具有豐富功能、表達能力強、使用方便靈活、執(zhí)行程序效率高、可移植性強等優(yōu)點;既能實現(xiàn)高級語言的功能,又能完成匯編語言的功能[1,2]。它具有較強的系統(tǒng)處理能力,可直接實現(xiàn)對系統(tǒng)硬件和外部接口的控制。因此,它被廣泛地用于系統(tǒng)軟件和應用軟件的開發(fā)[3,4]。同時在高等農(nóng)業(yè)院校非計算機專業(yè)中《C語言程序設計》也被作為一門非常重要的公共基礎課,列入教學計劃中。然而筆者在講授該門課程后發(fā)現(xiàn):每堂課的教與學目標不夠明確,難以調動學生的學習興趣;傳統(tǒng)的考核方式也難以反映學生的真實水平;多數(shù)學生在學完該門課程后,僅僅掌握了它的基本語法,所學知識不夠系統(tǒng),缺乏開發(fā)、創(chuàng)新能力;該課程跟自身的農(nóng)科類專業(yè)很難結合,拿了學分卻不知道有何作用。針對以上情況,本學年在講授該門課程過程中,筆者進行了許多有益的嘗試,取得了明顯的成效。
2 改革教學方法
傳統(tǒng)的“填鴨式”教學方法以課堂講授為主,由教師選擇一本教材,依據(jù)大綱逐章講解說明,課后布置練習、作業(yè),統(tǒng)一安排上機實習,學期末進行復習、考試。這種教學方式只注重知識傳授,忽視對學生主動汲取知識能力的培養(yǎng),作為學習主體的學生始終處于被動接受狀態(tài),造成學生學習主動性下降。教師作為教學的另一方,實際上也處于以完成教學進程計劃為目標的被動狀態(tài)。
在教學過程中,教師應遵循啟發(fā)式教學原則,通過各種教學方式和手段激發(fā)學生的學習欲望,使其在學習活動中積極思考,發(fā)現(xiàn)問題、提出問題、并逐步解決問題。筆者在《C語言程序設計》教學過程中,沒有對照程序清單講程序,而是從分析問題入手,繼而找出解決問題的方法,再給出算法,最后編寫出完整的程序。其中最關鍵的是每一步都采用與學生一起探討的方式,讓學生在啟發(fā)下思考,在思考中解決問題,從而掌握獨立分析問題、解決問題的方法。
項目教學法,是德國教育專家弗雷德?海因里希教授倡導的教學理論,是師生通過共同實施一個完整的項目工作而進行的教學活動。通過對完整的項目的系統(tǒng)分析,培養(yǎng)學生良好的編程習慣,善于獲取他人經(jīng)驗的能力以及掌握綜合運用所學知識的能力,從而完全了解項目流程,真正提高編程水平。
筆者在課程講授開始,演示了一個精心設計的、吸引學生注意的“拼圖”游戲程序,并向學生提問:如何實現(xiàn)它?然后給出一定的課堂時間,讓學生自由組合進行討論,并提出具體實現(xiàn)的基本思路及實現(xiàn)這一思路存在的問題。接下去就學生所提的問題進行新的知識點介紹,再由學生上機實踐,直到問題解決。這個過程實際上將學生由被動的學轉變?yōu)榱酥鲃拥膶W,通過每次給出的項目,引導出新的知識點,然后講解并實現(xiàn)。在上機實驗教學中,利用項目教學法,精選一些有趣的習題:如“猴子分桃”、“雞兔同籠”、“韓信點兵”等多個實例來組織基本語法、函數(shù)、基本語句的學習,掌握累加器、累乘器、質數(shù)、最大公約數(shù)、累乘求積等必須掌握的程序段的編寫。這些改革重視程序項目設計,培養(yǎng)學生的應用能力,收效很大。
3 積極使用現(xiàn)代化教學手段
程序設計語言的教學內容并不存在深奧的理論,相互之間缺乏邏輯推理關系,更多的是一些與硬件系統(tǒng)有關的輸出格式的規(guī)定,以及各種數(shù)據(jù)類型、語句、函數(shù)等的定義、使用說明等。這些內容的講授不適宜采用課堂黑板教學方式。原因是:對于不同的語言、甚至同一語言在不同機器上,這些規(guī)定都不盡相同,而且缺乏知識含量,對此加以機械性地講授,將難以吸引學生的注意力,難以調動他們的學習情緒,教師也會缺乏激情;程序設計語言的教學除了把一些語法精要介紹給學生外,還要輔之于一定的程序示例講解,但是隨著學習內容的深入,示例程序語句越來越多,黑板書寫要占用太多的空間和時間。為提高教學效率,增加教學的直觀性、趣味性,必須采用多媒體教學。充分利用設在教室和實驗室中的多媒體設備,進行現(xiàn)場編程,使同學們全程參與程序的調試過程,同時使用演示課件來進行語法知識點的學習。這種采用現(xiàn)代化教學手段并結合傳統(tǒng)的“粉筆+黑板”的教學模式,學生接受知識更容易,能力提高也更快。
4 加強本課程與農(nóng)科專業(yè)的聯(lián)系
學習《程序設計語言》的主要目的在于培養(yǎng)學生應用計算機解決實際問題的能力。筆者講授的對象主要是農(nóng)業(yè)機械、農(nóng)業(yè)經(jīng)濟管理、園藝、林學等農(nóng)科專業(yè)的學生,尋找合適的切入口將程序設計與農(nóng)科專業(yè)相結合,是《程序設計語言》課程教學大綱中應該著力改革的內容之一。
例如,針對農(nóng)業(yè)機械專業(yè)的學生專業(yè)課程計算復雜,涉及到不定方程組、多元、非線性方程的求解以及實驗數(shù)據(jù)處理等,計算量大且難,同學們對這類計算仍采用手算,花費大量的時間,且易出錯。一方面是學了不少程序設計的知識,而另一方面在復雜的專業(yè)課計算中又采用手工計算。為了改變這種教學與應用相脫節(jié)的狀況,在教學中可把相關知識引進到本課程教學和上機實習中來,既擴大了學生的視野,又開拓了學生的思路,更提高了本課程作為工具的應用能力,從而達到素質教育所追求的“融會貫通、增強能力、提高素質”的理想境界。
再如,針對農(nóng)業(yè)經(jīng)濟管理專業(yè)的學生對管理信息系統(tǒng)的應用需要,將一個規(guī)模較大的、典型的、有實用價值的、學生感興趣的核心實例“農(nóng)業(yè)信息管理系統(tǒng)”貫穿于教學全過程。該實例涉及農(nóng)業(yè)、信息、管理、編程等綜合知識,而且講授過程是從小到大、隨章節(jié)的展開而逐步成長,使其呈現(xiàn)為逐步進化的多個版本。首先用最基本的概念和最簡單的結構,給出該系統(tǒng)的第一個版本,以后每學習一個章節(jié),都對該系統(tǒng)提出新的功能和結構上的要求,并用該章介紹的新概念和新方法對它進行功能上的擴充和結構上的改進。每一章得到該系統(tǒng)的一個增強的新版本,每章要學習的內容都十分明確。為達到設計目標,學生從第二堂課開始,就可以積極投入對該系統(tǒng)的調試、改進的實踐中。而這個實例也很好的將學生的專業(yè)與程序設計結合到一起,達到了課程與專業(yè)結合的目的。
在教學實踐過程中筆者發(fā)現(xiàn),單純理論與知識的傳授不僅抽象,而且很難提高學生的綜合素質,依托專業(yè)知識,不但可以充分調動學生的學習積極性,而且也培養(yǎng)了學生良好的編程能力,鍛煉了學生自覺的規(guī)范意識和團隊精神,加強了認識和運用數(shù)據(jù)的能力,強化了軟件工程的概念,提高了認識問題、解決問題、查閱資料的能力等等。
5 充分利用網(wǎng)絡
隨著網(wǎng)絡技術的飛速發(fā)展,教學手段、教學方法、教學觀念與形式、課堂教學結構以及教學思想和教學理論都發(fā)生了深刻的變化。筆者將課程教學大綱、電子教案、歷年等級考試真題等教學資源傳到網(wǎng)上供學生自學,并利用電子郵件、本院網(wǎng)站的交流園地與學生進行課外交流,為學生答疑解惑提供了更為廣泛的溝通渠道與環(huán)境。而且,學生通過在線測試系統(tǒng)可以隨時考核自己的學習效果,查缺補漏。
網(wǎng)上學習、網(wǎng)上答題、網(wǎng)上測試等過程一改傳統(tǒng)的學生被動學習的教學模式,使學生們真正感到了自己是學習的主體,對學習內容、學習形式等具有選擇權,因而激發(fā)了他們主動學習的精神。新穎、有趣的網(wǎng)絡學習可以做到每次完成作業(yè)后不僅可以知道對錯,而且還有排行榜,這就強化了學生積極進取的精神和競爭意識。
網(wǎng)絡教學與傳統(tǒng)面授教學最大的不同在于,在學校是教師“要我學”,在網(wǎng)上則是“我要學”,而這種角色變換帶來的變化對學生來說是巨大的。網(wǎng)絡教育更多注重的是素質教育,它是網(wǎng)絡和新型教育的完美結合,是一種全新的、匯集了優(yōu)秀教師和計算機高級人才智慧的基地,是集知識性、趣味性于一體的教學模式,應在教學實踐中盡可能廣泛地采用。
6 改革考核辦法
C語言課程所有考試均實行考教分離。這不僅促進了任課教師對教學的精益求精,而且也給了教師充分發(fā)揮、施展個人教學才能的空間。在考核方法上,采用多種形式考核學生的知識掌握程度和實踐能力,包括筆試和實驗考核。為了強調實驗考核的重要性,如果學生沒有通過實驗考核,則課程成績直接記為不及格。實驗考核采用上機考試和平時測驗相結合的方式,上機考試使用能自動組卷和評分的考試平臺,平時測驗包括課后作業(yè)和隨機檢查的完成情況。教師可以利用上機實驗的時間,隨機抽查學生的實驗程序,并要求按規(guī)定修改程序,充分利用“考試指揮棒”引導和督促學生平時多編程,編好程。
7 結束語
根據(jù)高等農(nóng)業(yè)院校培養(yǎng)學生的特點,在《C語言程序設計》的教學中,應尋找和農(nóng)科專業(yè)合適的切入口,強調以程序設計和實驗為主,充分利用網(wǎng)絡,并通過課程的教學方式、考核方法的改變,激發(fā)學生學習該課程的興趣。學生不但要掌握高級編程語言的知識、編程技術和基本算法,更重要的是掌握程序設計的思想和方法,具備利用計算機求解實際問題的基本能力,能靈活應用高級語言進行程序設計,適應社會發(fā)展的需求。在教學過程中積極的探索和總結,真正做到教學相長,是每一位高校教師教學的目的和教師的責任。
參考文獻:
[1]薛小鋒.C語言程序設計教學方法探析[J].福建電腦, 2004,(1).
[2]張敏霞.程序設計語言課程教學方法改革的探索與實踐[J].中國高教研究, 2004,2.
[3]譚浩強.C程序設計[M].北京:清華大學出版社,2001.
[4]譚浩強.C程序設計題解與上機指導[M].北京: 清華大學出版社,1992.
收稿日期:2008-01-12
作者簡介:章英(1978-),女(漢),湖北枝江人,講師,碩士,主要研究方向:計算機軟件與理論。