宋雪麗
[摘 要]判斷所培養的人才是否合格需要一套完整的系統,這是考試系統設計的初衷。傳統的考試系統過多依賴于教師的教學水平和學生“會考試”,無法真正反映考生對知識的掌握程度。計算機新技術的出現,影響到社會生活的方方面面,讓人類生活更加輕松便捷。文章通過對知識體系進行梳理分析,并將大量試題進行整理形成龐大的題庫,系統從題庫中選取考題形成試卷,從多個角度為每個考點命題。考試完畢后運用大數據分析出考點覆蓋率以及每道題的通過率,確定學生對所考知識的掌握程度和是否需要重新命題,以便于更有效地改進教學。最后借助先進的計算機技術將元數據設計、多層次設計、可插入設計技術應用到教學考試系統設計當中,設計一套新的考試系統。通過運用此考試系統將“考試”和“知識”原來扭曲的關系恢復正常,并讓考試回歸于檢測知識掌握程度的目的。
[關鍵詞]知識體系;計算機技術;考試系統設計
[中圖分類號] G64 [文獻標識碼] A [文章編號] 2095-3437(2019)02-0195-04
人類文明的傳承,社會的進步,都依賴于人才培養,而人才培養是一個漫長復雜的過程。互聯網的出現讓人類獲取知識更加輕松便捷,但卻帶來了新的問題:學習時間的碎片化[1]。太多新知識新觀點的出現,導致學生很難靜下心來,系統化深入地去學習某一項知識。這就為教學帶來新的問題:如何快速為社會輸送合格的人才。專業人才是否合格,需要一套完整的系統來檢查。這就是考試系統設計的初衷。
傳統的教學與考試系統的效果取決于教師的教學水平和學生的學習積極性。學生真正掌握的知識并不能跟學生的考試成績完全對等,一些“會考試”的學生僅僅憑借考試技巧就能取得高分,甚至有些學生因為剛好復習了某個知識點就順利獲取了高分。當考試分數里包含太多“技巧”和“運氣”成分,就無法真正反映考生對知識的掌握程度,從而導致學生追求“考試技巧”和猜題,而不是掌握知識本身。多年以來,以考試作為教學指揮棒,高分低能就這樣產生了。新的考試系統設計,完全從課程本身出發,將“考試”和“知識”原來扭曲的關系恢復正常:學習是為了掌握知識,考試是為了檢測對知識的掌握程度。
一、基本思路
讓考試回歸本質,考試不再是考生和命題教師之間對抗的游戲,而是學生用來自我檢查對知識的掌握程度,那么考試就變成工具,學生學習將不再是為了考分而是為了學習知識本身。
(一)知識體系分析
1.知識拆分
每門功課都有自身的知識體系,將一個知識體系拆分成多個可以量化的知識點可以降低學習難度,有利于學生克服學習上的畏難情緒。
2.知識關聯
將知識體系拆分成知識點之后,這些知識點并不是孤立的而是相互關聯的。知識點之間的關聯關系,導致要學習一個知識點,往往需要先學習這個知識點的知識支撐,知識點支撐知識點,就是所謂的“基礎”。運用基礎知識學習理解知識,有助于理解當前知識點。而基礎知識也是知識點,這就需要依賴更多的“基礎知識點”,于是整個知識點就構成了一個復雜的網狀關系[2]。學生無法理解當前的知識點有時不是因為不夠努力,而是因為“基礎差”。因此,要設計出符合學生學習實際情況的知識體系,需要對知識點進行很好的設計。
3.知識運用
學習知識的目的,不僅僅是為了考出好成績,更重要的是為了提高能力與素質。對知識的真正掌握,是會將知識進行靈活的應用。因此,需要將知識放入各種實際的場景中,跨越理論與實際之間的巨大鴻溝,讓學生一開始就從實際應用出發。
4.知識重難點
在一個知識體系中,從理解的角度來說,會有某些知識點是非常難以學習和掌握的,這些知識點就成為這個知識體系的難點。知識點的重要程度也不是完全一樣的,某些知識點是整個知識體系的核心部分,這些知識點就成為要重點掌握的部分。要給知識點增加附加屬性的描述,比如難點、重點、權重比例等,盡管這些附加屬性的描述不影響知識系統本身,但是能通過附加屬性設計出更符合人性特征的知識體系出來[3]。
(二)知識體系設計
傳統的知識體系設計,以知識點為中心,構建出樹狀或者網狀的知識體系,非常嚴謹,但是學生尤其是基礎知識掌握不夠牢固的學生,往往會陷入這張網中無法出來,在學習過程中產生巨大的挫敗感,而教師往往是付出了很多心血卻收效甚微。新的知識體系以人為中心,使用互聯網超文本思路,將知識進行扁平化。新的知識設計體系中知識點之間的關聯關系依然存在,但是知識點的呈現方式將不再是嚴謹的體系,而是將知識點之間的競爭關系用動態的方式呈現出來。比如,在傳統的樹狀層級關系中,新聞—體育新聞—足球新聞—英超聯賽這種層級是固定的。但是,當“英超聯賽”正在進行的時候,“英超聯賽”往往是熱點新聞,具有更大的競爭力,因此,從最終呈現的角度來看應該排列在“體育新聞”的前面。
二、考題的產生
(一)多個角度命題
在傳統的教學過程中,學生學習到期末后就由任課教師出題,形成試卷,開始考試。這樣做的弊端非常明顯:考卷無論是覆蓋度還是難易程度,完全依賴于出題教師的水平和出題時的狀態。新的考試系統讓所有任課教師針對課程中包含的知識點進行命題,形成龐大的題庫[4-5]。當需要考試的時候,系統從題庫中選取考題,形成試卷,最大限度地減少了人為因素,更是從根本上杜絕了漏題等現象的發生。隨著題庫考題的不斷積累,質量高的考題會沉淀下來,而質量低的考題就會逐步被淘汰,從而提高了整體教學和考試水平并讓學生從中受益。
(二)根據權重比例組成考卷
系統根據知識點的權重,挑選出需要生成試卷的所有知識點;根據知識點對應的考題,隨機選擇出對應的考題來組成試卷。當一個知識點對應多個考題的時候則將以往選擇過的考題作為參考,優先選出沒有考過的考題作為本次考試的考題。
三、大數據分析
運用傳統教學法能夠獲取的數據非常少,即使這樣,通過人工去分析這些很少的數據,工作量巨大,很難完成。于是,教師往往會放棄分析,而只是做簡單的統計。大數據分析就是使用計算機技術對海量數據進行分析,從這些數據中找到規律,為改進教學提供依據與參考。這個分析包括以下幾個方面。
一是分析覆蓋率。根據歷次考試的考題和知識點之間的關系,分析出每次考試的試卷對考點的覆蓋率,分析出每個考點的被覆蓋率。
二是分析通過率。根據考生考試的結果分析出每次考試的通過率,再根據通過率來做出是否需要重新命題的決定。
三是分析掌握程度。根據學生對每道題的考試時間,判斷出這個試題的難易度,并對該試題進行難度系數認定,然后將認定的系數儲存進計算機試題庫,以備隨時調取[6]。
四、系統設計
(一)元數據設計
元數據是用來描述數據的數據,這些數據不會輕易改變。知識點一旦確定后,就不會輕易改變,因此,知識點可以作為元數據。這里以知識點和考點來說明如何設計元數據。
1.知識點元數據
知識點元數據是對外服務的表,當需要設計考點等信息的時候,可以將這個表中的記錄作為標準,如圖1(1)。
但是在實際應用中,元數據的產生需要一個過程,教師之間對數據的描述有一定的差異,通過多次版本的迭代,最終會形成一個相對完善的描述。在知識點歷史數據中記錄了每次版本迭代的相關信息,如圖1(2)。因此,知識點是有版本的。通過知識點的版本,可以知道多個人對同一個知識點的描述情況,以及最終版本的形成過程。對學生來說,了解這些歷史既能加深對知識點的理解,又能開闊視野,需要從科研的角度去理解知識,而不是靠死記硬背。
(二)多層設計
數據包括結構化數據和非結構化數據。結構化數據主要有學生信息、教師信息、考試信息、知識等,使用關系數據庫(DBMS)存儲。非結構化數據主要是對知識點和考題的描述,可能包含有文字、圖片、影像等,這些數據的大小不固定,可以使用關系數據庫直接存儲。無論是寫入還是獲取,都不好對流量進行預估,很可能因為訪問一個巨大的影像文件而導致整個數據庫性能下降,因此可以直接使用NTFS文件系統進行存儲。數據訪問接口,將結構化數據和非結構化數據封裝成統一的訪問接口,并將被訪問的數據序列化成對象返回。寫業務代碼的部分,可以不用關心如何存儲和獲取數據。業務邏輯層關注業務本身,實現所有的業務操作,并將這些業務包裝成Services方式的API(應用程序訪問接口),提供給最終顯示層使用[7]。API層提供對外接口,以無狀態服務方式提供給顯示層。數據交換格式使用標準的JSON格式。根據目前的情況,主要是有普通PC機、平板電腦和各種移動終端。前端使用標準的HTML5,并使用響應式設計,從而兼容目前主流顯示屏。
(三)可插入設計
在傳統的軟件設計中,軟件設計開發完成后需要添加新功能,或者因為邏輯變化就需要去修改原來的代碼。由于對原來代碼的理解不夠,工作量大不說,還會帶來很多潛在的系統開發錯誤。
在本系統中,將業務劃分為細粒度的操作,這些細粒度的業務操作,可以靈活方便地組合成多種業務操作。然后以事件為中心,將這些操作串聯成一個個具體的業務[8]。當業務發生變化的時候,可以插入或者減少操作顆粒,從而實現對業務的可插入設計。下面以用戶登錄為例來說明是如何設計的。用戶登錄是一個事件,可將這個事件分解為三個階段:登錄前、登錄中、登錄后。
登錄前:
(1)可以插入用戶IP認證,判斷用戶當前IP是否在白名單中。
(2)可以插入渲染時間統計,統計收到用戶請求到整個頁面渲染完成的時間,記錄哪個資源加載的時間最長。
(3)可以插入用戶使用的瀏覽器和操作類型判斷,統計用戶目前最常用的瀏覽器等。
登錄中:輸入用戶名、密碼,點擊登錄
(1)主業務是去系統中驗證用戶是否存在和合法。
(2)可插入記錄用戶登錄日志,記錄用戶每次登錄的時間。
(3)可插入加密程序,加密生成關于用戶信息的passport。
登錄后:
(1)主業務是點擊登錄后,如果失敗就顯示用戶名、密碼錯誤,如果成功則直接進入系統主操作頁面。
(2)可插入通知。如果用戶多次登錄失敗,可能是非法用戶在嘗試,因此可以通知管理員。
(3)可插入自動IP屏蔽邏輯,將多次登錄失敗的用戶IP鎖定,以及將用戶狀態鎖定等。
(4)可插入其他邏輯,比如每次成功登錄后,給用戶增加一定數量的積分等。
因為整個系統都是基于這種可插入的設計思路,因此系統可以隨時輕松應對業務的調整和變化。
進行系統設計時可運用的開發工具如下:關系數據庫使用MS SQLServer2012,操作系統使用Windows Server2012,開發語言、PC端使用asp.net mvc +jQuery,移動端使用HTML5 +vue.js,后端使用c#。
五、結語
本文借助大數據通過對傳統知識點的梳理,從考題產生的角度提出一套新的考試方式,并運用元數據、多層次、可插入技術設計了新型的操作系統。應用此新型的考試系統能夠使考試功能變得更加規范化、科學化、實用,使考試回歸于檢測知識掌握程度的目的。運用計算機技術能夠為學校節省大量的人力資源與財政的開支,并為學校的數字化建設、教學改革提供一些支撐與參考。
[ 參 考 文 獻 ]
[1] 王朝勇.網絡考試系統在公共課教學中的應用[J].電腦知識與技術,2008(27):2116-2118.
[2] 傅穎麗.蘇州職大在線考試系統的設計與實現[D].北京:北京郵電大學,2012.
[3] 王祥金.一個智能在線考試系統設計與實現[D].濟南:山東大學,2009.
[4] 范新龍.網絡試題庫與考試系統的設計實現方案[J].西安航空技術高等專科學校學報,2004(1):34-36.
[5] 馬婷,季石磊.專業課試題庫系統的設計與實現[D].北京:北京林業大學,2009.
[6] 曾靜.智能化在線考試系統的研究與實踐[D].南京:南京理工大學,2008.
[7] 劉燁,季石磊.C#編程及應用程序開發教程[M].北京:清華大學出版社,2007.
[8] 丁玉萍,謝儀,方培鷹.計算機基礎課程機考體系的建設[J].江蘇教育學院學報(自然科學版),2012(5):42-43.
[責任編輯:龐丹丹]