文章編號:1672-5913(2008)16-0019-02
摘要:本文介紹了我院如何在程序設計課程的實驗中融合競爭激勵機制,該方法借鑒ACM模式的成功經驗,旨在提高學生程序設計的學習興趣和熱情,提高學生的創造性思維和解決問題的動手能力,并且培養學生的自學能力和創新能力。
關鍵詞:ACM;競爭機制;程序設計;實驗方法
中圖分類號:G642
文獻標識碼:B
1競爭與激勵機制的重要性
程序設計是一門交叉多學科,內容廣泛且比較抽象,同時具有嚴密邏輯性的課程。在傳統的教學模式中,不少教師發現部分學生對該課程容易產生厭學情緒,在后期甚至有一些學生干脆選擇放棄。基于這種狀況,對傳統的教學模式進行探討與改革是必要的,解決這種局面的一條途徑就是提高學生的學習興趣和主動性。
對學校而言,提高教學質量是第一要務。教學質量的提高有賴于教師和學生的共同努力。教學活動是教師教和學生學的雙邊活動,既要求教師充分發揮主導作用,又要求學生充分發揮主體作用。也即要求教師改進教學方法,同時又要求學生端正學習態度,兩個方面缺一不可。在某種意義上,后者更為重要,引入競爭機制可以真正調動學生學習的積極性,有助于從根本上解決影響教學質量的深層的矛盾。
目前,QQ是國內最流行的即時通訊軟件,它的成功因素很多,其中“等級機制”無疑做出了重要的貢獻,網絡上甚至出現了大量的QQ外掛服務,外掛服務的火爆表明有很多人希望盡量提高其QQ等級,也在側面證明了競爭與激勵機制產生的重大效果。以至于在后來,其他即時通訊軟件也紛紛效仿QQ 的做法,如飛信等,另外還包括很多網絡游戲等。這個例子進一步說明了只要存在競爭與激勵措施,人們就會有興趣和熱情去參與,所以,在程序設計課程中引入這種競爭和激勵機制,創造一個充滿生機活力的良性運行機制,有利于激發廣大學生的學習積極性和主動性,使其真正實現由“要我學”到“我要學”的轉變。
2ACM模式實踐教學
ACM國際大學生程序設計競賽(簡稱ACM/ICPC)是由國際計算機界歷史悠久、頗具權威性的組織ACM學會
(Association for Computer Machinery) 主辦,是世界上公認的規模最大、水平最高的國際大學生程序設計競賽,其目的旨在讓大學生運用計算機來充分展示自己分析問題和解決問題的能力。
ACM涉及學科知識面廣,有助于培養學生自主學習的能力、創新能力,也有利于團隊精神的培養。該項競賽從1970年舉辦至今,歷屆競賽都薈萃了世界各大洲的精英,云集了IT界的“未來之星”,而受到國際各知名大學的重視,并備受全世界各著名IT公司如Microsoft、GOOGLE、IBM 等的高度關注,成為世界各國大學生最具影響力的國際級計算機的賽事, ACM所頒發的獲獎證書也為世界各著名IT公司、各知名大學所認可。中國高校從1996年開始舉辦ACM競賽,得到國內眾多知名高校的積極響應和熱心參與,目前更是呈現迅速發展的趨勢。由于該競賽設定一套合理的競賽排名、挑戰規則,提供了一個學習和使用程序設計語言和算法的完整實踐模式,讓學生以精通編程為榮,形成一個積極向上的自主學習氛圍,一些高校己將此模式運用到軟件基礎課程的教學過程中并取得顯著效果。
在程序設計課程的傳統實踐教學中,每個學生編寫程序源碼的IDE和編譯環境等都是本地的,他們最關心的問題停留在程序能否運行通過并最后上交,學生之間沒有競爭的氣氛,感受不到激勵環境,他們的實踐也屬于自我為中心的“本地”模式。而ACM模式的實踐教學完全區別了傳統的實踐教學,ACM平臺采用B/S結構,學生用網頁瀏覽器提交程序源代碼,服務器接收到源代碼后編譯,并將相應的編譯執行結果返回學生端。因為ACM的在線提交系統還整合了成績統計、名次排序等功能,增加了很多趣味性,同時也增強了交互性,還集成了競爭激勵機制,激發了學生對程序設計課程的學習興趣、愛好和認知主體作用,從而極大地提高了學生的學習效率,收到了好的教學及學習效果。圖1是ACM模式實踐教學的一個序列圖。

著名的程序設計師Stanley B. Lippman曾經說過一句經典的話:編程是一門藝術。既然是藝術,那么創作它的思維就可以是廣泛的,所以它的實現過程也是靈活多變的。ACM模式正是以解決問題為目標,解題方法不受限制,可以讓學生有更多的創新思維空間。傳統實踐教學更多的是對教師范例的模仿,學生的對程序的實現沒有更深層次的思考,不會太多考慮時間復雜度和空間復雜度。而通過ACM平臺進行教學,不僅要求學生獨立分析問題,考驗他們將知識點綜合利用的能力,并且還要在算法上進行合理的優化,要在更短的時間內做出準確的解答。ACM設計競賽的成功也表明,采用ACM模式進行實踐教學,可以給學生一種積極向上,公正、公平的感覺,學生實踐完成以后總覺得還可以做得更好,令他們產生一種要繼續學習的動力,甚至將產生的興趣變成一種發自內心的熱愛。基于程序運行結果的方式實現了實驗與學生交互的實時性,同時也實現了學生名次的實時性,而這正是本方法刺激學生提高程序設計興趣的亮點,起到了與QQ等網絡游戲的等級機制相同的效果,多數學生為了能夠獲得一個更好的名次,會努力地解題并提交程序,在整個過程中,又會促使他們尋找各種資料和解題方法,從而提高了他們的程序設計能力。在實踐過程中,發現這種機制是成功的,眾多學生把這種模式的實驗當成了一種游戲過程,學生的積極性和程序設計能力都有了較大的提高,而這正是各位教師所期望的,也是學校所期望的。因此,它給了教學工作者一個啟發,在教學過程中如果能夠提供這樣一個游戲的、競爭的過程,就有辦法提高學生的學習興趣和熱情。
3結束語
ACM程序設計競賽取得了巨大的成功,不可否認這種模式是可以借鑒并引入到實際教學改革和探索中來的。事實上,已經有一些高校將該模式運用到了某些程設計語言課程的教學過程中并取得顯著效果。例如,我校2006年采用ACM模式開發了一套針對C語言的在線提交系統,投入運行以來已經取得了良好的效果,目前系統的在線注冊用戶超過3000人,日平均提交頻率約為1000次/天。在最近幾次的浙江省計算機二級考試中,學校C語種的通過率基本保持在90%以上,較往年有了大幅提高。
采用ACM模式的程序設計課程實踐教學,將理論知識學習和實際應用有機結合,注重編程能力的提高和解題思維能力的訓練,引入競爭交流機制,為學生提供了因材施教的途徑,激發了學生自主研究性學習的興趣。ACM模式實踐教學在以應用型人才培養為目標的三本及高職院校的程序設計課程實踐教學的應用尤顯重要。
參考文獻:
[1] 歐陽民.競爭機制的引入與教學質量的提高[J]. 科技信息,2007,(07).
[2] 張秋香.如何有效地激發學生的學習興趣[J]. 人教期刊,2002,(11).
[3] 毛華,羅朝盛.基于Web的在線考試系統的設計與實現[J]. 計算機時代,2005,(11).
[4] 李文新,郭煒.北京大學程序在線評測系統及其應用[J]. 吉林大學學報,2005,(08).
[5] 李翔昊.感受ACM-ICPC競賽的教育意義[J]. 計算機教育,2006,(03).