孫志崗 車萬翔 王宇穎
信息技術已經徹底改變了人類的生活,各行各業都在享受它帶來的便利。專為培養信息技術人才而設置的計算機專業,理所應當地應該走在應用信息技術改革教學方式、教學理念的前列,從更深的層面上實現用計算機改進計算機教育。但遺憾的是,至今仍有為數不少的教師只應用PowerPoint講課,更不可能借助當代最偉大的發明Internet進行教學改革了。
本文作者歷時六年,在教學實踐中成功應用了Moodle、libsandbox、Moss和Duplication四種利器,開發了將四者集成在一起的插件,實現了網絡化課程管理,編程作業自動評判、編程作業雷同檢測和中文報告雷同檢測,取得了不同凡響的效果,而且這些工具都是完全免費的。

1網絡課程管理平臺——Moodle
課堂面對面授課存在著空間與時間的局限。隨著學生數量的增加,這種局限表現得越來越明顯,直接導致教學質量的下降。突破局限的較好路徑就是降低教師對課程的影響度,讓學生從課程接受者變為課程建設者——這在教育理論界被稱為“建構主義教育學”。學生角色的轉變不僅可以提高教學質量(即知識的傳授),更可以實現真正的素質教育。因為建設者比接受者要經歷更多的思考和實踐,在過程中自身的知識和能力都不由自主地升華了。每個老師教完第一輪課后,都會感覺自己對該課程的理解又上了一個層次,就是因為教師的角色是建設者?!敖嬛髁x教育學”與我們的很多現行體制有矛盾,但我們嘗試使用Moodle這個基于“建構主義教育學”理念而開發的網絡教學平臺后,就可以比較輕松地實踐這個理論并取得好的教學成果。
Moodle(http://moodle.org)是一個開放源代碼的在線課程管理平臺,用戶遍布全球200多個國家和地區。它既可以用來建設純粹的網絡課程,也可以對課堂授課進行有益補充。它擁有大量課程管理功能,發布課件、提供參考資料、編寫教學大綱、制定教學日歷是最普通的,在線收作業、批作業最受歡迎,但這也僅僅是實現規范化管理,減少工作量,促進環保而已。最具特色的,是Moodle面向教學需求構造了一個多方式的交流、協作平臺。標準功能模塊包括論壇、投票、wiki、聊天室、問卷調查、專題討論等,而且都為教學做了特別設定。比如論壇和wiki模塊,教師可以給學生的帖子和撰寫的條目評分,分數和作業得分等可以一起計入最終成績,達到鼓勵交流和為課程做貢獻的效果。對中國學生而言,羞于表達是一種傳統,但在分數的刺激下,他們很樂意打破傳統,在網上充分展示自己的想法。在實際使用中,我們讓論壇發貼的分數占期末成績的5%,結果引發了持續一個學期的網上討論熱潮。直接結果是教師被邊緣化,幾乎不需要參與討論,學生自己的思辨帶來了更好的學習效果。
Moodle從1998年啟動至今,數百名開發者持續為其貢獻代碼,已經擁有一個相當活躍的社區。經過十多年的發展,它已經相當成熟、細致,以至于顯得有些繁雜。它開放式的架構使我們可以更靈活地定制、擴展Moodle,基于它實現自己的特殊需求,比如將其他工具集成到Moodle中。以下工具就都已經集成進我們用Moodle搭建的網絡教學平臺——樂學網(http://cms.hit.edu.cn)。
2編程作業在線評判——libsandbox
ACM ICPC已經成為國內計算機專業影響力最大、參與人數最多的學生競賽,但它的作用不僅僅局限在競賽中,如它獨特的Online Judge評判方式很適合在程序設計課程中采用。我們已經連續四年在C語言課程中用Online Judge評判作業,效果驚人。對教師來說,這種方式顯著降低工作量,提高評分的準確性和客觀性;對學生來說,Online Judge自動返回的一次次錯誤就像一針針興奮劑,刺激他們不斷嘗試,不達滿分不罷休。得到滿分后的喜悅與成就感,又驅使很多學生尋找更大的挑戰。與之前不使用Online Judge相比,學生編程的熱情明顯提高,程序的完成質量也有很大提升。

國內高校已相繼建立很多用于ACM競賽的Online Judge,但它們幾乎都沒有提供和教學過程的接口,不能方便地以作業形式布置題目,不能提供適合教學的評分策略,不能對成績進行按需管理,甚至賬號和學生本人的身份綁定關系也不十分確定。因此,我們將Online Judge的評判方式和Moodle集成,將哈工大學生原創的開源軟件libsandbox(http://sourceforge.net/projects/libsandbox/)作為評判核心,針對教學需求開發了一個Moodle作業的插件。作為http://acm.hit.edu.cn的核心,libsandbox已經穩定運行多年,安全性已經受到足夠考驗,值得信賴。作業插件繼承了Moodle作業本身的所有功能,又擴充出自動評分、評判歷史和代碼查看等特色功能,極大地方便了教學。學生看到的插件界面如圖1所示。
3程序雷同檢測——Moss
抄襲是教學最大的敵人,所以才會有嚴密的監考。但平時作業如何監考呢?靠人眼比對數十甚至上百份作業是不現實的。斯坦福大學開發的Moss系統(http://theory. stanford.edu/~aiken/moss/)就是編程作業的監考,它能飛快地從數百份程序中精準地列出疑似雷同名單,并按雷同度排名,方便做進一步的人工審核。從我們的使用經驗和統計結果看,相似度超過50%或相似代碼行超過30行的作業幾乎都存在抄襲行為。
Online Judge讓學生努力編程序,Moss讓學生自己編程序,兩者相輔相成,形成一種強大的壓力/動力,威逼/利誘學生好好編程。我們還曾嘗試在高年級課程中應用Moss,對那些習慣性抄襲的學生來說真是一場噩夢。但教學效果卻非常好,很多學生期末欣喜地表示,才知道自己原來也會編程序,是Moss激發了他們的潛力。
Moss客戶端只是一個命令行腳本,將本地的源代碼文件上傳到Moss服務器,服務器處理后返回結果。我們開發了一個插件,將Moss和Moodle集成,可以在Moodle頁面內直接將指定的作業上傳,并對返回的結果進行格式化分析、顯示。圖2和圖3是該插件第一版的效果。第二版正在開發中,將支持更多的格式化選項。
4中文報告雷同檢測——Duplication
隨著信息技術的普及,越來越多學生的大作業及論文以電子報告的形式提交,具有一定的環保意義,但電子信息的易復制性也給學生抄襲帶來了方便。有效地進行雷同報告的檢測,對于培養學生獨立思考的習慣,提高教學質量有重要意義。我們針對常見的學生報告抄襲問題,設計并實現了一個高效的檢測系統——Duplication,并初步驗證了該系統的有效性。它的主要處理對象是電子格式提交的報告和大作業,內容是自然語言文本而不是形式語言代碼的文檔,支持.txt、.pdf和.doc等多種文檔類型。它能減輕教師人工判定雷同的工作量,督促學生獨立思考,提高作業質量。該系統目前還不能處理互聯網抄襲情況,這也是我們目前正在研究的一個問題。
我們采用和Moss相同的方式將Duplication集成進Moodle中,實現了在同一個界面內自由選擇檢測引擎進行雷同檢測。
5結束語
“好的工具不僅可以改變教學方式和方法,更能改變教學思維和理念”,這是我們應用上文介紹的幾種工具后最大的感受?,F在,這些工具已經廣泛獲得教師和學生的歡迎,越來越多的課程部分或全部采用這些工具。為了更方便地使用,提供更強大、穩定的功能,我們正在開發第二版Moodle插件。讀者可以向sun@hit.edu.cn索取這些插件,向car@hit.edu.cn申請Duplication的使用權。