公務員期刊網 論文中心 正文

程序設計類課程網上考試組卷方法研究

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

程序設計類課程網上考試組卷方法研究

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

關鍵詞:智能組卷;知識點;程序設計;軟件工程

一、引言

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

二、基于知識點的題庫設計

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

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

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

四、結束語

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

參考文獻:

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

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

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

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

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

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

相關熱門標簽