亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Moodle平臺數(shù)據(jù)驅(qū)動的機試系統(tǒng)研發(fā)

        2019-04-01 01:33:26唐宇鵬唐亞哲朱海萍吳茜媛
        計算機教育 2019年3期
        關(guān)鍵詞:源代碼評測編程

        唐宇鵬,唐亞哲,朱海萍,吳茜媛

        (西安交通大學 電子與信息工程學院, 陜西 西安710049)

        1 研究背景

        計算機編程目前已經(jīng)成為高校理工科專業(yè)的必修課,而許多高校編程課程的考核還停留在傳統(tǒng)的筆試方式。編程類課程的教學目的是讓學生具備程序設(shè)計、編碼和調(diào)試的全流程能力。在紙上書寫編程題不但與編程學習的初衷相悖,也給考生和閱卷教師帶來了很多不便[1]。因此,只有進行機試,才能科學衡量一個學生的編程水平,引導學生提升自己的編程能力[2-3]。

        目前機試在高校中并不普遍,主要原因如下。

        (1)現(xiàn)有的機試系統(tǒng),要么僅采用了機試形式,學生提交源代碼,但要教師手工評測;要么采用比較先進的程序源代碼結(jié)構(gòu)分析、相似性分析等技術(shù),在源代碼層面上評估學生的編程水平。這種方式的問題在于:技術(shù)不夠成熟,評估的客觀性和正確性存在爭議??傊瑳]有簡單好用的機試系統(tǒng)是機試沒有被普遍應用的重要原因。

        (2)雖然很多學校有針對編程競賽的在線評測(Online Judge,OJ) 和題庫,但這類OJ都是對外開放的,其封閉性無法滿足考試要求,也無法導入考生信息。更重要的,OJ的評測方式是競賽的評測機制,通過就是滿分,未通過就是0分。這樣的評測方式有些極端,不適合計算機編程課程的考核。

        (3)現(xiàn)有的機試系統(tǒng)題目和順序都是固定的,沒有給予學生自主選擇題目的權(quán)限,考核方式缺乏科學性。

        基于上述分析,筆者提出了機試系統(tǒng)的基本要求:機試系統(tǒng)必須能夠自動評分、簡單可靠,又能正確客觀地評估學生的水平,還能提供各種輔助功能協(xié)助教師組織和實施機試。

        目前Moodle在高校計算機教學工作中得到了較好的普及[4],學生和教師已熟悉了Moodle的基本使用方法。Moodle中可以安裝OJ(Online Judge)插件[5],可以完成在線評測和自動評分[6],為基于Moodle開發(fā)機試系統(tǒng)提供了可行性。本文提出的基于Moodle的機試系統(tǒng)原則是盡量使用Moodle本身提供的各種功能特性,減少對Moodle系統(tǒng)源代碼的修改,使機試系統(tǒng)像Moodle一樣簡單可靠[7-8]。具體來說,機試系統(tǒng)使用Moodle提供的OJ插件完成學生提交程序的自動在線評分[9],通過建立大容量分難度的題庫,給學生在同一難度上提供多個題目選擇,減少偶然性帶來的評估誤差。

        2 Moodle系統(tǒng)分析及機試方案的提出

        Moodle(Modular Object- Oriented Dynamic Learning Environment)是一個開源的課程管理系統(tǒng)(CMS)[7],優(yōu)點是開源、免費,平臺界面簡潔、美觀、實用。由于其強大的功能和先進的教育理念,Moodle得到了國際廣泛認可和使用[8]。我國各大高校也在教學工作中廣泛使用Moodle。通過引入OJ功能,Moodle系統(tǒng)為程序設(shè)計類課程提供了非常方便的作業(yè)在線評測。

        本文機試系統(tǒng)的研發(fā)來自學校的教學改革項目,根據(jù)計算機系機試需求,機試系統(tǒng)需要支持用戶上載源程序、自動在線評測、分數(shù)統(tǒng)計等功能,能支持200人同時機試,機試系統(tǒng)的生成時間不大于60秒,系統(tǒng)響應時間小于2秒?;贛oodle系統(tǒng)開發(fā)時,應盡量減少對原Moodle系統(tǒng)的修改,以保持系統(tǒng)的可靠性和簡單性。換句話說,應盡量以增量的方式而不是以修改的方式研發(fā)機試系統(tǒng)。

        分析Moodle的源代碼可以發(fā)現(xiàn),Moodle系統(tǒng)中在線評測部分的主要流程見圖1[9]。通過跟蹤發(fā)現(xiàn),該流程的運行過程其實就是對課程分類(course category)、課程(course)、節(jié)(section)、模 塊(modules)、 題 目(assignment)和 用 戶(user)等多個數(shù)據(jù)庫表單進行操作的過程[10]。具體來說,每一個課程分類中含有若干課程,每個課程的題目分為若干的節(jié),每個節(jié)中有若干模塊,而模塊和題目一一對應。上述所有數(shù)據(jù),最終通過上下文(mdl_context)表單中的路徑聯(lián)系在一起,Moodle課程核心部分E-R圖見圖1。

        圖1 Moodle系統(tǒng)OJ部分數(shù)據(jù)庫E-R圖

        基于Moodle開發(fā)機試系統(tǒng)的原則,本著盡量少修改源代碼以保持可靠性的目標,本文提出了通過數(shù)據(jù)庫層面的操作來完成機試系統(tǒng)研發(fā)的思路。具體來說,就是僅僅對之前提到的課程分類(course category)、課程(course)、節(jié)(section)、模塊(modules)、題目(assignment)和用戶(user)等數(shù)據(jù)庫表單,根據(jù)機試需求進行記錄的插入和修改,而保持Moodle的基本架構(gòu)和基本運行流程不變,可稱之為數(shù)據(jù)驅(qū)動的機試系統(tǒng)開發(fā)。基于這個機試方案,本文進行了簡單的可行性實驗,實驗結(jié)果驗證了該方案的有效性。

        3 系統(tǒng)設(shè)計

        系統(tǒng)設(shè)計的重要一環(huán)就是分析Moodle的OJ系統(tǒng)的流程以及流程中每個步驟完成的相關(guān)數(shù)據(jù)庫操作,包括其操作的數(shù)據(jù)庫名稱和操作的具體內(nèi)容,見表1。

        機試系統(tǒng)的核心思想就是為每位參加機試的考生創(chuàng)建一門課程,課程名稱就是考生的學號。同時,為每位任課教師創(chuàng)建一個課程分類,該課程分類包含所有參加此次機試的考生對應的課程。為了更科學地評估學生的編程能力,機試系統(tǒng)從題庫選取4種難度的題目,每種難度的題目隨機選取4道,分別放在4節(jié)中,考生可根據(jù)自身情況從每個難度中選擇一道題目完成,這樣可以有效避免機試題目的偶然性。教師還可以根據(jù)實際情況劃分4道題的分數(shù)占比?;诒?,新建構(gòu)的機試系統(tǒng)流程及每個流程所操作數(shù)據(jù)庫見表2。

        基于上述研發(fā)思路,機試系統(tǒng)在Moodle的基礎(chǔ)上增加了考試課程生成模塊。教師上傳學生信息之后,只需點擊添加課程按鈕,機試系統(tǒng)便自動從題庫中按照1—4的難度順序隨機挑選題目,并在mdl_assignment和mdl_assignment_oj_tests中添加相應的記錄。系統(tǒng)會為代課教師在mdl_course_categories中添加課程分類,并根據(jù)上傳的學生信息在mdl_course中為每個學生在該課程分類下建立課程。之后,系統(tǒng)按照之前生成的題目在表mdl_course_modules中生成相應的題目模塊。最終,系統(tǒng)在表單mdl_context中將生成的題目模塊與各個學生課程進行連接,整個過程見圖2 。

        表1 Moodle的OJ系統(tǒng)流程及其與相關(guān)數(shù)據(jù)庫的對應關(guān)系

        表2 新的機試系統(tǒng)流程及其與相關(guān)數(shù)據(jù)庫的對應關(guān)系

        圖2 考試課程生成模塊

        4 具體實現(xiàn)

        機試系統(tǒng)研發(fā)的實現(xiàn)工作包括搭建Moodle系統(tǒng)平臺、建立數(shù)據(jù)庫、編寫操作數(shù)據(jù)庫元素的應用程序、程序測試與系統(tǒng)調(diào)試、考試現(xiàn)場的環(huán)境搭建。對數(shù)據(jù)庫進行的操作都存放在系統(tǒng)外的PHP文件中,且在Moodle教學網(wǎng)頁中可以通過自定義按鈕直接跳轉(zhuǎn)到這些PHP文件中,所有修改均沒有大范圍改變Moodle源代碼,而是將自己獨立的代碼通過這樣的“接口”和Moodle系統(tǒng)連接。對數(shù)據(jù)庫元素進行的核心操作均直接作用在Moodle數(shù)據(jù)庫的原有表單中,這樣不但可以方便快捷地布置機試系統(tǒng),還可以最大程度地保證系統(tǒng)的可靠性和穩(wěn)定性。

        5 系統(tǒng)測試

        系統(tǒng)以1 000人的課程為例進行功能測試,教師首先生成機試系統(tǒng),為1 000個學生分別建立課程,也為教師創(chuàng)建了課程分類,該課程分類包含所有的1 000門課程。任意打開一個學生的課程,系統(tǒng)會顯示該學生本次機試的題目,見圖3。題目難度分為4個等級,且每個等級有4道題目,考生從同一難度中的4道題中選一題作答。

        為檢驗機試系統(tǒng)的性能,需要進行兩方面的測試。首先,需要測試教師生成機試系統(tǒng)的時間,分別測試100~1 000人時機試系統(tǒng)的生成時間,以100人為間隔,測試結(jié)果見圖4。

        圖3 學生考試題目總界面

        由圖4可以看出,機試系統(tǒng)的生成時間隨著課程人數(shù)的增長呈現(xiàn)線性增長趨勢??紤]到機試系統(tǒng)是對Moodle平臺進行數(shù)據(jù)層面上的修改,人數(shù)越多,需要增加的課程數(shù)量就越多,需要配置的題目數(shù)量就越多,因此,生成時間的線性增長是合理的。200個學生時,機試系統(tǒng)生成時間基本在10秒以下,滿足系統(tǒng)性能需求。學生人數(shù)達到1 000人時,生成時間也在一分鐘以內(nèi)。

        圖 4 生成課程平均用時圖

        其次,為了測試機試系統(tǒng)的并發(fā)能力,本文借助Apache Bench[11-12]工具對1 000個考生同時在線進行了模擬測試。經(jīng)過多次測試,計算出的平均響應時間為72.816 3毫秒,完全滿足性能要求。

        6 結(jié)語

        針對目前存在的程序設(shè)計筆試、機試考核方式的缺陷,本文基于Moodle系統(tǒng),在數(shù)據(jù)層面上對系統(tǒng)進行改造,實現(xiàn)了機試系統(tǒng)的全部功能。系統(tǒng)易于搭建,功能齊全,運行穩(wěn)定,相比傳統(tǒng)的筆試形式更為科學、客觀。目前,該系統(tǒng)滿足機試系統(tǒng)的功能和性能要求,并已進行了小規(guī)模試用,效果良好,可為促進計算機編程類課程的實驗教學改革起到積極作用,計劃在200~300人規(guī)模下進行更多的測試后,開始正式部署應用。

        猜你喜歡
        源代碼評測編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        人工智能下復雜軟件源代碼缺陷精準校正
        計算機仿真(2023年8期)2023-09-20 11:23:42
        基于TXL的源代碼插樁技術(shù)研究
        次時代主機微軟XSX全方位評測(下)
        次時代主機微軟XSX全方位評測(上)
        攻坡新利器,TOKEN VENTOUS評測
        軟件源代碼非公知性司法鑒定方法探析
        青青草在线这里只有精品| 国产激情久久99久久| 特级毛片全部免费播放a一级| 在线观看视频亚洲一区二区三区| 国产一区二区三区日韩精品| 亚洲高清国产成人精品久久| 偷看农村妇女牲交| 国产高清乱理伦片| 国产白丝在线| 日韩精品极品在线观看视频| 24小时免费在线观看av| 国产精品99精品无码视亚| 夜色阁亚洲一区二区三区| 亚洲一区丝袜美腿在线观看 | 风韵犹存丰满熟妇大屁股啪啪| 亚洲av美国av产亚洲av图片| 岛国av无码免费无禁网站下载| 国产日韩精品一区二区在线观看播放| 日韩精品成人一区二区三区| 国产精品亚洲精品一区二区| 日本最新免费二区三区| 国产精品白浆一区二小说| 亚洲日韩精品AⅤ片无码富二代| 在线观看日本一区二区三区| 国产玉足榨精视频在线观看| 女厕厕露p撒尿八个少妇| 国产色噜噜| 国产不卡视频一区二区在线观看 | 久久久无码精品亚洲日韩蜜臀浪潮 | 五月色丁香婷婷网蜜臀av| 国产欧美日韩精品a在线观看| 最新国产成人综合在线观看| 91青青草视频在线播放| 日韩精品乱码中文字幕| 一本色道久久综合狠狠躁篇| 激情综合色五月丁香六月亚洲| 国产日韩欧美911在线观看| 精品精品国产一区二区性色av| 日韩av无码一区二区三区不卡| 狠狠人妻久久久久久综合| 婷婷开心五月综合基地|