999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于B/S模式的程序設計在線評測系統設計

2014-07-05 14:40:29曾臺盛泉州師范學院數學與計算機科學學院福建省大數據管理新技術與知識工程重點實驗室智能計算與信息處理福建省高等學校重點實驗室福建泉州362000
長江大學學報(自科版) 2014年34期
關鍵詞:系統學生

曾臺盛 (泉州師范學院數學與計算機科學學院;福建省大數據管理新技術與知識工程重點實驗室 智能計算與信息處理福建省高等學校重點實驗室,福建泉州 362000)

基于B/S模式的程序設計在線評測系統設計

曾臺盛 (泉州師范學院數學與計算機科學學院;福建省大數據管理新技術與知識工程重點實驗室 智能計算與信息處理福建省高等學校重點實驗室,福建泉州 362000)

針對人工評測程序設計類課程作業效率低下的問題,設計了一種基于B/S模式的程序設計在線評測系統。在具體分析系統功能需求的基礎上,介紹了系統的總體架構及功能模塊的作用,對數據庫及主要關鍵技術(包括后臺評測、相似代碼檢測和成績生成)進行了設計。實際應用表明,該系統響應速度快,判定結果準確無誤,既減輕了教師的工作負擔,又為學生進行程序設計提供了良好平臺,得到了師生的一致好評。

程序設計;在線評測系統;B/S模式

隨著計算機網絡的快速發展,傳統的程序設計類課程教學方式已經無法滿足學生的學習需要,網絡教學輔助系統在各高校程序設計類課程教學中得到了廣泛應用。現有的網絡輔助教學系統對于程序設計類作業沒有能力進行處理,需要教師對程序設計類作業逐一批閱、評判,工作量大且效率低下。為此,筆者設計了基于B/S結構的程序設計在線評測系統??泉州師范學院校自選科研項目(2011KJ07)。。用戶可以在線提交自己的程序代碼,系統自動編譯運行并給出判定結果,這對減輕教師的工作負擔,幫助學生通過網絡實現個性化學習,在線自動測試,提高了學生運用計算機分析、解決實際問題的能力。

1 系統功能需求分析

設計該系統主要目的是為了實現代碼自動在線評測,由具備權限的教師事先設計并通過網站錄入題目,在題目中詳細描述了具有一定背景內容的問題,同時給出題目運行的時間、內存限制以及輸入、輸出格式、輸入輸出測試數據。學生通過瀏覽器訪問網站閱讀題目,學生在客戶端先調試自己的解題程序,然后提交代碼,由系統自動評判學生提交的代碼。具體評判過程如下[1-3]:①系統自動編譯學生提交的代碼,如果程序有語法錯誤,編譯無法通過則報錯并退出。②系統執行生成的可執行文件,如果運行時錯誤,則報錯并退出。③將測試輸入文件數據作為可執行文件的輸入,得到輸出文件。處理過程中如果出現時間超限或內存超限,則報錯并退出。④將輸出文件與對應的答案文件進行比對,完全一致則輸出“接受”,有多余或者缺少空格或換行則輸出格式“錯”,否則輸出答案“錯”。學生提交代碼后看到評判結果,在程序代碼沒有被系統接受前,學生可以根據系統給出的各類錯誤提示,修改代碼并重新提交,直到被判定為接受為止。

為了能夠進行上機測試和比賽并自動獲得測試成績,系統應具備競賽功能和成績生成功能。此外,為了提高學生的學習積極性,系統還應具有排行榜、討論區、用戶成績對比、競賽圖片瀏覽、比賽新聞公告等功能。

2 系統總體架構

該系統總體架構采用Browser/Server(B/S)模式實現,其中Browser端提供用戶注冊、瀏覽題目、提交代碼、參與競賽、狀態查詢、競賽排名查詢、排行榜、用戶對比、討論版、相片瀏覽等基本功能。系統總體架構圖如圖1所示,其中服務器由判題服務器Judged、Web服務器和MySQL服務器3部分組成[4]。

3 系統功能模塊

3.1 題目管理模塊

該模塊主要完成教師對題目進行添加、修改、刪除等功能。添加一個題目時,需同時設置題目的基本信息和評判參數,基本信息包括題目名稱、題目類型(程序設計、數據結構、算法)、題目描述、輸入輸出說明,評判參數主要用于系統自動評判時使用,包括最大內存限制、最長運行時間限制、測試數據與測試結果示例。

3.2 評判模塊

該模塊具有如下功能:編譯用戶程序;重定向輸入輸出流;用測試數據作為輸入運行用戶程序;獲取輸出結果、對比答案并返回判定結果。

圖1 系統總體架構圖

3.3 競賽管理模塊

該模塊具有如下功能:競賽題目組織;考試起始時間設置;考試參與人員設置;成績評判方式制定;每道題目分值、權重確定以及最低通過標準制定。

3.4 成績生成模塊

該模塊具有如下功能:根據競賽管理模塊制定成績評判方式;根據學生解題情況自動生成成績報表并支持導出Excel表。

3.5 用戶管理模塊

該模塊具有如下功能:用戶注冊;用戶權限設置;用戶密碼維護;批量生成考試、競賽用戶等。

3.6 新聞公告模塊

該模塊主要負責考試信息通知、過往比賽成績報道等內容。

3.7 圖片瀏覽模塊

該模塊的功能是動態顯示程序設計集訓隊員參加各類競賽的比賽及獲獎照片,以激勵學生加強程序設計訓練。

表1 用戶信息表

4 數據庫設計

系統使用的數據庫是MySQL數據庫,其提供眾多的PHP和C/C++的程序接口,不論是Web端PHP頁面還是判題內核Judged的各個進程都可以實現輕松高效地對數據庫的訪問。系統主要數據庫表主要包括用戶信息表(見表1)、權限表、在線狀態表、競賽題目表(見表2)、競賽提交信息表(見表3)等。

5 關鍵技術實現

5.1 后臺評測

在評測過程中使用的C/C++語言編譯器為GCC/G++,當用戶提交代碼后,系統調用GCC編譯器進行自動編譯,使用的編譯選項為:g++testprog.cpp-o testprog-ansi-fno-asm-Wall-l——static Judged 2>error.txt。其中,testprog.cpp為用戶提交上來的程序,testprog為編譯生成的可執行程序,采用錯誤重定向“2>error.txt”,當編譯失敗時,用戶可以通過Web瀏覽器看到錯誤信息。

表2 競賽題目表

表3 競賽提交信息表

Judged為系統服務進程,主要功能為輪詢Web端或者數據庫中的任務隊列,隨時提取判題隊列,Judged的工作流程圖如圖2所示。評判算法由以下進程組成[5]:進程1運行編譯好的程序,輸入流指向測試用例;進程2通過管道接收進程1輸出,對每個接收字符和答案文件相應字符進行比較,如發現不一樣則終止2個進程,如果接收到的所有字符和答案文件均一致,則給出Accepted結論。在評判過程中如果用戶程序發生運行錯、答案錯、時間超限、內存超限等情況,通過發送sigkill信號強行終止該進程。

5.2 相似代碼檢測

在程序設計類課程的在線作業或考試過程中,個別學生可能通過各種途徑和手段提交相似代碼以欺騙系統進行判斷。為解決上述問題,采用如下方法:比較代碼運行的時間(Ti)和占用的內存空間(Mi),超過預定閾值后對疑似的2段代碼進行基于最長公共子序列方法的檢測;將2段代碼中的所有回車、空白字符刪除,得到2個長字符串然后每次找出2個串的最長公共子序列并將其刪除,直到找到的最長公共子序列小于某個閾值[3],計算被刪除的字符數目占原始數目的比例(Li),根據Ti、Mi、Li的值及對應的權重計算出2段代碼的相似度。

圖2 Judged進程工作流程圖

5.3 成績生成

成績生成主要是根據競賽管理制定的成績給定方式來進行計算,有以下方法可供選擇。第1種是傳統計算方法,即每道題目給定分值,按照學生答題情況,對每道題目給予分數,最后總計所有題目的得分情況作為學生的最終成績。第2種方法是參照ACM/ICPC程序設計競賽排名的做法,先指定考試合格的最低答題數目,以此數目作為合格的分數線,剩余每道題目用總分扣除合格分求平均值。此外,還應根據提交成功前失敗次數進行相應罰分,對于格式錯誤的代碼給予相應分值,但應確保排行榜考前的學生成績不低于排在其之后的學生成績,使得最終成績跟比賽實時排行榜名次一致。

4 應用效果

目前,該系統承擔了泉州師范學院4個年度的程序設計競賽及多門課程的期中、期末考試測評工作,已經順利完成了50余萬次的提交任務處理,系統響應速度快,判定結果準確無誤。在200多人同時在線提交時,服務器吞吐量正常,未見任何異常。由于使用該系統可以減輕教師的工作負擔,又為學生進行程序設計提供了良好平臺,因而具有很好的應用前景。

[1]陳湘驥,徐東風,楊秋妹.在線評判在C語言課程設計教學中的應用[J].計算機教育,2010,7(3):97-100.

[2]李文新,郭煒.北京大學程序在線評測系統及其應用[J].吉林大學學報(信息科學版),2005,22(S2):170-177.

[3]張浩斌.基于開放式云平臺的開源在線評測系統設計與實現[J].計算機科學,2012,39(S3):339-343,348.

[4]蔣社想,戴書文.基于J2EE的ACM競賽在線評判系統的設計[J].安徽理工大學學報(自然科學版),2009,28(4):59-63.

[5]喬少杰,楊燕,葛永明,等.基于B/S架構的多用戶在線程序評判系統設計與實現[J].計算機工程與科學,2011,20(S1):58-61.

[編輯] 李啟棟

TP311.52

A

1673-1409(2014)34-0040-04

2014-08-15

曾臺盛(1975-),男,碩士,講師,現主要從事算法設計、無線傳感器網絡及圖像檢索方面的教學與研究工作。

猜你喜歡
系統學生
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
快把我哥帶走
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
《李學生》定檔8月28日
電影(2018年9期)2018-11-14 06:57:21
趕不走的學生
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
學生寫話
主站蜘蛛池模板: 精品国产免费人成在线观看| 日本少妇又色又爽又高潮| 亚洲 欧美 日韩综合一区| 亚洲国产中文欧美在线人成大黄瓜| 青青草原国产一区二区| 91欧美亚洲国产五月天| 91丝袜乱伦| 精品乱码久久久久久久| 国产超碰一区二区三区| 91精品啪在线观看国产| 72种姿势欧美久久久大黄蕉| 91视频区| 91在线精品麻豆欧美在线| 九九视频免费在线观看| 青青草原国产av福利网站| 欧美日韩精品一区二区视频| 久久精品人人做人人综合试看| 国产办公室秘书无码精品| 亚洲床戏一区| 91极品美女高潮叫床在线观看| 一区二区理伦视频| 欧洲极品无码一区二区三区| 91探花在线观看国产最新| 91精品啪在线观看国产60岁| 亚洲精品久综合蜜| 91欧美在线| 青青青草国产| 99久久精品国产麻豆婷婷| 91伊人国产| 久久精品国产免费观看频道| 国产三级国产精品国产普男人 | 黄片一区二区三区| 91破解版在线亚洲| 天天躁夜夜躁狠狠躁图片| 国产区免费| 亚洲欧美自拍中文| 亚洲va精品中文字幕| 国产成人三级在线观看视频| 免费在线观看av| 99久久99视频| 精品少妇人妻一区二区| 亚洲美女AV免费一区| 国产十八禁在线观看免费| 亚洲一区二区成人| 亚洲国产成人综合精品2020| 中文字幕永久视频| 91成人在线观看| 视频国产精品丝袜第一页| 人妻丰满熟妇啪啪| 亚洲手机在线| 亚洲美女高潮久久久久久久| 国产aⅴ无码专区亚洲av综合网| 91久久性奴调教国产免费| 欧美日韩一区二区在线播放| 国产精品免费p区| 亚洲一本大道在线| 午夜激情婷婷| 亚洲aⅴ天堂| 亚洲欧美另类日本| 欧美三級片黃色三級片黃色1| 国产精品香蕉| 少妇露出福利视频| 婷婷亚洲最大| 日韩在线欧美在线| 日本a∨在线观看| 国精品91人妻无码一区二区三区| 久久久无码人妻精品无码| 亚洲无码电影| 免费又黄又爽又猛大片午夜| 日本人妻丰满熟妇区| 国产xx在线观看| 国产精品网址你懂的| 广东一级毛片| 亚洲九九视频| 精品视频一区在线观看| 欧美自慰一级看片免费| 亚洲精品国产成人7777| 国产一区二区福利| 日韩在线2020专区| 青青操国产| 精品久久高清| 在线精品视频成人网|