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

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

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

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

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

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

一、引言

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

二、基于知識點的題庫設(shè)計

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

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

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

四、結(jié)束語

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

參考文獻(xiàn):

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

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

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

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

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

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

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