劉曉薇
摘 要:文章在基于互聯(lián)網(wǎng)海量數(shù)據(jù)的基礎上提取關于C++各個知識點的相關問題,并且相對各個知識點進行詳細的科學的歸納和總結。利用計算機處理技術,形成一套完整的教學考核、質量評價及訓練的智能化一體系統(tǒng),不但可以為C++的教學考核、教學質量評價提出客觀的依據(jù),同時還能夠為學生實踐提供一個綜合性的鍛煉平臺,促進學生的動手能力。
關鍵詞:詞頻;教學改革;智能分析
中圖分類號:TP312
文獻標識碼:A
傳統(tǒng)的教學質量考核是基于試卷的考試結果來作為測量標準,比如平均分,分數(shù)的標準差等,而忽略了試題的難易、涵蓋知識面的比例、學生運用知識的能力等因素。而且基于當前學生的考試成績評價教學質量,因為樣本量太小,得出的數(shù)據(jù)存在很大的不確定性,并不能合理的反映當前的教學方法存在哪些問題。同時,因為考題的隨意性,學生掌握知識的程度也不能在考核結果中得到科學的、充分的體現(xiàn),為了學生能夠深刻掌握好C++這門課程,改變目前這種孤立的、片面的、粗放型的考核評價系統(tǒng)。本文提出了基于大數(shù)據(jù)分析的C++教學訓練及考核、評價的智能系統(tǒng)設計,試圖從目前互聯(lián)網(wǎng)上海量的數(shù)據(jù)中,挖掘出C++各知識點在實踐運用中遇到的各種問題,通過歸納、統(tǒng)計、分析,建立完善的C++題庫及難度系數(shù)。通過程序設計,結合考題涵蓋的知識點、難易程度、題型、主客觀因素,自動形成考核試卷、自動分析學生考試結果,建立一套科學的訓練、考核、教學質量評價系統(tǒng),形成一個正反饋的閉環(huán)教學過程。
知識獲取主要有兩個來源,一個是實踐,另一個就是從已有的數(shù)據(jù)中挖掘。在大數(shù)據(jù)時代,面對海量的繁雜數(shù)據(jù)信息,必須具備在已有的顯性知識中進行二次挖掘的能力,挖掘出有用的知識。這里提出了基于詞頻分析的統(tǒng)計方法,詞頻分析是基于關鍵詞的文獻統(tǒng)計量的分析方法之一,某一個關鍵詞在互聯(lián)網(wǎng)上出現(xiàn)的頻率越高,就可以推斷該關鍵詞代表的研究主題熱度越高,同時可以表明大家在該問題上出現(xiàn)的困惑、關注也越多。根據(jù)這些詞頻統(tǒng)計在C++涉及出現(xiàn)的問題,結合歷史試卷,總結出易出錯誤的知識點,估計各知識點的難易程度,同時根據(jù)海量的搜索數(shù)據(jù),得出大家在知識點存在困惑的地方,將這些困惑點演變成課堂及練習中的習題,充實到數(shù)據(jù)庫中。
這里主要參考歷年的各類相關考核試題、線上各種題庫,以及CSDN/知乎/百度等數(shù)據(jù)來源,先根據(jù)SEO查詢以及百度指數(shù)等,統(tǒng)計其搜索指數(shù),得出大家普遍關系的問題。然后將這些問題分析、歸類、建檔,更新到教學、評價系統(tǒng)中來。比如通過百度指數(shù),搜索指針數(shù)組,可以看到搜索量的折現(xiàn)圖,根據(jù)數(shù)值可以知道其準確的搜索量,同時也給出了整體同比,整體環(huán)比等關鍵數(shù)據(jù),如圖1所示。
得出相關問題之后,將其細化,統(tǒng)計其知識要點、難度系數(shù),比如指針數(shù)組,我們歸納出其要點,易錯知識點:A 指針運算;B指針賦值;C 多重指針初始化問題;D new語句的用法;E delete語法;F指針常量與常量指針。根據(jù)統(tǒng)計的出錯率,給出相應的難度系數(shù)。再將收集的習題庫和知識點、難度系數(shù)建立一一對應的邏輯關系。圖2 是根據(jù)各大網(wǎng)路資源結合各種題庫得出的C++知識點排名靠前的關注指數(shù)。
根據(jù)實際教學的需求,整個系統(tǒng)分成四個部分,分別為資源模塊、考核試卷自動生成模塊、試卷考試結果分析模塊、模擬訓練模塊,整個系統(tǒng)結構如圖3所示。資源模塊包含三個部分,一個是題庫及解答,一個是C++知識點模塊以及C++知識點的難易程度模塊,題庫及解答中的每道題都會有相對應的難度系數(shù)及對應的知識點,有些試題可能對應多個知識點,那么其難度系數(shù)根據(jù)多個知識點的難度系數(shù)加權平均得出一個綜合性的難度系數(shù)。
C++考核試卷自動生成模塊主要根據(jù)教學大綱設置的條件,利用程序算法設計自動生成考核試卷,在考核試卷的生成程序中,我們主要參考的因素包括這些內容:①試卷的考題要盡量覆蓋多的知識點,一般包含的知識點應該在70%以上;②整個試卷的難度系數(shù)應該在一個適中的范圍;③題型也應該多樣化,比如主觀題及客觀題要有一定的比例;④考題要保證一定的更新率,也就是說相比今年的考題,重復率要控制在一定范圍,這樣考試才能起到比較客觀的效果;⑤選擇的考題突出了學生哪部分的能力,包括理解力、編程能力、邏輯能力、想象能力等。
在線模擬訓練模塊可以供學生選擇各個知識點的試題進行訓練,包括編程題,上傳學生的編程代碼,后續(xù)將完善學生代碼自動分析功能,包括補全代碼、運行效率及結果分析、運用的知識點分析等功能。
有了前面考卷已經給出的各種參數(shù),就很容易分析學生在考試中展現(xiàn)出來的知識結構掌握的情況以及表現(xiàn)出來的動手能力和創(chuàng)新能力。
(1)考試分數(shù)統(tǒng)計指標分析。主要包括平均分及其方差,同時通過統(tǒng)計每段分數(shù)上的人數(shù)和比例,繪制分數(shù)分布統(tǒng)計曲線,可以克服平均分數(shù)受到極端分數(shù)影響的弊端。同時我們還可以根據(jù)我們建立的C++數(shù)據(jù)庫系統(tǒng),統(tǒng)計出學生在每個知識點的得分情況,結合難度系數(shù)剖析學生對每個知識點的掌握情況,在這個基礎上更好的反饋出學生對整個C++知識掌握的情況或者存在的不足,凸顯我們在C++教學中存在的問題。
(2)能力結構掌握情況分析。教學的本質并不只是得到好成績,而是培養(yǎng)學生利用計算機編程技術解決實際問題的能力,形成計算機思維能力的習慣。因此題型的設計要側重在學生對C++知識的構析、運用能力上,根據(jù)學生對各個題型的得分情況,得出學生在C++編程學習中展現(xiàn)出的能力素質情況,其中包括基礎概念理解能力、空間想象能力、邏輯推理能力、綜合運用能力。
(3)主觀題智能分析。比如編程題,我們不光要看學生解答是否符合題目要求,同時要看解答中應用的方法是否具有新穎性,設計的程序是否效率高,如占用內存小、CPU運行效率高、運用了不同的方法。對于優(yōu)秀的解答我們可以及時更新到我們的題庫及解答數(shù)據(jù)庫中,給更多的同學借鑒,這樣形成一個很好的正反饋,不但豐富了學習素材,還可以拓展學生的思路,更加深刻地理解C++課程的內容。目前這一部分功能主要由人工完成,后續(xù)將由機器智能分析完成。
為了科學考核、評價C++的教學效果,促進教學質量的提高,我們在基于大數(shù)據(jù)的基礎上,建立了一套數(shù)字化的智能教學訓練、考核及質量評價智能系統(tǒng)。其可以從宏觀到微觀,從整體到部分,多視角、多層面地促進C++教學質量的改進,以客觀、準確、嚴格的評價標準和科學、全面的考核內容,凸顯學生在學習中遇到的薄弱環(huán)節(jié),細化教學內容到每個知識點的掌握情況,從各個層面推進教學質量的提升。
后續(xù)將繼續(xù)完善整個數(shù)字化智能系統(tǒng),特別是在智能化考核及分析上,計劃引入自動編譯系統(tǒng),能夠自動分析程序設計題采用的方法、存在的錯誤、運行的效率,涵蓋的知識點,進一步提高教學的數(shù)字化水平。
[1]顧勛梅.C++課程教學改革的探討與研究[J].科教文匯(下旬刊),2009(24):39.
[2]王春玲.“C++程序設計”課程教學改革的探討[J].計算機教育,2008(4):26-28.
[3]王進,陳建平,王春明.面向應用能力培養(yǎng)的C++課程教學實踐[J].計算機時代,2012(11).