公務(wù)員期刊網(wǎng) 論文中心 正文

程序設(shè)計(jì)類課程網(wǎng)上考試組卷方法研究

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了程序設(shè)計(jì)類課程網(wǎng)上考試組卷方法研究范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

程序設(shè)計(jì)類課程網(wǎng)上考試組卷方法研究

摘要:針對(duì)程序設(shè)計(jì)課程網(wǎng)上考試系統(tǒng)組卷存在的問題,作者根據(jù)軟件工程的理論,從在線考試系統(tǒng)整體角度出發(fā),對(duì)計(jì)算機(jī)專業(yè)程序設(shè)計(jì)類課程的特征進(jìn)行深入研究,分析影響試卷生成的多種因素,提出一套多元隨機(jī)程序設(shè)計(jì)類課程網(wǎng)上考試系統(tǒng)智能組卷算法。該組卷算法適合程序設(shè)計(jì)類課程在線考試,具有組卷速度快、試卷重復(fù)率低、題目難度系數(shù)適中等特點(diǎn),能夠滿足計(jì)算機(jī)專業(yè)程序設(shè)計(jì)類課程在線考試的需求。

關(guān)鍵詞:智能組卷;知識(shí)點(diǎn);程序設(shè)計(jì);軟件工程

一、引言

智能組卷算法是在線考試系統(tǒng)中的重要組成部分,現(xiàn)有智能組卷算法的研究主要圍繞隨機(jī)組卷算法[1]、回溯組卷算法[2]和基于遺傳算法[3-4]的組卷方法展開,并且現(xiàn)有智能組卷算法的文獻(xiàn)往往是單獨(dú)針對(duì)智能組卷算法展開研究,并沒有從整個(gè)在線考試系統(tǒng)的角度上對(duì)其進(jìn)行研究,忽略了與系統(tǒng)中其他模塊之間的關(guān)聯(lián),從而導(dǎo)致了智能組卷算法的實(shí)際應(yīng)用存在一定的問題。根據(jù)軟件工程的理論,一個(gè)完整的系統(tǒng)各個(gè)模塊之間存在著密不可分的關(guān)聯(lián),對(duì)于在線考試系統(tǒng),題庫的設(shè)計(jì)、智能組卷和自動(dòng)評(píng)閱模塊之間的關(guān)聯(lián)非常緊密。程序設(shè)計(jì)類課程注重考察學(xué)生的編程能力,在線考試系統(tǒng)中編程題目是必不可少的。眾所周知,編程題目的自動(dòng)評(píng)閱一直是研究的難點(diǎn)。本文從軟件工程體系結(jié)構(gòu)的角度出發(fā),對(duì)智能組卷方式進(jìn)行深入研究,從程序設(shè)計(jì)類課程在線考試系統(tǒng)的整體出發(fā),在考慮編程題目自動(dòng)評(píng)閱的基礎(chǔ)上進(jìn)行題庫的設(shè)計(jì),并結(jié)合程序設(shè)計(jì)類課程的特征,對(duì)智能組卷算法進(jìn)行研究,提出一套多元隨機(jī)程序設(shè)計(jì)類課程網(wǎng)上考試系統(tǒng)智能組卷算法。

二、基于知識(shí)點(diǎn)的題庫設(shè)計(jì)

題庫是一個(gè)在線考試系統(tǒng)的基礎(chǔ),也是后續(xù)智能組卷模塊和自動(dòng)評(píng)閱模塊的基礎(chǔ)。程序設(shè)計(jì)類課程在線考試系統(tǒng)題目類型一般分為選擇題、填空題以及編程題目。選擇題和填空題因?yàn)榇鸢复_定,將標(biāo)準(zhǔn)答案與考生答案進(jìn)行匹配對(duì)比,就能實(shí)現(xiàn)自動(dòng)評(píng)閱;對(duì)于編程題目,本文針對(duì)目前計(jì)算機(jī)專業(yè)程序設(shè)計(jì)類題目在線評(píng)閱中存在的不足,在深入分析程序設(shè)計(jì)類題目特征的基礎(chǔ)上,提出了一套面向程序設(shè)計(jì)類題目的在線評(píng)閱方案,在該方案中,將標(biāo)準(zhǔn)答案轉(zhuǎn)化成關(guān)鍵詞,并對(duì)關(guān)鍵詞按照重要程度劃分成多個(gè)級(jí)別,將每類題目的特征與基于多級(jí)關(guān)鍵詞組合的過程評(píng)分相結(jié)合,提高了程序設(shè)計(jì)類題目在線評(píng)閱的準(zhǔn)確性[5]。對(duì)于智能組卷算法,首先要考慮的是一套試卷要考察的知識(shí)點(diǎn)包括哪些。本文從程序設(shè)計(jì)類課程在線考試系統(tǒng)的整體出發(fā),在考慮程序設(shè)計(jì)題目自動(dòng)評(píng)閱的基礎(chǔ)上,結(jié)合程序設(shè)計(jì)類課程的特征進(jìn)行題庫的設(shè)計(jì),既然智能組卷算法和自動(dòng)評(píng)閱算法都離不開知識(shí)點(diǎn),那么本文圍繞知識(shí)點(diǎn)進(jìn)行題庫設(shè)計(jì)。如圖1所示,題庫的設(shè)計(jì)主要涉及選擇題表、知識(shí)點(diǎn)表、填空題表、題目類型表、編程題表5張表,其中知識(shí)點(diǎn)表中的每個(gè)元素包括知識(shí)點(diǎn)ID、知識(shí)點(diǎn)名稱、知識(shí)點(diǎn)所在的章節(jié)號(hào)以及題目類型代碼字段;選擇題表中每個(gè)元素包括題目ID、知識(shí)點(diǎn)ID、題目類型代碼、題干描述、各選項(xiàng)的描述以及該題目的正確答案字段、填空題表中的每個(gè)元素包括題目ID、知識(shí)點(diǎn)ID、題目類型代碼、題目描述以及正確答案字段;編程題表中的每個(gè)元素包括題目ID、知識(shí)點(diǎn)ID、題目類型代碼、題目描述、各級(jí)關(guān)鍵詞組合字段。為了提高系統(tǒng)的可擴(kuò)展性,設(shè)計(jì)了一張題目類型表,如果后續(xù)需要增添新的題目類型,只需要往此表中添加新的題目類型即可,便于整個(gè)系統(tǒng)的維護(hù)。選擇題表、填空題表、編程題表中的知識(shí)點(diǎn)ID字段與知識(shí)點(diǎn)表中的知識(shí)點(diǎn)ID存在主外鍵關(guān)系,選擇題表、填空題表、編程題表中的題目類型代碼字段與題目類型表中的題目類型代碼字段存在主外鍵關(guān)系。

三、程序設(shè)計(jì)類課程的多元隨機(jī)組合智能組卷算法

試卷所要考察的知識(shí)點(diǎn)、試卷之間題目的重復(fù)率和智能組卷算法的效率是一個(gè)智能組卷算法的核心。本文圍繞這幾個(gè)方面展開重點(diǎn)研究,提出了一種多元隨機(jī)組合智能組卷算法。在線考試之前,教師要登錄在線考試系統(tǒng),選擇本次考試所要考察的知識(shí)點(diǎn)以及每個(gè)考察知識(shí)點(diǎn)的題目類型,確定好這兩個(gè)要素之后,將其保存到數(shù)據(jù)庫中,數(shù)據(jù)庫中考試知識(shí)點(diǎn)表的結(jié)構(gòu)如表1所示。在線考試開始時(shí),考生登錄在線考試系統(tǒng)點(diǎn)擊抽題,將進(jìn)行抽題的考生的人數(shù)保存到應(yīng)用程序級(jí)變量Application[“count”]中。這時(shí)智能組卷組合算法開始運(yùn)行,對(duì)各類型題目進(jìn)行智能組卷,程序設(shè)計(jì)類課程在線考試系統(tǒng)題目類型一般分為選擇題、填空題及編程題目。下面以選擇題為例詳細(xì)介紹智能組卷算法的流程。1.多元隨機(jī)智能組題算法(1)組卷步驟選擇題目的智能組卷流程如圖2所示,具體步驟如下:①首先從數(shù)據(jù)庫表中讀取教師已經(jīng)設(shè)置好的本次考試選擇題所要考察的知識(shí)點(diǎn),采用隨機(jī)排序算法對(duì)選擇題知識(shí)點(diǎn)進(jìn)行排序,將排好序的知識(shí)點(diǎn)ID保存到一維數(shù)據(jù)中,選擇題目知識(shí)點(diǎn)的數(shù)組為Sk={K0,K1,…,Kn-1},Ki表示本次考試選擇題所要考察的知識(shí)點(diǎn)的ID,n表示本次考試選擇題所要考察的知識(shí)點(diǎn)的數(shù)目。②因?yàn)槊總€(gè)知識(shí)點(diǎn)ID一般對(duì)應(yīng)多道選擇題題目,根據(jù)知識(shí)點(diǎn)ID(Ki)從數(shù)據(jù)庫中讀取選擇題表中該知識(shí)點(diǎn)對(duì)應(yīng)的所有選擇題的題目ID,將其保存到應(yīng)用程序級(jí)變量中,i的初始值為0,知識(shí)點(diǎn)Ki的應(yīng)用程序級(jí)變量如下所示:intSqiArray[]=newint[]{Sqi0,Sqi1,….Sqit-1}Application[“Sqi”]=SqiArray;其中,Sqi表示知識(shí)點(diǎn)Ki對(duì)應(yīng)的應(yīng)用程序級(jí)變量的名字,這個(gè)應(yīng)用程序級(jí)變量是個(gè)數(shù)組,數(shù)組的名字為SqiArray,保存的是數(shù)據(jù)庫選擇題表中知識(shí)點(diǎn)Ki對(duì)應(yīng)的所有選擇題的題目ID,分別是Sqi0,Sqi1,Sqi2,….Sqit-1,t表示知識(shí)點(diǎn)Ki對(duì)應(yīng)的所有選擇題的數(shù)目。因?yàn)椴捎昧藨?yīng)用程序級(jí)變量,所以在在線考試系統(tǒng)運(yùn)行的整個(gè)應(yīng)用程序生存周期,此變量可以被訪問網(wǎng)站的每位用戶所訪問,因此只需要在第一位考生登錄系統(tǒng)點(diǎn)擊抽題時(shí)從數(shù)據(jù)庫中讀取,后續(xù)登錄抽題的考生只需要訪問應(yīng)用程序級(jí)變量即可,無需再次訪問數(shù)據(jù)庫讀取該知識(shí)點(diǎn)對(duì)應(yīng)的所有的選擇題題目的ID,從而避免了多次訪問數(shù)據(jù)庫,提高了系統(tǒng)的性能。③按照隨機(jī)排序算法對(duì)知識(shí)點(diǎn)Ki的應(yīng)用程序級(jí)數(shù)組Application[“Sqi”]進(jìn)行隨機(jī)排序,同時(shí)將該數(shù)組的排序次數(shù)保存到Application[“SorderCount”]。④當(dāng)知識(shí)點(diǎn)Ki的應(yīng)用程序級(jí)數(shù)組Application[“Sqi”]中的題目被隨機(jī)抽取一遍時(shí),將對(duì)其進(jìn)行再次排序,同時(shí)將該數(shù)組的排序次數(shù)保存到Application[“Sor-derCount”],用下面的公式來判斷是否需要再次排序:(Application[“count”]-1)/t+1==Applcation[“Sorder-Count”]?公式1假設(shè),在數(shù)據(jù)庫表中,知識(shí)點(diǎn)Ki包含10道題目,當(dāng)?shù)?1位考生開始抽題時(shí),知識(shí)點(diǎn)Ki的應(yīng)用程序級(jí)數(shù)組Application[“Sqi”]中的題目已經(jīng)被隨機(jī)抽取了一遍,這時(shí),公式左邊的值為(11-1)/10+1==2,而公式右邊Ap-plcation[“SorderCount”]的值為1,公式兩邊的值不相等,因此不滿足條件,那么就對(duì)數(shù)組Application[“Sqi”]進(jìn)行再次排序,再次排序后,公式右邊Applcation[“Sorder-Count”]的值變成了2,公式兩邊的值相等。⑤選取Application[“Sqi”]中下標(biāo)為(Applicaton[“count”]-1)%t的選擇題題目ID。⑥根據(jù)選擇題題目ID從選擇題表中讀取題干描述以及各個(gè)選項(xiàng),對(duì)該選擇題的選項(xiàng)根據(jù)隨機(jī)排序算法進(jìn)行排序,從而生成最終的知識(shí)點(diǎn)Ki對(duì)應(yīng)的本次考試的選擇題。⑦循環(huán)執(zhí)行步驟②至⑥,直至選擇題目知識(shí)點(diǎn)的數(shù)組Sk={K0,K1,…,Kn-1}中所有的知識(shí)點(diǎn)Ki都生成確定的題目為止。(2)涉及算法該選擇題自動(dòng)組卷算法步驟中多次涉及到的隨機(jī)排序算法:①算法一開始,對(duì)本次考試中所要考察的所有知識(shí)點(diǎn)進(jìn)行隨機(jī)排序,即使出現(xiàn)考生所抽取的某個(gè)知識(shí)點(diǎn)的題目相同的情況,但是因?yàn)橐呀?jīng)對(duì)本次考試中所要考察的所有知識(shí)點(diǎn)進(jìn)行了隨機(jī)排序,所以這個(gè)相同的題目在不同考生試卷中的序號(hào)一樣的概率很低,從而加大了考生作弊的難度。②根據(jù)考生人數(shù)和知識(shí)點(diǎn)Ki的選擇題目的數(shù)量對(duì)知識(shí)點(diǎn)Ki的應(yīng)用程序級(jí)數(shù)組Application[“Sqi”]進(jìn)行多次隨機(jī)排序,不僅很大程度上避免了考生所抽取的某個(gè)知識(shí)點(diǎn)題目相同的情況,而且保證了數(shù)據(jù)庫中的某個(gè)知識(shí)點(diǎn)對(duì)應(yīng)的所有題目被抽取到的概率基本一致。③確定選擇題的ID后,對(duì)該選擇題的選項(xiàng)根據(jù)隨機(jī)排序算法進(jìn)行排序,即使出現(xiàn)考生所抽取的某個(gè)知識(shí)點(diǎn)的題目ID相同的情況,但是算法會(huì)對(duì)選擇題的選項(xiàng)根據(jù)隨機(jī)排序算法進(jìn)行隨機(jī)排序,從而一定程度上降低了相同題目ID生成相同題目的概率,降低了試卷的重復(fù)率和考生作弊發(fā)生的情況。填空題和編程題的智能組卷算法與選擇題的智能組卷算法類似,填空題和編程題因?yàn)闆]有多個(gè)選項(xiàng),所以相對(duì)于選擇題的組卷,不需要對(duì)多個(gè)選項(xiàng)再進(jìn)行隨機(jī)排序。2.多元隨機(jī)組合智能組卷算法的數(shù)據(jù)結(jié)構(gòu)智能組卷組合算法主要數(shù)據(jù)結(jié)構(gòu)包括選擇題結(jié)構(gòu)向量,每個(gè)向量元素包括知識(shí)點(diǎn)ID、題目類型代碼ID、題目的ID以及選擇題的選項(xiàng)信息,如圖3所示;填空題結(jié)構(gòu)向量,每個(gè)向量元素包括知識(shí)點(diǎn)ID、題目類型代碼ID、題目的ID以及填空題題目描述,如圖4所示;編程題結(jié)構(gòu)向量,每個(gè)向量元素包括知識(shí)點(diǎn)ID、題目類型代碼ID、題目的ID以及編程題的題目描述,如圖5所示。最后,將生成的試卷保存到數(shù)據(jù)庫考生試卷表中,如表2所示。

四、結(jié)束語

智能組卷算法是在線考試系統(tǒng)中的重要組成部分,本文根據(jù)軟件工程的理論,從軟件工程體系結(jié)構(gòu)的角度出發(fā)對(duì)智能組卷方式進(jìn)行深入研究,從程序設(shè)計(jì)類課程在線考試系統(tǒng)的整體出發(fā),在考慮編程題目自動(dòng)評(píng)閱的基礎(chǔ)上進(jìn)行題庫的設(shè)計(jì),結(jié)合程序設(shè)計(jì)類課程的特征,提出了一種多元隨機(jī)智能組合組卷算法。本文以我校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)為依托對(duì)該算法進(jìn)行了實(shí)踐,對(duì)現(xiàn)有的程序設(shè)計(jì)類課程網(wǎng)上考試系統(tǒng)進(jìn)行了改進(jìn),實(shí)踐證明,本文提出的多元隨機(jī)智能組卷算法不僅考慮了計(jì)算機(jī)專業(yè)實(shí)踐類課程的特征,而且綜合考慮了試卷的章節(jié)比例,各試卷之間的重復(fù)率以及各試卷之間考察知識(shí)點(diǎn)的相似度、智能組卷算法的效率等要素,其適合程序設(shè)計(jì)類課程在線考試,具有組卷速度快、試卷重復(fù)率低、題目難度系數(shù)適中的優(yōu)點(diǎn)。

參考文獻(xiàn):

[1]何恒飛.主觀題智能閱卷的關(guān)鍵技術(shù)研究[D].北京:北京工業(yè)大學(xué),2013.

[2]鐘世芬,柳榮,陳紅紅,等.程序設(shè)計(jì)類課程無紙化考試系統(tǒng)存在的問題及改進(jìn)方法[J].高等教育研究,2016,22(1):42-44.

[3]陳國彬,張廣泉.基于改進(jìn)遺傳算法的快速自動(dòng)組卷算法研究[J].計(jì)算機(jī)應(yīng)用研究,2015,32(10):2996-2998.

[4]朱婧,戴青云,王美林,等.自適應(yīng)遺傳算法在工程訓(xùn)練在線考試中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(14):227-230+246.

[5]王成,龐希愚.計(jì)算機(jī)專業(yè)程序設(shè)計(jì)類題目在線評(píng)閱方法的研究[J].計(jì)算機(jī)教育,2018(11):122-127.

作者:龐希愚 王成 單位:山東交通學(xué)院

相關(guān)熱門標(biāo)簽