丁春榮,金 秀
(安徽農業大學信息與計算機學院,安徽合肥 230036)
教育部基礎教學指導委員會指出:高校非計算機專業計算機教育的重點應放在具備計算機基礎應用的能力,具有數據庫管理系統的基本操作,掌握系統開發研制的能力,具有使用一種高級程序設計語言進行程序設計、分析調試等能力的培養上.當前隨著社會信息化的快速推進,社會各個行業對從業人員的計算機技能要求也越來越高.農業類院校的計算機基礎教學任務是培養既掌握各專業領域知識,又能熟練使用計算機的復合型人才,即各行業中所需的計算機應用人才.程序設計課程是計算機基礎教學系列中的重要課程,開設這門課程的目的是為了提高學生利用計算機解決實際問題的能力,為學生將來在本專業領域應用計算機解決問題奠定基礎[1].筆者對多所同類高校的非計算機專業程序設計課程教學現狀作了調查研究,結合我校實際情況,對教學中存在的一些問題提出改革建議,以期為今后的教學提供參考.
筆者對我校2008年以來每年的非計算機專業程序設計課程做了數據統計,如表1所示,從中可以看出我校在課程設計、教學內容與教學形式等方面還存在一些問題,由于這些問題的存在使得每年學習程序設計的專業、選修人數及考試的分數都在不斷的下降,如果問題得不到及時的發現和解決,將來勢必導致程序設計課程在我校將難以開展下去.
隨著高等教育的發展,大部分高等農業院校都在不斷地擴大招生規模,增設新學科和新專業,逐步發展成為農、工、經、管、文、法、醫等多學科、多專業共同發展的綜合類院校.由于不同專業對學生掌握計算機基礎的技術范疇要求不盡相同,而且本科教育的培養目標已經由“研究型人才”轉向“應用型人才”,雖然從理論上而言,程序設計課程原理都是相通的,只需開設一門,其它語言可以通過自學來掌握,但是由于農業院校學生的學習能力與工科院校相比還存在一定差異,比如邏輯思維能力較弱,想象空間較窄等,另外不同的農業類專業對計算機技能的需求也不盡相同,因此如何針對專業需求選擇符合專業的程序設計課程成為一個亟待解決的問題.近年來我校在設置程序設計課程時也存在一定問題,比如園藝教育專業,09級學生學習VB課程,10級學生學習VFP,11級學生又改學C,課程設計沒有一定的延續性.

表1 我校2008~2012年農業類專業程序設計課程情況表
目前,我校農業類專業的程序設計課程教學目標和要求都是一致的,根本沒有把專業技能和計算機技能結合起來.另外程序設計教材也都是通用的,內容大都與計算機專業所學教材一致,書中語法、語句講的太多太細,忽略了對專業上的基本問題的求解.教材中的實例偏向于理工科中的數學內容,體現不出與學生所學的專業知識有任何聯系,并且計算機課程與農業專業課在思維方法上也相距甚遠,結果學生在學完課程后仍然不會用所學知識解決專業問題.久而久之,學生就會出現學習動力不足,逐漸失去學習興趣,對學習計算機課程抱著一種被動的應付心理,這也失去了高校最初設置這門課程的本意.
與理工科院校相比,農業院校開展計算機基礎教育工作相對困難較多,這是由于學生的生源主要來自農村,落后的條件導致這些學生計算機基礎知識和操作技術較為薄弱.另外,學生在獨立思考能力和學習能力等方面也有著較大的差距.這就要求在教學中不能用統一的方法,應注意授課對象不同,采取不同的教學方法.
高等院校學分制改革使得計算機公共課的課時縮減,每學期實踐課時只有30個,致使學生沒有足夠的上機實踐的時間,形成了理論重、實踐輕的局面,而實踐操作對于程序設計課程而言是至關重要的,學生只有通過多上機練習編寫程序、調試程序才能不斷提高編程能力.而較少的實踐操作也使得學生對程序的編寫、錄入、編譯非常生疏,有許多學生對程序編譯時出現的英文不認識,如undeclared identifier(未聲明驗證)、truncation(截去)等.如何在課時不足的情況下,使學生能夠充分進行實踐是教學改革需要解決的問題.
目前程序設計課程的課堂教學模式都是以教師講授為主,學生聽和記,由于課時少,教材內容又多,教師為了趕進度,往往無法與學生進行有效的溝通,教師不清楚學生的掌握情況,學生也極少主動問老師問題,課堂氣氛顯得枯燥乏味.有些學生上課不注意聽講,對程序設計中的本質缺乏理解,比如,許多學生對變量、常量、指針等意義不清楚,更不用說應用了.還有部分學生因為要參加一些學校組織的其它活動而無法上課,課外自學時遇到問題又無法及時得到解答,問題越積越多也就導致學生產生厭學情緒.
以探究型教學模式取代傳統的教學模式.探究型教學模式是指教師以課程內容和學生的學識積累為基礎,引導學生創造性地運用知識和能力,自主地發現問題、研究問題和解決問題,是在研討中積累知識、培養能力和鍛煉思維的新型教學模式[2].相對于以單向性知識傳授為主的傳統教學模式而言,探究型教學模式能極大地引起學生對學科的興趣,拓寬學生的視野,提高學生的學習積極性,從而對學科進行比較深入地探究.探究型教學模式與傳統的教學模式的區別如表2所示.

表2 探究型教學模式與傳統教學模式的區別
從表2中可以看出,探究型教學模式不再是傳統教學模式中的“填鴨”式教學,而是一個具有能動性和創造性的教學過程,學生不再是對知識死記硬背,而是經過思考、探究、綜合運用相關理論知識,并充分發揮自己的想象力和創造力.在教學的過程中,教師與學生的創造熱情和積極主動性都能得到充分發揮.[3].
(1)教學內容改革.農業類專業的程序設計課程在教學內容上不宜過分注重語法細節,而應該有所取舍,不該講授的內容堅決不要介紹,以防因小失大.對農業類專業而言,掌握語言不是目的,真正的目的是掌握程序設計開發的基本思想與基本算法.筆者在教學中經常是在解決實際問題的過程中介紹C語言的語法規則及其本算法.例如,筆者在上種子科學與工程專業的C語言程序設計課程時,準備學習數據類型,這時筆者首先提出一個問題:如果要進行農作物種植最終收益的評估,需要考慮種子成本、肥料成本、人工成本、收割成本及銷售收入等各種成本,讓學生思考如何對這些數據加以表示.就種子成本數據而言,因為有種子編號,種子單價,每畝播種量等數據,這三種數據性質不同,在計算機內存中存儲方式也不一樣,因此要用不同的數據類型加以區分,從而引出數據類型的概念及如何使用數據類型定義變量.有了數據表示之后,接下來就是數據如何輸入和輸出的問題,于是又涉及到輸入函數scanf()和輸出函數printf()如何使用的問題,數據輸入后接下又考慮到如何編寫程序語句計算最終收益的問題.這種圍繞問題來介紹概念和語法規則,具有一定的針對性,又結合了專業知識,容易引起學生的學習興趣,往往會起到事半功倍的效果.
(2)實驗內容改革.實踐教學是程序設計課程的關鍵環節,實踐過程中案例的選擇非常重要.為了激發學生的學習興趣,使其學習的知識具有一定的實用性,能夠幫助學生解決學習中遇到的問題,就要求案例最好與專業知識相結合,設計案例時不僅要適合學生的知識層次和掌握能力,而且還要充分考慮案例的典型性和難易程度等.比如對農林專業,可以設計一些關于農作物種植收益的評估、農作物產量預測、農藥用量問題、種植品種選擇問題等和專業知識有聯系的案例.針對農作物種植品種的選擇問題可設計成一個項目:已知一塊地實際面積大小,現有A、B、C和D四種作物可種植,已知每種作物的成本、產量、單價.求以畝為單位,種植每種作物的收益,選擇哪一種收益最高?如何組合栽種可以獲得最大收益,最大收益是多少?可將這些專業案例按層次分為:①基礎驗證性實驗項目;②綜合性設計性實驗項目;③開放性探究性實驗項目.基礎驗證性實驗項目主要是針對基礎知識訓練學生的基本技能,在數量上要根據考核的知識點而設立,這類實驗在布置時要求學生獨立完成;綜合性設計性實驗主要是為了考核知識的綜合運用情況,從而提高學生的應用開發能力,實驗數目可以根據章節適當開設;開放性探究性實驗是在學生掌握了一定的實驗技能后,由學生自己設計實驗方案,在教師的指導下,由小組內成員合作完成的實驗項目,這種項目引導學生通過實驗去拓展知識,提高動手能力、創新思維能力和解決實際應用問題的能力.教師可以在原有案例的基礎上,逐步改變條件,產生新的應用,從而提高學生對程序的分析理解能力和舉一反三能力[4].教師可引導學生找出案例中存在的問題,不斷提出新的問題,這樣學生不僅理解了知識點及知識點之間的聯系,熟悉了程序設計的過程,還鍛煉了思考能力.
(1)活躍課堂氣氛.不管是在多媒體教室還是在機房上機實踐,讓師生互動、學生互動都是解決課堂枯燥無味、提高學生興趣的好方法,教師在教學時不應自顧自講課,而應該鼓勵學生參與到教學過程中來.比如,我們在學習了一個案例后,可以將編寫完成的程序刪去一部分代碼,然后讓學生重新編寫出來,回答不上的同學可以尋求別的同學的幫助.或者是教師對給定問題先設計一種算法,然后要求學生用另外一種不同的方法來完成,從而達到舉一反三的作用.教師可根據課程的實際情況使用相似的方法來調動課堂氣氛,這樣做的好處是,不僅促使學生認真聽課,主動思考,同時也有助于相互協作,共同解決問題.不可否認的是同學之間的相互討論有時比教師的苦口婆心的講解還能達到事半功倍的效果.
(2)小組協作學習.在上機實踐過程中,由于綜合性設計性實驗項目和開放性探究性實驗項目難度較大,可以將學生進行分組,以小組為單位,組內成員共同制定計劃,分工協作完成,這樣有助于培養學生的團隊精神和集體合作精神,并且可以讓成績優異的學生帶動其他學生一起進步.在此教師應該根據實際情況,靈活把握分組的標準.一般而言,教師在課前應根據學習內容,結合學生的學習基礎、能力、特長、性別等因素,按照“互補互助、協調和諧”的原則把學生編成小組.如果教師對新的班級不太熟悉,可以通過學生的自我評述或用以前的成績作參照進行初步分組,過后再根據小組協作的不同階段重新分組.教師也可讓學生自由搭配.不管用什么方法進行分組,都要以建立團結、協作的團隊為基礎,因為只有這樣才能最大限度地發揮每個人的智慧,產生最好的學習效果.教師應對項目結果進行評價,評價內容包括程序能運行出正確的結果、項目報告、項目答辯或隨機提問,隨機提問是為了防止抄襲,完成比較優秀的項目要給予表揚和展示,并在期末考核成績中給予加分.
(3)利用網絡平臺,加強師生交流.WebQuest是基于網絡的探究性學習,以調查研究為導向,引導學生自主獲取、理解、運用相關學科知識解決問題,能培養學生的信息素養、協作精神和創造性的思維能力[5].程序設計課程內容豐富靈活,學生遇到的問題也多種多樣,但是由于課時有限,許多問題很難在課堂上得到及時解決,課下學生與教師又很少接觸,建立一個網絡學習平臺不僅能方便學生對內容的理解和自學,也為師生之間、學生之間提供了一個交流的平臺,達到提高學生學習興趣和積極性的目的,而且教師本人也能及時得到反饋信息,以便更好地調整教學過程.網絡學習平臺應包含以下功能:網絡學習系統、教案下載、實驗指導、在線測試、作業在線提交、等級考試應試指南、新技術交流、網上答疑、項目開發訓練、熱點問題討論等.網絡教學使學生由“要我學”轉變成“我要學”,讓學生真正感到了自己是學習的主體,對學習內容、學習形式等具有選擇權,容易激發他們主動學習的精神[6].

表3 學生平時表現與對應分值一覽表
考核是評價教學效果和衡量學生學習效果的重要方式,應當以考核應用能力為主,建立以課業、研討、實驗評價和卷面考試相結合的綜合能力素質的全方位考核體系.不能只局限于傳統的筆試成績,而應把上機操作以及課外的項目完成情況納入考核范圍,這就要求教師要建立良好的成績評價準則,為每個學生建立平時學習成績檔案,如表3所示,以便于學期結束時結合期末考試成績對學生的學習情況給出綜合成績.這種考核方式不但能客觀地、公平公正地反映學生的學習情況,同時也能調動學生的學習積極性.
筆者針對目前農業院校非計算專業程序設計課程的教學中存在的主要問題進行了探索,并針對這些問題進行了一定的改革實踐,在實際教學中以問題為導向的探究型教學模式,以案例為導向的小組協作學習模式都是在教學中以問題為導向,引發學生思考,并將科學研究的眾多要素滲透到教學的各個環節中去,起到了一定的成效.
:
[1]朱惠明,姚青.程序設計語言課程教學改革探討[J].山東工業大學學報,2000(2):85-86.
[2]籍建東.研究型教學模式與傳統教學模式的比較[J].職教論壇,2011(5):43-45.
[3]蘇麗,蘭海.試論研究型教學模式——基于培養高級應用型人才的視角[J].黑龍江高教研究,2008(12):175-176.
[4]李秉章,徐亞平,羅燁.以提高應用能力為目標進行計算機專業課教學[J].計算機教育,2006(12):28-31.
[5]黎加厚.Moodle課程設計[M].上海:上海教育出版社,2007:134-135.
[6]章英.高等農業院校《C語言程序設計》教學探討[J].計算機教學與教育信息化,2008(5):910-912.