時間:2021年03月03日 分類:教育論文 次數:
摘要:通過分析各高校在線評測系統應用于實踐教學的現狀,結合北京化工大學在線評測系統應用實際,對九年來的計算機科學與技術專業的編程課程教學實踐和程序設計類學科競賽的培養情況進行數據分析和整理研討。經驗表明,文章分析的以在線評測系統為基礎,以學科競賽為目標的實踐教學模式有利于培養優秀的計算機科學與技術專業學生。
關鍵詞:程序在線評測系統;學科競賽;實踐教學
引言近年來,全國高校對于大學生實踐能力的培養越來越重視,而對于計算機相關專業的學生來說,提高自己的動手編程能力也就是提高了實踐能力。程序設計類課程具有入門難,兩極分化嚴重、實踐性強等特點。對于各大高校,計算機專業的競賽具有參加人才難挑選,培養難度高等特點。
所以,如何滿足新時期教育發展的需求,如何提高實踐教學的成果,如何培養具有更高水平的程序設計類競賽人才,是高校教師亟待解決的問題。隨著我國教育信息化研究的不斷深入和進程不斷加快,各大高校紛紛將現有的教育技術引入到實踐教學中。為此,作者將北京化工大學在線評測系統應用到計算機科學和技術專業的實踐教學中,對所收集的大量實踐數據進行了合理統計和分析得出,使用新的基于在線評測系統的教學有助于激發學生的學習興趣,提高學校和學生參加計算機類相關競賽的積極性并獲得優異的成績。
一、在線評測系統應用現狀
在線測評(OnlineJudge,OJ)系統,起源于ACM國際大學生程序設計競賽(ACMInternationalCollegiateProgrammingContest,ACMICPC)[1]。經過ACM競賽30多年的發展[4],各大高校紛紛開發了屬于自己的在線評測系統。其中國內著名的OJ系統包括:北京大學的POJ,該網站有強大的軟硬件系統,每天代碼提交次數高達3000次;浙江大學的ZOJ,浙江大學通過ZOJ舉辦浙江大學計算機程序設計能力考試(PAT),PAT的成績可以作為多家企業招聘和研究生復試的機試成績。
此外杭州電子科技大學的HDOJ、電子科技大學的UESTCOJ和華中科技大學的HustOJ都在程序競賽領域有較高的知名度。國外知名的在線評測系統有西班牙Valladolid大學的OJ(UVA)、俄羅斯Ural立大學OnlineJudge(U-RAL)、Codeforces和atcoder等。近年來各大公司也使用一些針對求職面試的在線評測系統,比如國內知名的牛客網和計蒜客等。這些評測系統,不僅廣泛應用于教學、對學科競賽人員的培訓和求職面試中,還對外開放注冊,為其他程序愛好者們提供題庫和代碼評測服務。
二、基于在線測評系統的實踐教學
目前,在線評測系統廣泛應用在各大高校計算機科學和技術專業的教學和競賽的培養中。在教學方面,各大高校將該系統直接應用于程序設計類課程的上機實驗教學中[2]。任課教師根據程序設計類課程的實驗內容和具體要求[3],合理布置實驗任務,新增題目或者從題庫中選擇合適的題目供學生上機練習。學生在編寫、調試完程序后,將程序提交給評測系統進 行判斷。評測系統會在后臺進行編譯,并結合測試輸入樣例得出運行結果,與測試輸出樣例進行比對,給出評判結果。
教師可以通過系統在網上抽查學生作業,及時發現問題給出指導,該系統的使用大大減輕教師的工作壓力。學生課后可以繼續登錄系統,完成未完成的實驗,保證了教學的連續性在一定程度上,提高了教學質量。在課程范圍方面,該系統的應用主要集中在C/C++語言、Java語言、Python語言的教學上,對這幾門語言的教學質量有很大提高。而對于其他計算機專業相關的課程,例如編譯原理、算法分析和設計、計算機組成原理、數據庫原理等涉及較少[4]。在計算機類學科競賽的培養中,各大高校使用在線評測系統選拔參加學科競賽的學生,進行模擬比賽,提高競技水平。
三、本校實例
(一)北京化工大學在線評測系統
我校基于開源的HustOJ系統部署了北京化工大學在線評測系統(OnlineJudgesystemofBUCT),主要用于我校程序設計類課程的實踐教學、校內周賽、月賽、“藍橋杯”軟件大賽的選拔和集訓以及參加ACM競賽的隊員集訓[5]。北京化工大學在線測評系統(BUCTOJ)使用php語言開發,后臺數據庫使用MySQL,采用B/S架構,主要系統模塊包括系統維護和管理、題庫管理、實時狀態、排名、競賽和作業、ACM競賽專區、討論版。
經過多年不斷的豐富和完善,BUCTOJ已經積累了近5000道編程題目,題目類型涵蓋了數據結構、算法設計與分析、C/C++語言程序設計、Java語言程序設計、Python語言程序設計、程序設計課程設計、ACM/ICPC程序設計方法與實踐[6]等幾門課程的主要知識點;題目難度覆蓋面也很廣,有適合剛入門新手的題目,有適合入門以后需要多加練習的題目,有適合選拔學生競賽的題目,有適合參加學科競賽學生訓練的題目等多種類型題目。BUCTOJ系統已經有超過70萬份代碼的提交,這些數據都存儲在數據庫中,我們可以使用這些數據對學生的學習進度,實踐水平進行合理的分析,專業性的進行培養。
(二)OJ系統在我校的應用
OJ系統已經在我校程序設計教學和學科競賽中使用了九年時間,在使用過程中,我們不斷總結經驗,積累方法,形成一整套基于在線評測系統的課程教學和學科競賽培養方案。
1.實時評測教學
系統管理員在開學初將學生的信息導入OJ中,根據學號生成相應的賬號。任課教師可以通過評測系統的狀態顯示功能,查看學生做題情況,對學生做題過程中遇到的共性問題給予針對性的講解和及時指導,對排名靠前的同學可以進行重點培養為學科競賽人員,對排名靠后的學生進行重點輔導。為適應不同層次學生的學習需求,教師可以根據學生的知識掌握情況,及時調整實驗任務,進行題目的分級分類,從而達到有效反饋、合理調控、提高課堂教學效果的目的。
2.更好的教學效能
教師把例題和課后作業題目掛到在線評測系統上,例題幫助學生進行熟悉練習,課后作業設置好起止時間,學生通過在線評測系統按時間要求進行作業提交,系統會統計出每道題目的提交次數、提交通過的題目數量及所使用的編程語言,對本次作業的完成情況進行排名,并可導出到Excel文件。
教師可以方便地獲取到所有學生每道題目的做題情況,查看是否抄襲,記錄總結學生遇到的問題,在課堂教學中進行針對性講解。在線評測系統的使用,簡化作業批改,使教師可以注重教育教學及自身素質的提高,從而提高教學效能。學生提交作業后,系統會快速給出評判結果,及時得知作業完成情況,即可進行后續修改與再次提交,與傳統收發作業的模式相比,這種方式科學運用了生物心理學的規律,既縮短了反饋周期,又能激發學生的學習潛能和學習熱情。
3.公平客觀的考核評價機制
使用在線評測系統進行實驗課考核,評判結果公正客觀。學生通過使用在線評測系統,可實現對每次考核內容的系統化管理,發現當前課程學習的薄弱部分,主動彌補。每次考核都會給出系統排名,可使學生意識到學習差距,從而能對自身提出更高要求,調動學生學習積極性。此外,將該系統直接用于學生程序設計語言類課程的考試上,傳統的試卷考試對于程序設計語言類課程有很大的局限性,對老師的批改、學生的創新都有很大的影響。我們可以使用該系統,進行上機考試,規定的時間內完成規定的題目。這一方法更加公平公正。
四、數據分析
(一)“藍橋杯”軟件大賽獲獎數據和代碼提交數我校從第四屆(2013年)“藍橋杯”開始參加軟件類大賽,至今已經參加了七屆,對第四屆(2013年)到第十屆(2019年)我校參加“藍橋杯”軟件大賽的獲獎情況進行統計。可以看出我校在“藍橋杯”軟件大賽中獲獎總數呈上升趨勢,圖中的水平線對應的為某一項的平均值,平均獲獎數為36,這證明我校基于OJ的計算機學科競賽培養有一定的成績。
我校在“藍橋杯”軟件大賽省賽在獲獎數量也呈上升趨勢由2013年的19項增加到2019年的47項。“藍橋杯”軟件大賽的規則是省賽一等獎選手獲得直接進入全國總決賽資格。我們可以看出我校在全國總決賽的獲獎情況有波動。與省賽相比,我們會發現國賽的獲獎受很多因素的影響,例如我校師生對藍橋杯的重視程度不如ACM/ICPC,沒有投入更多的精力;某一屆學生對編程的興趣感的強弱;某一屆學生生源地的影響(部分省份在中學時就會進行編程教育)。
教育論文投稿刊物:《科教導刊(電子版)》(旬刊)創刊于2009年,是由湖北省科學技術協會主管,湖北科教導刊雜志社主辦,面向全國公開發行的省級期刊。國家新聞出版總署批準(新出審字〔2012〕872號)國內統一連續出版物號為:CN42-9001/N,國際標準刊號:ISSN1674-6813。
五、結束語
經過九年教學實踐證明,基于北京化工大學在線評測系統的教學實踐研究,取得了良好的教學成果,為我校培養了一批具備編程能力和參加競賽的學生,并在各種計算機學科競賽中獲得了優秀的成績。但是不能過分依賴系統,教師的引導和監督作用不可忽視。如果缺乏教師的引導和監督,容易導致學生流于形式,影響學習。
參考文獻:
[1]張赫堯,史文靜,施爾寧,等.基于OnlineJudge與ACM_ICPC模式的課程探究[J].計算機光盤軟件與應用,2014,17(23):212+214.
[2]范江波,張學輝,張建兵.以OnlineJudge為突破口的程序設計課程全過程學業評價改革實踐[J].科教導刊(中旬刊),2019(09):96-97.
[3]陸國棟,陳臨強,何欽銘,等.高校學科競賽評估:思路、方法和探索[J].中國高教研究,2018(02):63-68+74.
[4]苗桂君,劉勇,許南山.在線評測系統在程序設計類教學中的應用研究[J].計算機教育,2016(09):157-162.
[5]李博,孟成博.對HUSTOJ在線評測系統的若干優化與創新[J].現代計算機(專業版),2013(35):47-50+56
作者:劉勇,田凱,周曉琳,吳佳偉*