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

在線評測教學輔助系統設計與應用

2018-01-06 12:24:14肖紅玉藍榮祺萬志強
電子設計工程 2017年23期
關鍵詞:實驗教學比賽作業

肖紅玉,藍榮祺,萬志強

(北京師范大學珠海分校信息技術學院,廣東珠海519087)

在線評測教學輔助系統設計與應用

肖紅玉,藍榮祺,萬志強

(北京師范大學珠海分校信息技術學院,廣東珠海519087)

針對程序設計類課程實驗教學的需求和特點,在分析現有的在線評測系統特點的基礎上,設計開發了程序設計在線評測教學輔助系統,并成功應用在C/C++/Java/數據結構課程的實驗教學中。文中介紹了系統的總體設計目標、技術架構、功能設計、數據庫設計以及應用情況。結果表明:系統實現了實驗課程教學資源、作業、題庫、用戶管理的功能,最重要的是實現了程序練習和評判過程的自動化和標準化,應用情況良好,獲得師生好評,對教學質量有很大的促進作用。

在線評測;教學資源;實驗教學;教學輔助系統

C/C++/Java/數據結構等程序設計課程是高校理工類專業的基礎核心課程,課程培養目標:培養學生掌握程序設計的思想和方法,掌握基本的程序設計過程和技巧,初步具備分析問題和利用計算機求解問題的能力[1]。這類課程對實踐開發能力、邏輯性思維要求比較高[2]。提高學生實踐開發能力最有效的方法就是重視實驗教學,督促學生在課堂內外編寫大量代碼。目前,部分院校的程序設計課程的實踐教學環節仍停留在學生提交代碼,課后由教師或助教手工評判的傳統教學模式上。這種教學模式不僅浪費資源、耗時耗力,并且由于作業完成情況反饋時間過長,學生的大腦接受的刺激頻率過低,從而導致對教學內容的記憶度大為減弱,久而久之開始厭倦枯燥的編程作業,學習效果欠佳[3]。ACM國際大學生程序設計競賽(ACM/ICPC)[4]是目前全球公認水平最高、影響最大的編程賽事,許多高校開發了基于ACM/ICPC的程序設計在線評測系統[5-9],提供程序設計競賽與訓練的開放式環境,但這些系統主要為ACM比賽服務,不適合直接用于課程實驗教學[10-13],有些高校以此為藍本設計了在線評測教學輔助系統[14]。

文中對現有的在線判題系統進行了分析,綜合各系統的優點與特點,結合我校程序設計類課程實際教學需要,設計了一個面向實驗教學兼顧競賽的在線評測教學輔助系統,系統可對用戶提交的C/C++/Java源程序進行編譯、運行、評測,特別地還提供了教學中心和作業管理子系統。程序設計教學團隊在該系統開展了多課程(C/C++/Java程序設計/數據結構)多輪實驗教學實踐,實踐效果良好。

1 系統設計

1.1 系統總體設計目標

基于Linux/Windows、Python、Mysql、Django 1.8和Nginx1.8平臺和HTML5+jQuery 1.11+Bootstrap 3.5前端開發技術的在線評測教學輔助系統是以ACM/ICPC競賽模式為藍本而設計的程序源代碼在線評判、實驗教學、競賽、教學資源管理的平臺。系統可以對用戶提交的C/C++/Java源代碼進行編譯、運行、實時評測打分并給出明確的評判結果。系統為老師提供了課程管理、排課管理、題庫管理、作業管理、助教管理、教學資源管理等功能,是日常教學、考試、競賽的一體化平臺。學生借助該平臺可以完成日常課程作業、查看用戶排名、站內檢索、下載教學資源等。

1.2 系統總體架構

系統采用多層分層架構,分為:表現層、業務邏輯層、評測模塊、數據訪問層,層間關系如圖1所示。

圖1 系統體系結構圖

表現層:接收用戶提交的數據,并以圖表的形式向用戶展示請求的數據,主要用于實現與用戶的交互。

業務邏輯層:包含應用于業務對象的規則,系統的業務規則在這部分編寫,主要完成以下功能:完成系統業務規則和邏輯的實現,從表現層接受用戶請求,根據業務規則處理請求,通過數據訪問層完成與數據庫的交互任務,將處理結果返回給表現層。

數據訪問層:主要完成與數據庫的交互即CRUD(Create、Retrieve、Update、Delete)操作。數據訪問層為業務邏輯層提供服務,根據業務邏輯層的要求從數據庫中提取數據或者修改數據。

評測模塊:對學生提交的程序代碼進行編譯、運行。如果源代碼在編譯過程出現錯誤,直接返回CE(Compile Error),結束判題。編譯成功,則讀取預定的輸入數據并運行程序,獲取程序運行時間、內存和CPU使用情況,如果發現這些數據超出題目的設定值,則結束判題,并給出對應的提示。如果程序順利執行,則把輸出重定向到臨時的輸出文件中,并和預先給定的標準輸出對比,兩個文件的內容一模一樣則判定學生提交的代碼是正確的,并返回Accept;否則返回WA(WrongAnswer),評測過程如圖2所示。

圖2 代碼評測流程圖

1.3 功能設計

系統共有管理員、老師、學生、助教4種角色,不同角色擁有不同的操作權限。所有用戶都有個人中心,包括:個人主頁(訪問題目、解決題目的次數匯總及明細與鏈接,提交次數匯總,通過次數匯總)、上傳頭像、賬戶設置(密碼、昵稱、郵箱、個人簡介、常用編程語言)、微信綁定。

管理員:可以設置系統運行參數(判題機狀態、網站名稱等)、用戶管理(增加用戶、刪除用戶、查找用戶、修改用戶、批量導入用戶密碼重置等),管理員還擁有老師和學生的所有操作權限。

教師:

1)題庫子系統:發布、修改、刪除題目,發布題目時需要輸入題目標題、題目描述、輸入描述、輸出描述、樣例輸出、樣例輸出、時間限制、內存限制、輸入測試數據、標準輸出數據、題目提示和參考程序,其中時間限制、內存限制可以采用默認值。題目可以分類管理,也可以按照難易程度分級。可以設置是否隱藏題目,被隱藏的題目只對老師可見。本人發布的題目只有自己可以修改、刪除,其他老師只能查看、布置作業時選用。每道題都可以查看評測歷史。

2)教學中心:教學中心包括課程管理(創建、編輯、刪除課程)、課程通知(發布、修改、刪除課程通知)、教學資料管理(上傳、刪除教學資料)、排課管理(設定上課的起止教學周、上課的具體時間、生成選課碼)、學生管理(批量導入上課學生名單、添加單個或多個學生、批量設定學生上課時間)、學生調課管理、助教管理(添加、修改、刪除助教)。

3)作業子系統:發布作業、修改作業、批改作業、刪除作業。發布作業時首先輸入作業基本信息(作業名稱、最高成績、備注、設置評測語言),接下來從題庫中選擇題目添加到作業中,設置每道題的分值以及是否必做,設置作業的訪問權限,人工批改作業(可批量修改),作業統計分析,作業代碼打包下載。

4)比賽:比賽功能與發布作業類似,不同的是作業通常用來指定給老師授課的學生在規定時間必須完成的題目,而比賽面向的是全年級或者全校的所有學生,此外,跟作業子系統相比多了添加裁判用戶和在線問答功能。

學生:

1)題庫子系統:可查看題庫中已公開的所有題目,在線提交代碼查看評測結果,查看題目評測歷史。

2)教學中心:查看教師發布的課程公告,下載課程學習資料,選課,提交調課申請。

3)作業子系統:查看老師發布的作業,并在線完成作業和填寫實驗報告。查看作業完成情況排行榜。作業截止后,查看各題示例代碼。

4)比賽:查看比賽,參加比賽,查看比賽結果。

1.4 數據庫設計

系統運行過程中產生的所有數據(用戶、題目、作業、課程、評測結果等)都需要持久化保存到數據庫中,采用MySQL數據庫。根據系統功能需要,共設計了38張表,其中用戶表用來保存用戶信息;與題庫相關的表有8個,分別是題目分類表、題目信息表、題目測試數據包、題目與測試數據關聯表、題目訪問記錄表、測試數據自動生成器隊列、評測隊列、評測狀態表;與作業相關的表有11個:作業信息表、作業題目與設置、作業題目集關聯表、作業權限控制設置、作業訪問權限關聯、作業解題情況、作業解題情況與評測狀態關聯表、作業與評測狀態關聯表、調課請求表、實驗報告表、作業訪問黑名單;教學中心子系統共有10個:課程信息表、課程通知消息表、學院信息表、專業信息表、課程排課信息、排課選課情況、課程排課關聯表、教學資源庫、課程與教學資料關聯表、課程助教關聯表;比賽子系統共有7個:比賽信息表、比賽題目設置、比賽題目設置關聯表、比賽評測狀態關聯表、比賽題目解題情況、比賽題目解題情況與評測狀態關聯表、比賽選手問答表;還有1張表用來存儲全站設置信息。

2 在“C程序設計”實驗教學中的應用

2.1 實驗教學題庫建設

借助在線評測教學輔助系統開展實驗教學首先需要建設課程題庫,與ACM比賽主要強調算法不同,該系統主要用于日常教學,用戶主要是本科低年級的學生,題目選取非常重要,既要貼近教材,難度適中,符合教學大綱需要,凸出課程的重點難點,還要生動有趣。為此程序設計教學團隊根據教材、教學大綱、本校學生特點設計了一系列由簡單到綜合、循序漸進的實驗題目。平臺于2015-2016第一學期在2015軟件工程專業試運行,到目前為止適合“C程序設計”日常教學的題目有幾百道,題目還將陸續更新補充。部分題目截圖如圖3所示。

2.2 分層次個性化教學

根據一項生物心理學研究顯示,人腦類似一個反饋激勵系統,在有效的信號刺激下,刺激的頻率越快,信息駐留在大腦中的時間就越長,有效及時的信息反饋能夠激發人腦的學習潛能和興趣[3]。為了激發學生的編程熱情,系統設計了作業排行榜和全站排行榜,排行榜采用類似ACM比賽的排名算法,首先是正確解題的數量,如果多名同學解題數量相同,再根據總用時進行排名,總用時由每道解答正確的試題的用時加上懲罰時間而成。每道試題用時從作業開始到題目解答被判定為正確為止,期間每一次錯誤的運行將被加罰20分鐘,未正確解答的試題不記時。每次作業都會生成排行榜,供師生查看,一方面便于學生了解所有人包括自己的作業完成情況,形成你追我趕的良好學習氛圍。另一方面教師可以對學生的學習情況了如指掌,并可根據學生的學習層次制定不同的學習方案,鼓勵學有余力的學生加入ACM協會,去挑戰課程外的難點。對于作業完成有困難的學生,老師可以深入了解具體情況,指定成績好的學生對其實行一對一的幫扶。圖4為某次作業的排行榜截圖。

圖3 “C程序設計”部分題目截圖

圖4 某次作業排行榜截圖

2.3 激勵競賽,引導課外自主訓練

“C程序設計”課程的受眾面廣,以我院為例,是軟件工程、計算機科學與技術、數字媒體技術、電子信息科學與技術、電氣工程及其自動化5個系500多名大一新生的專業基礎課,學生的學習能力和基本素質參差不齊,所以課外自主學習習慣和能力的培養非常重要,只有引導學生根據自身的實際情況在課外大量編寫代碼,才能有效提升創新和實踐能力[15]。程序設計教學團隊為了有效吸引學生課外自主訓練,摸索出了多項激發學生編程興趣、營造學習氛圍的有效方法,其中一個方法就是鼓勵學有余力和愛好編程的學生參加學科比賽,教學團隊與學院ACM協會聯動,定期舉辦各種比賽,比如“ACM國慶歡樂賽”、“ACM跨年友誼賽”、“ACM光棍節男生賽”、“ACM校內新生賽”等等。老師根據比賽排名,對同學給予加分獎勵。經過一系列課外自主訓練,有了一定的基礎和技術積累后,可以繼續參加學院舉辦的“ACM自主發展課堂”,優秀的學生將會被選拔進入ACM校隊,經過專門的集訓后,參加ACM省賽、區域賽、全球總決賽。從而達到依托平臺形成從課內實驗教學到自主訓練,再到學科競賽的創新型人才培養良性循環。

3 結論

在線評測教學輔助系統對學生提交的程序源代碼實時評測,可以給學生提供365天7*24小時不間斷助教服務,具有人工評判所無法比擬的優點,系統有別于傳統意義上面向比賽的OJ(OnlineJudge,在線評測)系統,擁有更適合課程教學的教學中心和作業管理子系統,為程序設計類課程如C/C++/Java/數據結構等提供了實驗教學平臺,對這些課程的實驗教學起到了很好的輔助作用,可以有效地提升教學質量。

[1]何欽銘,顏暉,蘇小紅,等.“程序設計基礎”課程教學實施方案[J].中國大學教學,2010(5):62-65.

[2]葛文庚,藺莉.程序設計基礎課程教學模式研究與設計[J].電子設計工程,2012(20):44-46.

[3]茅海軍,葉海榮.在線評測在C程序設計實驗教學中的研究與評價[J].中國校外教育,2012(12):162-163.

[4]The ACM-ICPC國際大學生程序設計競賽主頁[EB/OL].[2016-09-09].https://icpc.baylor.edu/.

[5]浙江大學在線評測系統[EB/OL].[2016-09-09].http://acm.zju.edu.cn/onlinejudge/.

[6]謝迪,李文新,郭煒.“百練”:一個程序設計技能訓練與水平測試平臺[J].合肥工業大學學報:社會科學版,2008,22(4):172-175.

[7]華中科技大學在線評測系統[EB/OL].[2016-09-09].http://acm.hust.edu.cn/.

[8]同濟大學在線評測系統[EB/OL].[2016-09-09].http://acm.tongji.edu.cn/.

[9]杭州電子科技大學在線評測系統[EB/OL].[2016-09-09].http://acm.hdu.edu.cn.

[10]陳念年,李郁峰,李繪卓.基于在線評判系統的程序設計教學[J].計算機教育,2009(15):83-85.

[11]徐紅云,江捷斯,周釩.基于競教結合的“高級語言程序設計”實驗教學改革實踐[J].實驗技術與管理,2012,29(10):165-168.

[12]陳志,李夢澤,馬嫣,等.基于ACM程序設計競賽的常規教學改革[J].電氣電子教學學報,2011,33(6):18-20.

[13]苗桂君,劉勇,許南山,等.在線評測系統在程序設計類教學中的應用研究[J].計算機教育,2016(9):157-162.

[14]韓君澤,鐘美,劉東升.程序設計在線評測輔助教學系統的設計與實現[J].內蒙古師范大學學報:自然科學漢文版,2010,39(5):473-476.

[15]韓建平,劉春英,胡維華.“課內外貫穿,競賽教學融合”的程序設計教學模式[J].實驗室研究與探索,2014,33(6):169,176.

Design and application of online judge teaching assistant system

XIAO Hong-yu,LAN Rong-qi,WAN Zhi-qiang
(College of Information Technology,Zhuhai Campus,Beijing Normal Univerity,Zhuhai519087,China)

According to the needs and characteristics of experimental teaching of programming design and based on the analysis of the characteristics of the existed online judge system,design and development the online judge teaching support system of programming design courses,it was Successfully applied in the experimental teaching of C/C++/Java/data structure course.This paper describes the overall design goals of the system,technicalarchitecture,feature design,Database Design and the practices application.The results show that the system has realized the function of teaching resource management,programming assignments management,test bank management and users management,the most important thing is to realize the procedure exercise and the judgment process automation and standardization.The system is in good condition,Teachers and students are most appreciative of the system,it has a great role in promoting the quality of teaching.

online judge;teaching resources;experiment teaching;teaching assistant system

TN99

A

1674-6236(2017)23-0011-05

2016-10-09稿件編號:201610022

廣東省教育研究院教育研究課題(GDJY-2015-C-b048)

肖紅玉(1976—),女,江西信豐人,博士,副教授。研究方向:分布式水文系統、軟件工程、數據庫應用。

猜你喜歡
實驗教學比賽作業
小議初中化學演示實驗教學
甘肅教育(2020年4期)2020-09-11 07:42:36
電容器的實驗教學
物理之友(2020年12期)2020-07-16 05:39:20
快來寫作業
對初中化學實驗教學的認識和體會
甘肅教育(2020年8期)2020-06-11 06:10:04
發芽比賽
大灰狼(2019年4期)2019-05-14 16:38:38
選美比賽
比賽
幾何體在高中數學實驗教學中的應用
作業
故事大王(2016年7期)2016-09-22 17:30:08
最瘋狂的比賽
智慧少年(2016年2期)2016-06-24 06:12:54
主站蜘蛛池模板: 麻豆精品国产自产在线| 影音先锋亚洲无码| 四虎永久在线精品影院| 欧美日本一区二区三区免费| 亚洲国产精品成人久久综合影院| 高清精品美女在线播放| www.av男人.com| 2020极品精品国产| 亚洲精品视频免费看| 国产网站免费| 天天激情综合| 中文字幕人妻无码系列第三区| 手机在线国产精品| 第一页亚洲| 国产欧美高清| 亚洲自偷自拍另类小说| 91在线播放国产| av一区二区无码在线| 无码AV日韩一二三区| 日韩二区三区| 欧美日韩v| 亚洲高清在线天堂精品| 国产免费网址| 国产欧美日韩在线在线不卡视频| 国产成人乱码一区二区三区在线| 九九免费观看全部免费视频| 日韩欧美中文在线| 天堂在线视频精品| 国产打屁股免费区网站| 亚洲无码高清一区二区| 午夜三级在线| 国产一区二区免费播放| 狠狠做深爱婷婷久久一区| 一本一道波多野结衣av黑人在线| 国产精品亚欧美一区二区| 99这里只有精品在线| 久久婷婷五月综合97色| 国产极品嫩模在线观看91| 婷婷亚洲视频| 国产综合色在线视频播放线视| 亚洲日韩精品欧美中文字幕| 精品伊人久久久大香线蕉欧美| 国产一区二区在线视频观看| 色精品视频| 国产精品自在在线午夜| 97视频在线观看免费视频| 国产美女在线观看| 国产乱人免费视频| www亚洲天堂| 欧美影院久久| www.av男人.com| 欧美福利在线观看| 99热这里只有精品在线观看| 亚洲一级毛片在线播放| 精品无码日韩国产不卡av| 国产黄在线免费观看| 亚洲色图综合在线| 国产免费一级精品视频| 亚洲AV永久无码精品古装片| 中文字幕在线日本| 亚洲欧美日韩另类在线一| 国外欧美一区另类中文字幕| 日韩欧美中文在线| 婷婷色中文| 欧美日韩在线亚洲国产人| 国产欧美日韩另类| 国产91高清视频| 国产免费自拍视频| 在线观看国产黄色| 欧美天堂在线| 亚洲无码视频一区二区三区| 国产第三区| 日韩精品免费在线视频| 亚洲欧美成人在线视频| 日本亚洲成高清一区二区三区| 天天色综合4| 亚洲美女一级毛片| 五月激情综合网| 国模在线视频一区二区三区| 欧美日韩动态图| 国产欧美日韩91| 91精品啪在线观看国产91九色|