張歡 劉光志
【摘 要】近年來隨著各用人單位對大學(xué)計(jì)算機(jī)等級考試證書要求的不斷提高以及全國計(jì)算機(jī)等級考試報(bào)名人數(shù)的不斷攀升,如何在大學(xué)計(jì)算機(jī)等級考試相關(guān)課程教學(xué)以及等級考試過程中采取自動(dòng)智能化評分方法,成為很多高校以及相關(guān)考試機(jī)構(gòu)迫切需要解決的問題,本文對當(dāng)前國內(nèi)大學(xué)計(jì)算等級考試科目所采用的主要智能評分系統(tǒng)進(jìn)行分析和總結(jié),為智能評分技術(shù)在其他科目如Visual Basic、Python等計(jì)算機(jī)等級考試中的應(yīng)用研究提供有益參考。
【關(guān)鍵詞】智能評分;計(jì)算機(jī)等級考試;Visual Basic
中圖分類號: G434;TP311.52 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2019)16-0044-001
DOI:10.19694/j.cnki.issn2095-2457.2019.16.019
全國計(jì)算機(jī)等級考試(NCRE),是經(jīng)教育部批準(zhǔn),由教育部考試中心主辦,面向社會,用于考查應(yīng)試人員計(jì)算機(jī)應(yīng)用知識與技能的全國性計(jì)算機(jī)水平考試體系。NCRE考試中的語言程序設(shè)計(jì)類主要有C、C++、Java、Visual Basic、Python等編程語言,NCRE以應(yīng)用能力為主,劃分等級,分別考核,為考生提供其計(jì)算機(jī)應(yīng)用知識與能力水平的證明,考試形式完全采用機(jī)考形式[1]。
近年來隨著各用人單位對計(jì)算機(jī)等級考試證書要求的不斷提高以及全國計(jì)算機(jī)等級考試報(bào)名人數(shù)的不斷攀升,如何在大學(xué)計(jì)算機(jī)等級考試相關(guān)課程教學(xué)以及等級考試過程中采取自動(dòng)智能化評分方法,成為很多高校以及相關(guān)考試機(jī)構(gòu)迫切需要解決的問題,本文對當(dāng)前國內(nèi)大學(xué)計(jì)算等級考試科目所采用的主要智能評分系統(tǒng)進(jìn)行分析和總結(jié),為智能評分技術(shù)在其他科目如Visual Basic、Python等計(jì)算機(jī)等級考試中的應(yīng)用研究提供有益參考。
在眾多評分方法中,常用的方法則是動(dòng)態(tài)測試方法和靜態(tài)測試方法。動(dòng)態(tài)測試方法指通過動(dòng)態(tài)運(yùn)行需要測試的考題結(jié)果程序結(jié)果代碼,檢查其與預(yù)期標(biāo)準(zhǔn)答案的差異。這種方法由三部分組成:構(gòu)造測試實(shí)例、執(zhí)行程序、分析程序的輸出結(jié)果。靜態(tài)分析方法是指不運(yùn)行需要測試的答題結(jié)果程序,即無須對答題結(jié)果代碼進(jìn)行編譯和處理,僅通過分析答題結(jié)果的語法、結(jié)構(gòu)、過程等以及與標(biāo)準(zhǔn)答案進(jìn)行對比給出成績評分。靜態(tài)測試方法會根據(jù)標(biāo)準(zhǔn)答案代碼中指定的一些特征,運(yùn)用軟件進(jìn)行代碼的質(zhì)量度量和評分。
文獻(xiàn)[2]對C語言編程題智能評分系統(tǒng)進(jìn)行了設(shè)計(jì)和研發(fā)。文獻(xiàn)[2]將動(dòng)態(tài)測試方法與靜態(tài)分析的方法相互結(jié)合,一方面使評分系統(tǒng)能借助編譯工具完成程序動(dòng)態(tài)編譯和運(yùn)行,另一方面借助靜態(tài)方法對對程序進(jìn)行靜態(tài)分析,分析結(jié)果與標(biāo)準(zhǔn)程序模板進(jìn)行相似度匹配。系統(tǒng)使用了包括 B/S 架構(gòu)、JSP 技術(shù)、Java 編程語言、Eclipse 開發(fā)平臺、MySQL 數(shù)據(jù)庫的技術(shù),最終達(dá)到使得C語言智能評分系統(tǒng)評判更接近于人工評判編的效果。
文獻(xiàn)[3]將C語言程序結(jié)果文件與數(shù)據(jù)庫中的標(biāo)準(zhǔn)答案進(jìn)行對比,當(dāng)對比結(jié)果不同時(shí),則進(jìn)入靜態(tài)評分過程。當(dāng)程序無法產(chǎn)生結(jié)果文件時(shí),則進(jìn)入動(dòng)態(tài)評分過程。在動(dòng)態(tài)評閱過程中,需要對源程序進(jìn)行詞法、語法分析,將源程序中存在的語法錯(cuò)誤等方面的修改并將修改后的源程序進(jìn)行編譯運(yùn)行,生成新的文件,再次將新生成的文件與數(shù)據(jù)庫中的標(biāo)準(zhǔn)答案文件進(jìn)行對比,如果再次發(fā)生不匹配,則進(jìn)入靜態(tài)評分環(huán)節(jié),該環(huán)節(jié)從數(shù)據(jù)庫中提取該答題結(jié)果的關(guān)鍵語句并進(jìn)行檢測匹配。
在文獻(xiàn)[4]中,對于程序改錯(cuò)題和程序填空題兩種題型,在對應(yīng)的答案參照表中設(shè)置了多個(gè)可備選答案,同時(shí)對于不同的備選答案通過設(shè)定不同的權(quán)重值用來進(jìn)行評分。因此,每個(gè)題目可以看作有多個(gè)備選答案構(gòu)成,這些備選答案帶有不同的權(quán)重值。每個(gè)題目的最終成績?yōu)槟硞€(gè)答案的權(quán)重值和該題目的分值經(jīng)過計(jì)算得出。對于函數(shù)編程題這類題型,由于其與改錯(cuò)題和程序填空結(jié)構(gòu)上還存在一定的差異,可將函數(shù)編程類題型答案作為一個(gè)文本,該文本應(yīng)該由多個(gè)評分點(diǎn)構(gòu)成。每個(gè)評分點(diǎn)可以組合成不同子文本,每個(gè)評分點(diǎn)在答案文本中均設(shè)置有一定的得分比例,最后通過計(jì)算得出該類函數(shù)編程題的最終得分。
在文獻(xiàn)[5]中,提出了一種上機(jī)考試評分的系統(tǒng)架構(gòu),在該評分系統(tǒng)分中的用戶,由學(xué)生端和教師端兩部分構(gòu)成。在教師端,用戶可以進(jìn)行出題、評分等操作,而在學(xué)生端,用戶可以進(jìn)行題目選擇和答題操作。該評分系統(tǒng)由出題模塊、評分模塊和答題等模塊構(gòu)成。為了區(qū)分不同用戶的角色,當(dāng)用戶登錄時(shí),可以利用數(shù)據(jù)庫用戶表的權(quán)限字段加以區(qū)分和識別,之后將不同用戶分配不同的權(quán)限。此外,在用戶界面上,教師端用戶在主界面上會顯示出題評分等操作,而學(xué)生端用戶則顯示試題抽取操作,抽取試題后進(jìn)入答題界面,并在答題結(jié)束后可進(jìn)行相關(guān)答題文件的提交。
結(jié)束語:智能評分技術(shù)系統(tǒng)雖然可以一定的程度上降低計(jì)算機(jī)自動(dòng)評閱等級考試過程的復(fù)雜性,減輕了教師的部分工作量,但與人工評閱相比還存在較大的差異性。因此未來在這方面的研究可以借助人工智能分析技術(shù)進(jìn)行偏差校正,也可以借助數(shù)據(jù)挖掘技術(shù)對答題結(jié)果進(jìn)行分析,以幫助和提高出題人員對出題范圍的合理性和出題考點(diǎn)的準(zhǔn)確度。
【參考文獻(xiàn)】
[1]百度百科:全國計(jì)算機(jī)等級考試.
[2]黎青霞,楊乘.C語言編程題智能評分系統(tǒng)[J].電子技術(shù)與軟件工程,2019,4:233-234.
[3]陳晶晶,陳華,范宜標(biāo).C語言智能評分系統(tǒng)的開發(fā)[J].《龍巖學(xué)院學(xué)報(bào)》,2016,34(2):75-80.
[4]董會權(quán).智能C語言操作題評分算法研究[J].科技創(chuàng)新導(dǎo)報(bào),2011,1:23.
[5]田華.智能C語言操作題評分算法研究[J].產(chǎn)業(yè)與科技論壇,2013,12(10):207-208.