逄靚

摘要:目前各高校程序設(shè)計(jì)類課程的考試模式發(fā)生了改變,以往單純筆試或上機(jī)編程的考試方式逐步改為使用在線考試系統(tǒng)進(jìn)行。但是針對(duì)大部分考試系統(tǒng),不能適應(yīng)客觀性試題與主觀性試題混合隨機(jī)組卷、判卷的弊端。該文設(shè)計(jì)開(kāi)發(fā)一款基于 B/S 模式混合組卷的在線考試系統(tǒng),重點(diǎn)對(duì)隨機(jī)組卷和主觀題自動(dòng)判卷兩個(gè)功能進(jìn)行詳細(xì)研究,學(xué)生登錄系統(tǒng)后,進(jìn)行程序設(shè)計(jì)類課程的階段考試或期末考試,教師既能及時(shí)了解學(xué)生學(xué)習(xí)效果,同時(shí)也能減輕教師的工作壓力。
關(guān)鍵詞:在線考試系統(tǒng);B/S;程序設(shè)計(jì)
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)08-0085-02
1 背景
在互聯(lián)網(wǎng)遍布的時(shí)代,在線教學(xué)在如今傳統(tǒng)課堂中的地位很高,隨著在線教學(xué)不斷建設(shè)與發(fā)展,成為一種超前的教學(xué)方式,發(fā)展空間非常廣闊,是教學(xué)改革的重要方向。同時(shí),對(duì)應(yīng)在線教學(xué)的考試方式也要進(jìn)行改革,要順應(yīng)考試發(fā)展的新趨勢(shì)。改變傳統(tǒng)的考試方式,將線上考試融入課程中。高校中程序設(shè)計(jì)類課程是實(shí)踐性很強(qiáng)的課程,主要培養(yǎng)學(xué)生的邏輯思維能力、創(chuàng)新思維能力以及實(shí)踐動(dòng)手能力。這類課程的考核重點(diǎn)是考查學(xué)生對(duì)理論知識(shí)和實(shí)踐技能的綜合運(yùn)用情況。在高校程序設(shè)計(jì)類課程的傳統(tǒng)考試方式主要有三種類型:紙質(zhì)閉卷考試、上機(jī)編程考試、期末答辯考試。本文根據(jù)這類課程的特點(diǎn),構(gòu)建出適合該類課程的考試系統(tǒng)。
隨著“在線考試系統(tǒng)”在教學(xué)領(lǐng)域的不斷應(yīng)用,人工進(jìn)行出出題、閱卷的方式已不能適應(yīng)考試需求,各高校逐步使用在線考試系統(tǒng)對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行考核評(píng)估。目前,適用于程序設(shè)計(jì)類課程的在線考試系統(tǒng)都存在一定的弊端,主要出現(xiàn)在以下三個(gè)方面:1)沒(méi)有針對(duì)程序設(shè)計(jì)類課程專業(yè)的在線考試系統(tǒng),對(duì)于程序設(shè)計(jì)類課程依然采用通用考試系統(tǒng),該系統(tǒng)適用于多類課程,系統(tǒng)操作復(fù)雜;2)大多數(shù)系統(tǒng)僅有客觀題,沒(méi)有編程填空、程序?qū)嵅俚戎饔^題,所以很難考查學(xué)生動(dòng)手編程能力。即使有主觀試題,系統(tǒng)也不支持主觀題自動(dòng)判卷,需要教師人工判卷給出成績(jī);3)依賴于開(kāi)源的程序評(píng)測(cè)系統(tǒng)進(jìn)行考試,雖然實(shí)現(xiàn)了主觀題的自動(dòng)判卷功能,但這類考試系統(tǒng)僅支持主觀性試題,沒(méi)有客觀題型的設(shè)置,不能全面地考查學(xué)生的理論知識(shí)。
針對(duì)以上的三種問(wèn)題,設(shè)計(jì)并開(kāi)發(fā)出適合程序設(shè)計(jì)類課程的在線考試系統(tǒng),全面考查學(xué)生的理論知識(shí)和實(shí)踐技能。將客觀性試題(單選、多選、判斷等)與主觀性試題(如程序填空,在線編程等)混合組卷,實(shí)現(xiàn)在線自動(dòng)判卷,既能及時(shí)地檢測(cè)學(xué)生的學(xué)習(xí)效果,又大大減少了教師的工作量。
2 系統(tǒng)設(shè)計(jì)
2.1 概要設(shè)計(jì)
在線考試系統(tǒng)共分為三種角色,分別為學(xué)生、教師、管理員。學(xué)生登錄系統(tǒng)后按照考試要求選擇科目進(jìn)行試卷答題,系統(tǒng)會(huì)自動(dòng)計(jì)時(shí),學(xué)生在規(guī)定的時(shí)間內(nèi)提交試卷,否則系統(tǒng)會(huì)自動(dòng)提交試卷。教師登錄系統(tǒng)后,對(duì)本學(xué)科的題庫(kù)進(jìn)行維護(hù),根據(jù)考試要求進(jìn)行手動(dòng)組卷或制作試卷模板,同時(shí)可以查詢學(xué)生的考試成績(jī),以及試卷分析。管理員登錄系統(tǒng)后,可以對(duì)各類用戶進(jìn)行管理,按班級(jí)對(duì)學(xué)生進(jìn)行分類,然后創(chuàng)建學(xué)生用戶,維護(hù)系統(tǒng)數(shù)據(jù)等。
2.2 模塊設(shè)計(jì)
為確保系統(tǒng)的安全及考試的公正,不同角色用戶擁有的系統(tǒng)權(quán)限不同,對(duì)于教師角色來(lái)說(shuō),教師僅可以查看或管理所教授課程的學(xué)生成績(jī)和課程題庫(kù)。而對(duì)于學(xué)生角色來(lái)說(shuō),學(xué)生僅可以查看到本次考試的試卷信息。這樣的好處既可以歸集各類數(shù)據(jù),填充更新數(shù)據(jù)庫(kù),又能保證數(shù)據(jù)庫(kù)的安全性,此系統(tǒng)又分為以下幾個(gè)模塊。
1)課程信息模塊。該模塊是由管理員角色進(jìn)行管理,需要管理員完成所有程序設(shè)計(jì)類課程和課程所對(duì)應(yīng)的班級(jí)的信息錄入。課程管理對(duì)考試課程的添加、修改、刪除、查詢等功能。班級(jí)管理是對(duì)參加考試的班級(jí)進(jìn)行設(shè)置,以及對(duì)各班級(jí)中學(xué)生的信息批量導(dǎo)入,在班級(jí)中實(shí)現(xiàn)增加、修改、刪除、查詢學(xué)生信息等功能。
2)題庫(kù)管理模塊。該模塊是由教師角色進(jìn)行管理,負(fù)責(zé)管理課程考試中所需要的試題庫(kù)。不同課程的教師登錄后,按照知識(shí)點(diǎn)分類對(duì)該課程的試題庫(kù)進(jìn)行增、刪、改、查等操作,批量導(dǎo)入試題時(shí)必須按照指定的格式。試題設(shè)置的類型分為客觀題和主觀題兩部分,題目數(shù)量、題目分值和難易程度都要由教師進(jìn)行把控。試題難度分為容易、中等、較難三個(gè)等級(jí)。每個(gè)題目都包含題目序號(hào)、題目?jī)?nèi)容和標(biāo)準(zhǔn)答案。為后期自動(dòng)組卷和自動(dòng)判卷提供保障[3]。
3)試卷管理模塊。該模塊是由教師角色進(jìn)行管理,主要包括同卷混排和隨機(jī)組卷兩種形式,教師可任意選擇。同卷混排方式可以根據(jù)教師考查的重難點(diǎn)進(jìn)行合理出題,教師根據(jù)題庫(kù)中試題所考查的知識(shí)點(diǎn)任意挑選題目并設(shè)置題量和分值,在試卷的排列中試卷內(nèi)容是相同的,題目順序可設(shè)為相同或隨機(jī)混合排序,最終生成試卷。隨機(jī)組卷方式可以根據(jù)教師制定的組卷模板,自動(dòng)生成制定指定數(shù)量的試卷。每位學(xué)生的試卷題目不相同。試卷模板包括考試科目、客觀題題型和數(shù)量、主觀題題型和數(shù)量、各類題型中各題目的分值,每部分知識(shí)點(diǎn)占比等。
4)在線考試模塊。在線考試模塊是系統(tǒng)中最重要的部分,學(xué)生登錄系統(tǒng)后,系統(tǒng)會(huì)分配應(yīng)考試卷,學(xué)生按照要求答題即可。在試卷頁(yè)面會(huì)有計(jì)時(shí)功能,在系統(tǒng)規(guī)定時(shí)間內(nèi)提交試卷,否則計(jì)時(shí)結(jié)束后會(huì)自動(dòng)提交。提交試卷后,系統(tǒng)會(huì)對(duì)整個(gè)試卷進(jìn)行自動(dòng)評(píng)分并顯示在頁(yè)面中,同時(shí)該成績(jī)被保存到數(shù)據(jù)庫(kù)中,不能進(jìn)行更改。
5)成績(jī)管理模塊。教師登錄后,可查詢自己所有教授課程班級(jí)學(xué)生的考試成績(jī),可以按專業(yè)、班級(jí)、學(xué)生姓名分類進(jìn)行查詢。同時(shí)可以以授課班型為單位導(dǎo)入Excel文件格式成績(jī)單。
6)統(tǒng)計(jì)分析模塊。該模塊由教師角色進(jìn)行管理。包括學(xué)生成績(jī)分析,試卷分析等功能。學(xué)生成績(jī)分析功能中分別對(duì)各專業(yè)所有學(xué)生、某班級(jí)所有學(xué)生某一課程的考試成績(jī)進(jìn)行分析,分析包括參加考試人數(shù)、缺考人數(shù)、平均分、各分?jǐn)?shù)段人數(shù)占比、不及格人數(shù)比率、最高最低成績(jī)等情況,最終形成成績(jī)分布圖。試卷分析功能是分析試卷題型設(shè)置、題目難易程度測(cè)試、各章節(jié)題目比例及對(duì)考試時(shí)間統(tǒng)計(jì)最早交卷、最遲交卷、最長(zhǎng)耗時(shí)、最短耗時(shí)等情況,系統(tǒng)可以導(dǎo)出Excel文件格式的成績(jī)分析表。
7)系統(tǒng)管理模塊。該模塊由管理員角色進(jìn)行管理,管理用戶基本信息、角色管理。管理員可以對(duì)用戶進(jìn)行增、刪、改、查,定位每位用戶的角色,為每個(gè)用戶設(shè)置權(quán)限。完成系統(tǒng)運(yùn)行相關(guān)參數(shù)設(shè)置后,系統(tǒng)將其存入數(shù)據(jù)庫(kù)中。
3 系統(tǒng)實(shí)現(xiàn)
3.1 在線考試實(shí)現(xiàn)
學(xué)生登錄系統(tǒng)后,判斷考試是否開(kāi)始,如果未開(kāi)始考試,學(xué)生點(diǎn)擊開(kāi)始按鈕,系統(tǒng)為學(xué)生生成試卷并記錄試卷,學(xué)生按要求進(jìn)行答題,試卷頁(yè)面采用一題一頁(yè)的形式,頁(yè)面最右側(cè)添加題目選項(xiàng),學(xué)生可以隨時(shí)切換到對(duì)應(yīng)的題號(hào)頁(yè),對(duì)答案進(jìn)行修改[2]。
在頁(yè)面的最下方有提交按鈕,學(xué)生在規(guī)定的時(shí)間內(nèi)完成答案,可以進(jìn)行試卷提交,提交試卷后,提交后退出試卷頁(yè)面,進(jìn)入成績(jī)顯示頁(yè)面,頁(yè)面中會(huì)顯示本次考試的總成績(jī)。并將總成績(jī)保存到數(shù)據(jù)庫(kù)中。如果在規(guī)定時(shí)間內(nèi)沒(méi)有提交試卷,考試時(shí)間到系統(tǒng)會(huì)自動(dòng)提交并顯示成績(jī),本次考試結(jié)束[3]。
3.2 隨機(jī)組卷實(shí)現(xiàn)
題庫(kù)的設(shè)計(jì)主要涉及選擇題表、知識(shí)點(diǎn)表、程序填空題表、題目類型表、編程題表等。并設(shè)置對(duì)應(yīng)字段例如知識(shí)點(diǎn)id、題目id等。學(xué)生進(jìn)入系統(tǒng)后點(diǎn)擊開(kāi)始考試,系統(tǒng)會(huì)自動(dòng)生成試卷。客觀題組卷方式采用隨機(jī)排序算法,客觀題中涉及的知識(shí)點(diǎn)進(jìn)行排序,并將id保存到數(shù)組中。每個(gè)知識(shí)點(diǎn)對(duì)應(yīng)多類題目,從數(shù)據(jù)庫(kù)中讀取對(duì)應(yīng)知識(shí)點(diǎn)中的確定個(gè)數(shù)的題目,根據(jù)學(xué)生人數(shù)和知識(shí)點(diǎn)對(duì)應(yīng)題目數(shù)量,對(duì)題目進(jìn)行多次隨機(jī)排序,確定題目id后,讀取題目描述和題目中各個(gè)選項(xiàng),對(duì)該題目的選項(xiàng)進(jìn)行隨機(jī)排序,保證即使題目相同,選項(xiàng)順序也不相同,最終生成客觀題[4]。
這種組卷方式降低了試卷的重復(fù)率和學(xué)生作弊的可能。主觀題組卷方式和客觀題類似,但主觀題題型沒(méi)有選項(xiàng),所以不需要多個(gè)選項(xiàng)之間的排序。
3.3 題庫(kù)管理實(shí)現(xiàn)
題庫(kù)管理模塊側(cè)重于教師對(duì)題目數(shù)據(jù)進(jìn)行操作,主要有三個(gè)主頁(yè)面,題目錄入頁(yè)面、題目管理頁(yè)面和題庫(kù)管理頁(yè)面。
題目錄入頁(yè)面中有四部分,知識(shí)點(diǎn)部分(科目,所屬知識(shí)點(diǎn))、題型(單選、多選、判斷、程序填空、程序設(shè)計(jì))、題干、選項(xiàng)。讀取試題數(shù)據(jù)后檢測(cè)試題是否錄入重復(fù),檢測(cè)通過(guò)后存儲(chǔ)試題數(shù)據(jù)。題目管理頁(yè)面提供了多維度的題目查詢功能,包括試題id、關(guān)鍵字、課程id、知識(shí)點(diǎn)id、題目類型和題目難度。搜索出試題后點(diǎn)擊題干可顯示題目詳細(xì)信息。
題庫(kù)管理頁(yè)面通過(guò)三個(gè)變量分別用于數(shù)據(jù)交互、讀取教師請(qǐng)求、加載試題,通過(guò)7種方法分別用于添加、修改、刪除、批量刪除課程知識(shí)點(diǎn)、按知識(shí)點(diǎn)導(dǎo)出后下載試題庫(kù)、與用戶交互、課程中教師列表。在題庫(kù)管理頁(yè)面中按照考試的課程和知識(shí)點(diǎn)兩層順序展開(kāi),頁(yè)面以列表的形式展示當(dāng)前所有內(nèi)容。頁(yè)面中有操作部分提供添加、修改、刪除、批量刪除等選項(xiàng)。另外對(duì)于課程這一層級(jí),實(shí)現(xiàn)了對(duì)于教師的權(quán)限管理,不同的教師只能對(duì)自己所教授的課程進(jìn)行操作。
3.4 自動(dòng)判卷實(shí)現(xiàn)
本系統(tǒng)有客觀題和主觀題兩種題型,兩種題型都實(shí)現(xiàn)在線主動(dòng)判卷模式。對(duì)于客觀題,在導(dǎo)入試題時(shí)同時(shí)導(dǎo)入了標(biāo)準(zhǔn)答案,所有在學(xué)生提交試卷后,與生成試卷時(shí)的答案的字符串做比較即可,與答案一致則判定學(xué)生答案正確,否則判定失敗。
對(duì)于主觀試題中完整的程序設(shè)計(jì)試題,引用開(kāi)源的HUSTOJ在線評(píng)測(cè)系統(tǒng)實(shí)現(xiàn)自動(dòng)判題,對(duì)于HUSTOJ中的題庫(kù)中的試題,在本系統(tǒng)中的程序試題均有一個(gè)屬性進(jìn)行標(biāo)記改題目,這樣就實(shí)現(xiàn)兩個(gè)系統(tǒng)的連接,兩個(gè)系統(tǒng)中的題目一一對(duì)應(yīng)。在系統(tǒng)中對(duì)學(xué)生提交的數(shù)據(jù)進(jìn)行監(jiān)控,由USTOJ 完成判題,通過(guò)運(yùn)行時(shí)間、內(nèi)存占用、數(shù)據(jù)邊界等,判斷代碼是否正確輸出判題結(jié)果[4]。系統(tǒng)定時(shí)從 HUSTO數(shù)據(jù)庫(kù)返回題目結(jié)果。
4 結(jié)束語(yǔ)
本文專門(mén)針對(duì)程序設(shè)計(jì)類課程開(kāi)發(fā)了一款基于B/S模式的在線考試系統(tǒng),該系統(tǒng)從軟件工程體系結(jié)構(gòu)角度和程序設(shè)計(jì)類課程知識(shí)體系出發(fā)[5],對(duì)智能組卷進(jìn)行深入研究,將客觀題和主觀題混合組卷。同時(shí)也著重研究了主觀題目自動(dòng)判卷功能。
系統(tǒng)基本實(shí)現(xiàn)了在線考試的需求,可用于課堂中的隨機(jī)測(cè)驗(yàn),也可以用于期末綜合測(cè)驗(yàn),大大減少了教師出卷、判卷的工作量,既能全面考查學(xué)生綜合程序設(shè)計(jì)類能力,同時(shí)提高了課程考試評(píng)估的科學(xué)性和準(zhǔn)確性。
參考文獻(xiàn):
[1] 龐希愚,王成.高校程序設(shè)計(jì)類課程網(wǎng)上考試自動(dòng)組卷方法的研究[J].中國(guó)教育信息化·基礎(chǔ)教育,2020(7):93-96.
[2] 蔡崇超.基于 Web 的在線判題系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2016,15(3):107-109.
[3] 錢(qián)曉賢,宋超.基于B/S架構(gòu)的在線考試系統(tǒng)在高職中的應(yīng)用[J].電子制作,2017(10):99-100.
[4] 鐵治欣,林永興,冉宇瑤.基于B/S架構(gòu)的C語(yǔ)言在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2019,18(10):103-106,110.
[5] 彭易波.基于B/S在線考試系統(tǒng)的研究與設(shè)計(jì)[J].科技傳播,2010,2(12):188,193.
[6] 張杰.B/S模式高校在線考試系統(tǒng)的研究與設(shè)計(jì)[J].淮北職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2020(2):107,109.
[7] 鐵治欣,林永興,冉宇瑤.基于B/S架構(gòu)的C語(yǔ)言在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2019(10):103-106.
【通聯(lián)編輯:謝媛媛】