摘要:組卷和試卷測評是網絡考試系統的核心內容,為此,在深入研究的基礎上,提出了基于難度級別的多約束組題算法,實現了快速組卷過程。基于該組卷方式,介紹了試卷的3個主要評測指標。該算法已經成功應用于實際網絡考試系統中。
關鍵詞:網絡考試系統;難度級別;評標;多約束組題算法
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)08-1pppp-0c
1 引言
試題庫隨機組卷系統是CAI的重要組成部分之一,它的主要功用就是幫助教師利用計算機進行信息化教學,其主要功能就是利用計算機對試題進行分類管理及試卷的自動生成、輸出、排版和打印等輔助工作。可大大促進教學信息化、減輕教師工作量、提高教學效率、改善教學方法和增強教學質量等。本文自行研究開發了基于面向對象的試題庫隨機組卷系試題選取策略等關鍵性技術,并根據教學要求提出了系統開發的結構和方案。
2 系統總體方案設計
題庫系統是一個信息管理系統,它用于對數據進行集中管理并且從中進行有用信息的輸出。試題庫信息系統主要用于試題的管理和試題的輸出,在進行試題的有效輸入之后,使得大量的信息存儲于數據庫之中,然后通過參數的設置對庫中數據進行有效的提取。
試題庫隨機組卷系統是由七個模塊組成的,分別是系統維護模塊、試題維護模塊、試題查詢模塊、試卷管理模塊、答案管理模塊、打印模塊和試題選取標準模塊。如圖1所示。另外,考慮到系統的安全性,系統還必須有身份驗證功能。身份驗證功能應該由三部分組成:用戶名驗證、密碼驗證和容錯驗證。其中容錯驗證是指當用戶名和密碼輸入三次或者N次不正確時,系統會自動判斷身份驗證錯誤,并退出系統。從而防止惡意登錄。
圖1 試題庫組題系統總體方案圖
系統管理模塊包括密碼管理、用戶管理、以及系統退出三個子功能模塊;試題維護模塊包括試題輸入、試題修改和試題刪除三個子功能模塊;試題查詢模塊包括按章節查詢和按難度查詢兩個子功能模塊;試題管理模塊包括試卷設置、試卷生成、試卷輸出三個子功能模塊;答案管理模塊包括答案生成、答案輸出、試卷答案三個子功能模塊;打印模塊包括試卷打印和答案打印兩個子功能模塊。試題選取標準由難度計算、區分度計算和信度計算三個子功能模塊。
3 系統的數據結構
3.1 試題類型
試題庫中的試題是本系統的最基本信息,依章節按教學內容、測試形式、測試目的等不同要求,將試題分成不同類型(一般均將試題分成:基礎知識、概念理解、簡單應用、綜合應用、發展應用五大類) 。試題的類型越多,組卷方案越多,試題庫的適應性越強,適用面越廣,但過多的試題和組卷方案,會使組卷工作變得煩瑣和低效。
3.2 試題特征符號
本題庫以章為基礎,按類型進行編號,Ti,j代表試題分類庫,Di,j代表試題分類庫對應的答案庫,其中:i表示課程的章節,j表示該題型類型。如以數學分析試題庫自動組卷系統為例:
T0109:代表第1章發展型應用型中的計算類試題;D0109:代表對應試題答案;
T2101:代表第21章基礎知識型中的填空類試題;D2101:代表對應試題答案。
題庫中每道試題及與其對應答案以3位數字開始順序編號,以“f”和“~”兩字符結尾,以便系統組卷抽題時能正確識別每道試題和對立的答案。試題和答案以文本文件的方式順序存放。
3.3 試題難度系數確定
一套試卷是否合理,主要由試題的難易程度結構來體現,故準確確定試題的難度是優化試卷的核心。本系統將各種題型的難度值分為五級,其難度系數分別為0.5 (容易的題) ,1.0(較容易的題),1.5 (中等難度的題),2.0 (較難的題),2.5 (難題)。這里的難度系數0.5~2.5 只是用以表示試題難易程度的標示符,位于每道題的末端。
4 隨機自動化組卷的算法設計和賦分原則
4.1 試題庫隨機組卷系統的算法
試題庫隨機組卷系統主要采用的是多約束組題算法,所謂多約束組題算法就是在系統進行隨機組題時所必須滿足的一些條件,這些條件也就是所說的約束問題。一般情況下,在進行試題抽取時都要考慮試題的類型、試題的知識點、試題的難度以及試卷分數等約束條件。如果用向量坐標來表示的話,可以用Y(V,M,N)來表示試題的抽取。其中,V表示一個有限變量集,它對應于試題的每一個屬性,其數學表示為:V(v1,v2,…,vn);M表示一個有限數字集,表示各種屬性的取值范圍,其數學表示為:M(m1,m2, …,ms);N表示一個有限規則集,表示各試題應滿足的約束條件,其數學表示為:N(nl,n2,…,nt)。即:試題的抽取過程Y是在同時滿足V,M,N的條件進行的一個約束滿足過程。
對于V來講試題屬性一般是指知識點,試題類型以及難度等,這里如果所要抽取的試題有L個知識點,類型有X個,難度有P種。而所抽取的題目數量為Q,則Q(l,x,p)與試題分數S(l,x,P)之間滿足如下規則:
規則M:設卷面總分為S;則卷面總分:S =∑ Q(l,x,p)S(l,x,p)
多約束組題的一般算法如下:
(l)進行試題約束條件判斷,判斷試題類型、知識點、難度以及分數等規則,使得滿足條件的試題作為下一步抽取的總體。
(2)利用隨機函數Rand()進行隨機數的產生,使產生的隨機數在試題抽取的題數范圍內,并利用A[i]數組記下這個隨機數。
(3)進行第2步操作,記下此時的隨機數A[i+1]。
(4)判斷A[i]是否等于A[i+1],若相等則說明試題抽取重復,放棄后重新進行隨機數產生,并返回第2步。否則讀取相關試題,抽取成功。
(5)重復第2到4步,直到試題抽取完畢。
在利用該方法進行數據庫開發過程中主要存在以下幾點問題:①所產生隨機是否與上次已經產生的隨機數重復。②如果重復如何解決。③如何利用這個隨機訪問數據庫。鑒于以上問題,我們利用上面講過的多約束求解算法對此進行設計,其中x為試題數,A[i]為一維數組。其算法2所示。
圖2 優化算法流程圖
在進行試題抽取中,首先應指定約束條件,該約束條件為試題類型、所在章節、試題難度等。然后利用srand()產生一個時間片種子,并通過rand()函數產生一個隨機數,而這個隨機數就是題庫中試題的編號,這個隨機數的產生是面向題庫中整個試題而產生的。利用該隨機號就可以訪問數據庫并提取相應的試題。SQL語句NewID()創建uniqueidentifier類型的唯一值,uniqueidentifier是隨機產生的。NewID()語句使數據庫中的數據信息隨機排序,然后按一定的題數從數據庫中讀取試題。
4.2 試卷質量測評
應用難度級別分割遞歸算法和基于狀態鏈表的隨機抽題算法自動組成的試卷是否能真實地反映出教師的教學水平以及學生對知識技能的掌握程度,需要我們對試卷質量進行質量測評。測量試卷的主要檢驗指標是:難度、信度、區分度和覆蓋度。我們用設待抽樣的試卷題目數量為n,以M分制計,每題滿分為Aj(j=1,2,3,...,n );抽查的容量為N,其樣本值為Xi(i=1,2,3,...,N) 為抽查的試卷數;抽查的N份試卷各題的實際得分為Xij(i=1,2,3,...,N;j=1,2,3,...,n)。
則樣本值為 hwl03.tif
4.4 區分度
題目的區分度也叫題目的鑒別力,它是衡量題目對不同水平被測試者的心理特質的區分程度的指標。區分度的取值范圍于-1.00~+1.00 之間,值越大,區分的效果越佳。一般0.2~0.4 為佳。設Hj、Lj 分別表示高分組和低分組第j 題的平均分(高低分組各占樣本量的25 %~30 %為佳)。
第j題的區分度為VP=(Hj-Lj)/Aj ,則試卷的總區分度為hwl07.tif
評測標準:0.4以上:優秀題目;0.3~0.39:良好題目;0.2~0.29:勉強合格;0.19 以下:差的題目。
4.5 可信度
指測量數據和結論的可靠性程度,它是表明考試質量的穩定性和可靠性的一個重要指標。信度一般規定是真分數的方差在總體方差S (n 個學生總分的方差) 中所占的比例。測量信度系數的方法較多,這里采用a系數法(該公式由克朗巴赫提出)。
6 總結
本文的創新點在于通過分析隨機組卷系統重在對數據庫中的試題進行隨機數據的抽取,本文提出了多約束情況下的優化隨機算法,利用通用開發語言和SQL語言中的隨機函數進行了混合編程。這樣,一方面利用了VC程序的靈活性,另一方面利用了SQL語言的訪問快速性。通過系統的運行發現此算法優于以往的單純以開發語言進行設計的隨機算法;其次通過應用3 個評測指標評測,經過有關專業教師評判,認為算法設計科學,組卷合理,能真實地反映出教師的教學水平以及學生對知識技能的掌握程度。
參考文獻
[1]劉建華,宋志光,徐金祥.基于單用戶數據庫的多用戶系統的研究與實現[J].計算機工程與應用,2000.4.
[2]曾一,冉忠,郭永林.試題庫中自動組卷的算法及試卷測評策略[J].計算機工程與設計,2006.8.
[3]張克.基于c/s結構的試題庫隨機組卷系統的研究[D].合肥工業大學,2006.12.
[4]周紅濤,季新生. 三層C/S結構中數據庫連接管理器的構造[j].微計算機信息.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”