范圣法, 張先梅, 虞慧群
( 華東理工大學(xué)1. 教務(wù)處;2. 計算機科學(xué)與工程系,上海 200237)
教學(xué)質(zhì)量管理的根本目的在于形成教學(xué)質(zhì)量的持續(xù)改進(jìn)機制,保證教學(xué)質(zhì)量不斷提高[1]。課程質(zhì)量是影響高校教育教學(xué)質(zhì)量持續(xù)提升的首要因素,所有高等教育改革理念和思想,最終都要落實到課程建設(shè)中并通過課程的實施來實現(xiàn)[2-3]。已有的經(jīng)驗表明,外部因素如教育資源的投入、外部問責(zé)和評估等,并不能必然地提升教育質(zhì)量,促進(jìn)高等教育內(nèi)部的教學(xué)質(zhì)量才是解決問題的根本途徑。因此,通過對本科課程的運行狀態(tài)、教師、學(xué)生、實驗、視頻等信息的采集、分析和評價,建立本科課程評價體系及其支撐系統(tǒng)并用于本科教學(xué)管理服務(wù)中,將會增強教育改革的核心競爭力。如何合理地利用這些教學(xué)信息,以便得到對教學(xué)有益的潛在知識,做出有前瞻性的決策,已成為各大高校亟需解決的問題。
文獻(xiàn)[4]挖掘了慕課平臺中各類學(xué)習(xí)者的學(xué)習(xí)行為模式特點,從而找出優(yōu)秀學(xué)習(xí)者所具備的特質(zhì)。文獻(xiàn)[5-7]通過分析學(xué)生的成績數(shù)據(jù),挖掘出各類學(xué)生的特點和有價值的關(guān)聯(lián)規(guī)則,提高學(xué)生成績和課程質(zhì)量。文獻(xiàn)[8]通過對學(xué)生屬性、學(xué)習(xí)行為、歷史成績3 個方面的數(shù)據(jù)挖掘,預(yù)測出學(xué)生未來課程的表現(xiàn),實現(xiàn)學(xué)生成績預(yù)警,這對教師掌握不同類型學(xué)生的學(xué)習(xí)情況大有裨益。
本文基于以上研究背景,以畢業(yè)生能力達(dá)成分析為導(dǎo)向,以提高教學(xué)質(zhì)量為目標(biāo),設(shè)計并實現(xiàn)了一種基于關(guān)聯(lián)規(guī)則與聚類分析的課程評價技術(shù)系統(tǒng),同時提供數(shù)據(jù)分析與決策支持功能。該系統(tǒng)針對傳統(tǒng)課程評價系統(tǒng)單一地以成績?yōu)槲ㄒ粯?biāo)準(zhǔn)的問題,較為客觀地使用了定量和定性相結(jié)合的課程評價原則,打破了地域和時間的限制,節(jié)約了大量人力和時間成本,實現(xiàn)了課程評價數(shù)據(jù)收集、課程評價處理的自動化。同時,對課程數(shù)據(jù)進(jìn)行系統(tǒng)分析,得到了有助于提高教學(xué)質(zhì)量的決策支持依據(jù),為教師及專業(yè)責(zé)任教授提供了持續(xù)改進(jìn)的參考依據(jù)。
1.1.1 數(shù)據(jù)采集功能 課程評價系統(tǒng)需要采集課程數(shù)據(jù)及成績數(shù)據(jù)。其中,課程數(shù)據(jù)不僅包括課程名稱、課程人數(shù)等基本信息,還包括該課程與其對應(yīng)指標(biāo)點的考核評價依據(jù)等信息。成績數(shù)據(jù)包括學(xué)生的姓名、學(xué)號等基本信息以及學(xué)生的考試、作業(yè)、實驗成績等信息,成績數(shù)據(jù)的錄入需要支持手工錄入和通過Excel 文件批量導(dǎo)入,以貼合不同用戶的使用習(xí)慣,使用戶擁有良好的系統(tǒng)使用體驗。數(shù)據(jù)采集用例如圖1 所示。
圖1 數(shù)據(jù)采集用例圖Fig. 1 Use case of data acquisition
1.1.2 報表查詢及下載功能 課程評價系統(tǒng)旨在簡化教育部工程教育認(rèn)證的數(shù)據(jù)準(zhǔn)備過程。由于在生成工程認(rèn)證所需的報表1~報表9 時耗費了大量的人力及時間,因此如何通過采集到的數(shù)據(jù)生成所需要的報表,以提供給用戶查看及下載成為了系統(tǒng)需要解決的問題。因篇幅限制,本文以《離散數(shù)學(xué)》課程為例,列出了報表6A:指標(biāo)點相關(guān)考核項分解說明基本樣式,如圖2 所示。
圖2 報表6A:指標(biāo)點相關(guān)考核項分解說明基本樣式Fig. 2 Report 6A: Basic styles of decomposition of relevant assessment items of indicator points
1.1.3 數(shù)據(jù)分析與決策支持功能 課程評價系統(tǒng)需要分析學(xué)生的成績數(shù)據(jù),根據(jù)畢業(yè)要求達(dá)成度評價方法,分別計算出課程達(dá)成度、指標(biāo)點達(dá)成度、畢業(yè)要求達(dá)成度,并通過圖表的形式直觀地展示出每門課程學(xué)生的成績分布情況及各項達(dá)成度,幫助教師優(yōu)化教學(xué)方法,提高課程教學(xué)質(zhì)量。數(shù)據(jù)分析與決策支持用例如圖3 所示。
圖3 數(shù)據(jù)分析及決策支持用例圖Fig. 3 Use case of data analysis and decision-making support
教師登陸課程評價系統(tǒng)后,可以查看、更改個人基本信息,對自己的教學(xué)班進(jìn)行管理。為進(jìn)行課程質(zhì)量評價,教師通過錄入學(xué)生各項題型的成績數(shù)據(jù)和與指標(biāo)點相關(guān)聯(lián)的評價依據(jù),系統(tǒng)即可自動完成各項達(dá)成度的計算,生成對應(yīng)的Excel 報表以供教師下載查看。同時,課程評價系統(tǒng)對學(xué)生成績數(shù)據(jù)和各項達(dá)成度進(jìn)行了可視化,教師可以直觀地通過系統(tǒng)提供的多項圖表對課程情況進(jìn)行分析,做出具有前瞻性的教學(xué)決策。
1.2.1 數(shù)據(jù)采集 數(shù)據(jù)錄入功能為其他功能模塊提供數(shù)據(jù)支持,包括開課課程的基本信息錄入、評價依據(jù)信息錄入、學(xué)生成績錄入。基本信息錄入包括課程名稱、學(xué)年、學(xué)生名單等信息的錄入,其中學(xué)生名單可通過Excel 表格進(jìn)行批量導(dǎo)入,該Excel 表格的格式需與預(yù)定義的學(xué)生名單的導(dǎo)入模板相匹配。完成課程基本信息配置后,可以進(jìn)一步輸入課程評價信息。評價信息錄入包括評價依據(jù)、評價周期、課程與指標(biāo)點的關(guān)聯(lián)信息等信息的錄入,從而為畢業(yè)要求達(dá)成度評價及工程認(rèn)證表格的生成提供數(shù)據(jù)支持。學(xué)生成績錄入包括學(xué)生當(dāng)前課程的考試成績、作業(yè)成績、實驗成績,分項拆解錄入,并提供給用戶批量導(dǎo)入和手工錄入兩種錄入方式,貼近不同用戶的使用習(xí)慣來改善用戶體驗。批量導(dǎo)入通過導(dǎo)入學(xué)生的考試成績、作業(yè)成績、實驗成績的分項拆解Excel 表格實現(xiàn),該Excel 表格需符合預(yù)定義的成績模板。
1.2.2 數(shù)據(jù)關(guān)聯(lián)性和聚類分析 數(shù)據(jù)分析功能對存儲在數(shù)據(jù)庫中的各類課程數(shù)據(jù)進(jìn)行計算分析,并將分析結(jié)果可視化,以便用戶能夠直觀地了解課程評價結(jié)果。數(shù)據(jù)分析功能包括計算課程達(dá)成度、指標(biāo)點達(dá)成度及畢業(yè)要求達(dá)成度并將它們存儲在數(shù)據(jù)庫中,分析學(xué)生成績的分布情況,分析考試、作業(yè)、實驗得分情況。
1.2.3 報表管理 報表管理是課程評價系統(tǒng)的核心功能之一,包括報表查詢及報表下載。在已采集課程相關(guān)數(shù)據(jù)的基礎(chǔ)上,課程評價系統(tǒng)能夠自動生成報表,相較于傳統(tǒng)的人工進(jìn)行報表計算,具有其不可比擬的優(yōu)勢。報表查詢通過第三方xlrd 模塊實現(xiàn)對Excel 文件內(nèi)容的讀取,使用戶能夠在線查看報表。報表下載通過第三方xlwt 模塊實現(xiàn)對Excel 文件的寫入,完成寫入操作的Excel 文件將保存在指定文件夾下,以供用戶進(jìn)行下載。
在實際的數(shù)據(jù)挖掘過程中,數(shù)據(jù)庫龐大且一般由多個異構(gòu)數(shù)據(jù)源構(gòu)成,數(shù)據(jù)挖掘結(jié)果極易受到噪聲、不一致的數(shù)據(jù)和缺失值的干擾,挖掘結(jié)果受數(shù)據(jù)質(zhì)量影響大。因此,需要對數(shù)據(jù)進(jìn)行預(yù)處理,以提高數(shù)據(jù)質(zhì)量,簡化數(shù)據(jù)挖掘過程。本文使用的數(shù)據(jù)是某專業(yè)2014~2018 學(xué)年所有學(xué)生已修課程的成績數(shù)據(jù),包括學(xué)生基本信息以及每門課程的考試、作業(yè)、實驗成績。數(shù)據(jù)預(yù)處理包括以下4 個步驟:
(1)數(shù)據(jù)清理。刪除缺失數(shù)據(jù)以完成數(shù)據(jù)清理。由于部分學(xué)生未參加考試或是教師錄入數(shù)據(jù)時未填寫部分學(xué)生的成績,導(dǎo)致成績數(shù)據(jù)空缺,這些記錄需進(jìn)行刪除。
(2)數(shù)據(jù)集成。刪除重復(fù)的記錄以解決數(shù)據(jù)冗余。由于教師批量導(dǎo)入的Excel 表格中存在重復(fù)的數(shù)據(jù)或是教師多次導(dǎo)入相同Excel 表格,導(dǎo)致數(shù)據(jù)庫中存在同一個學(xué)生有多條成績數(shù)據(jù)。因此,需保留該名學(xué)生多條成績數(shù)據(jù)中的最高分,并將其他記錄刪除。此外,若學(xué)生的初修成績不及格,次年需進(jìn)行重修,也會造成數(shù)據(jù)冗余,需刪除重復(fù)數(shù)據(jù)。
(3)數(shù)據(jù)轉(zhuǎn)換。為使算法有更優(yōu)的表現(xiàn),對成績數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,具體方法是:將學(xué)生考試成績除以考試總分,即標(biāo)準(zhǔn)化考試成績=學(xué)生成績/100,進(jìn)而得到一個[0,1]區(qū)間內(nèi)的數(shù)據(jù)。
(4)數(shù)據(jù)規(guī)約。數(shù)據(jù)離散化:數(shù)據(jù)形式受算法要求,學(xué)生考試成績需進(jìn)行離散化處理。將學(xué)生成績分為優(yōu)秀、不優(yōu)秀兩類,為排除課程的難度和出題方式的不同對考試成績的影響,計算每一門課程的平均分,如果學(xué)生考試成績大于該門課程的平均分則離散化為1,否則離散化為0。具體離散方式如表1所示。維數(shù)規(guī)約:去除無關(guān)屬性。學(xué)生姓名、班級與數(shù)據(jù)挖掘無關(guān),可以刪除這些屬性。
表1 考試成績離散化處理Table 1 Discretization of examination score
傳統(tǒng)的Apriori 算法會產(chǎn)生大量的候選項集,同時為了完成模式匹配需要重復(fù)掃描整個數(shù)據(jù)庫,開銷尤為龐大。頻繁模式增長(FP-growth)算法在不需要產(chǎn)生代價昂貴的候選項集前提下,可以挖掘出全部頻繁項集[9-10]。
在對數(shù)據(jù)進(jìn)行預(yù)處理的基礎(chǔ)上,對考試成績數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘,用以發(fā)現(xiàn)不同課程之間的相互影響,幫助專業(yè)責(zé)任教授合理制定專業(yè)人才培養(yǎng)計劃,培養(yǎng)能力更為綜合的專業(yè)性人才,進(jìn)一步提高教學(xué)質(zhì)量。
在不忽視重要規(guī)則也不會產(chǎn)生大量無用規(guī)則的基礎(chǔ)上,經(jīng)過多次實驗,最終最小支持度計數(shù)設(shè)置為50,最小置信度設(shè)置為0.85。使用FP-growth 算法對課程成績數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘到的部分課程關(guān)聯(lián)規(guī)則如表2 所示。
表2 課程關(guān)聯(lián)規(guī)則Table 2 Curriculum association rules
傳統(tǒng)的K-means 算法在選擇初始聚類中心時,從數(shù)據(jù)集中隨機選擇k個樣本作為聚類中心,初始聚類中心不同,容易導(dǎo)致完全相異的聚類結(jié)果。面對不同的數(shù)據(jù)類型,數(shù)據(jù)挖掘技術(shù)往往需要使用不同的相異性度量方法[11-12]。本文中,學(xué)生成績數(shù)據(jù)一般是數(shù)值類型數(shù)據(jù),在進(jìn)行離散化預(yù)處理后轉(zhuǎn)變?yōu)槎愋蛿?shù)據(jù),在此介紹其相異性度量方法。
2.2.1 學(xué)生成績數(shù)據(jù)的相異性度量 學(xué)生成績數(shù)據(jù)用整數(shù)或者實數(shù)值表示。不同的度量單位影響著聚類結(jié)果,因而在計算距離之前應(yīng)對數(shù)據(jù)規(guī)范化處理,以最小化度量單位對聚類結(jié)果的影響。設(shè)學(xué)生成績數(shù)據(jù)i=(xi1,xi2,···,xip)和j=(xj1,xj2,···,xjp) 中包含p個數(shù)值屬性,i和j代表學(xué)生的成績向量,常見的距離度量方法如下:
(1)歐幾里得距離
2.2.2 離散化考試成績的相異性度量 離散化考試成績數(shù)據(jù)僅有0 或1 兩種狀態(tài),其中0 表示學(xué)生考試成績小于等于平均分,1 表示學(xué)生考試成績大于平均分。兩個離散化考試成績數(shù)據(jù)之間的相異性可以通過二元類型數(shù)據(jù)聯(lián)實現(xiàn),如圖4 所示,其中,a表示對象i和對象j的取值均為1 的狀態(tài)數(shù);b表示在對象i中取值為1、在對象j中取值為0 的狀態(tài)數(shù);c表示在對象i中取值為0、在對象j中取值為1 的狀態(tài)數(shù);d表示在對象i和對象j中取值均為0 的狀態(tài)數(shù)。
圖4 二元類型數(shù)據(jù)的列聯(lián)表Fig. 4 Contingency table of binary type data
對稱的二元類型數(shù)據(jù)中,它的兩個狀態(tài)被視作具有同等的重要程度,對稱的二元相異性計算公式如下:
非對稱的二元類型數(shù)據(jù)中,它的兩個狀態(tài)被視作具有不同的重要程度,取值全為1 的情況被視作比取值均為0 的情況更有意義。因此,d在此被略去,那么非對稱的二元相異性計算公式如下:
例如,假設(shè)共有4 門課程,其平均分向量為(90,84, 81, 75)。學(xué)生i的成績向量為(97, 90, 72, 83),則離散化后的成績向量為(1, 0, 0, 1)。學(xué)生j的成績向量為(88, 81, 91, 72),則離散化后的成績向量為(0, 0,1, 0)。因此,可以得到圖4 中a=0,b=2,c=1,d=1。
在不忽視重要規(guī)則也不會產(chǎn)生大量無用規(guī)則的基礎(chǔ)上,經(jīng)過多次實驗,最終最小支持度計數(shù)設(shè)置為50,最小置信度設(shè)置為0.85。使用FP-growth 算法對課程成績數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘的偽代碼如下:
由于K-means++算法要求輸入目標(biāo)聚類個數(shù),結(jié)合傳統(tǒng)成績判定方法,在避免產(chǎn)生無用聚類結(jié)果的基礎(chǔ)上,將目標(biāo)聚類個數(shù)設(shè)置為4,即k=4。使用sklearn.cluster 提供的K-means++算法,挖掘某門課程學(xué)生成績的聚類結(jié)果的偽代碼如下:
為了說明K-means++算法相較于傳統(tǒng)K-means算法的不同之處,本文通過一個實例說明K-means++算法選取課程成績數(shù)據(jù)聚類中心的執(zhí)行過程。選定如圖5 所示的數(shù)據(jù)集,包含8 個成績數(shù)據(jù)樣本,圖的橫坐標(biāo)代表平時成績,縱坐標(biāo)代表考試成績。為簡化計算,數(shù)據(jù)集中樣本的序號(平時成績,考試成績)分別為1 號(3,4),2 號(4,4),3 號(3,3),4 號(4,3),5 號(0,2),6 號(1,2),7 號(0,1),8 號(1,1)。
圖5 K-means++算法實例Fig. 5 Instances of K-means++ algorithm
假定算法隨機選擇6 號作為初始聚類中心,那么數(shù)據(jù)集中每一個樣本到初始聚類中心的距離D(x)及被選為下一個聚類中心的概率P(x)如表3 所示。
表3 第2 個聚類中心的計算Table 3 Calculation of the second clustering center
表3 中S表示P(x)的累加值,S被用于通過輪盤法選擇出下一個聚類中心。輪盤法的具體執(zhí)行過程包括:隨機產(chǎn)生一個[0,1]內(nèi)的隨機數(shù),根據(jù)S的不同取值把[0,1]劃分為若干個小區(qū)間,判斷該隨機數(shù)所處的具體區(qū)間,該區(qū)間所對應(yīng)的元素即被選作下一個聚類中心。在本例中,區(qū)間被劃分為[0,0.2),[0.2,0.525),···,[0.975,1],如果產(chǎn)生的隨機數(shù)為0.3,那么該隨機數(shù)落入[0.2,0.525)區(qū)間,據(jù)此2 號被選作下一個聚類中心。根據(jù)S的取值可以發(fā)現(xiàn),第2 個初始聚類中心為1 號、2 號、3 號、4 號之一的概率為0.9,這4 個點恰為距離第一個初始聚類中心較遠(yuǎn)的點,這也驗證了K-means++算法的思想,即距離已有聚類中心更遠(yuǎn)的點有更高的概率被選作下一個聚類中心。使用輪盤法重復(fù)以上步驟,生成所需的全部k個初始聚類中心。
K-means++算法解決了這個問題,即便考試難度存在一定的差異,也能從考試數(shù)據(jù)中挖掘出不同類型的學(xué)生。由于K-means++算法要求輸入目標(biāo)聚類個數(shù),結(jié)合傳統(tǒng)成績判定方法,在避免產(chǎn)生無用聚類結(jié)果的基礎(chǔ)上,將目標(biāo)聚類個數(shù)設(shè)置為4,即k=4。Kmeans++算法對離散數(shù)學(xué)課程進(jìn)行聚類,得到的最終聚類中心結(jié)果如表4 所示。
由表4 可以看出,第1 類學(xué)生考試成績和平時成績表現(xiàn)都很出色;第2 類學(xué)生考試成績表現(xiàn)良好,但平時的表現(xiàn)較為普通;第3 類學(xué)生考試成績表現(xiàn)良好,但平時表現(xiàn)尤為糟糕;第4 類學(xué)生考試成績和平時成績在及格線附近徘徊,表現(xiàn)欠佳。
表4 離散數(shù)學(xué)課程最終聚類中心Table 4 Final clustering center ofdiscrete mathematics
分析以上聚類結(jié)果,可以發(fā)現(xiàn)本課程各類學(xué)生的學(xué)習(xí)特點,從而得到有助于教師提高教學(xué)質(zhì)量的結(jié)論:
(1)第1 類學(xué)生熟練掌握課程知識,平時表現(xiàn)優(yōu)異,最終取得了非常理想的成績。
(2)第2 類學(xué)生與第1 類學(xué)生相比,對課程的掌握程度相差不大,但平時成績表現(xiàn)一般,可能是由于存在一定程度的缺勤、未交作業(yè)或?qū)嶒炌瓿尚Ч患训惹闆r,這些學(xué)生需要在平時的課程學(xué)習(xí)中加強自律性,提高對自己的要求。
(3)第3 類學(xué)生考試成績表現(xiàn)良好,但平時成績非常糟糕,其原因可能是考前通過高強度復(fù)習(xí)所以取得了不錯的成績,但平時可能存在比較嚴(yán)重的曠課、不交作業(yè)、不完成實驗等情況,造成總成績遠(yuǎn)低于考試成績。
(4)第4 類學(xué)生考試成績和平時成績均表現(xiàn)較差,對課程知識的掌握程度較低,這可能是由于平時沒有認(rèn)真學(xué)習(xí)課程內(nèi)容或是學(xué)生學(xué)習(xí)能力較差所導(dǎo)致。
綜上所述,教師在教授課程時需要重點關(guān)注第3 類、第4 類學(xué)生的平時表現(xiàn),他們?nèi)菀状嬖趯W(xué)習(xí)態(tài)度不端正的情況。第4 類學(xué)生中可能存在部分學(xué)生學(xué)習(xí)能力較差,這一部分學(xué)生需要在平時的課程中鼓勵其多向教師和同學(xué)提問,以盡快理解不懂的知識點,同時勤能補拙,這一部分學(xué)生平時的學(xué)習(xí)過程中需要多花一些時間。
此外,通過對上述關(guān)聯(lián)規(guī)則的分析,可以進(jìn)一步總結(jié)出有助于管理人員決策的結(jié)論:
(1)在新生和大二學(xué)生的培訓(xùn)課程中安排大學(xué)英語、匯編語言、線性代數(shù)、概率論和數(shù)字邏輯更為合理,這可以幫助學(xué)生為后續(xù)課程的專業(yè)知識打下堅實的基礎(chǔ)。
(2)由于微機原理、計算機英語和計算機操作系統(tǒng)的課程內(nèi)容比較全面,因此對于一些學(xué)習(xí)能力較差的學(xué)生來說是困難的。 因此,這些課程更適合大三學(xué)生。
各大高校在長期的教學(xué)活動中積累了海量的教學(xué)數(shù)據(jù),如何從這些數(shù)據(jù)中發(fā)現(xiàn)有用的結(jié)論具有十分重要的現(xiàn)實意義。隨著計算機技術(shù)的不斷發(fā)展,可以通過數(shù)據(jù)挖掘技術(shù)幫助教師發(fā)現(xiàn)教學(xué)中可能存在的問題,從而及時改進(jìn)教學(xué)方式,進(jìn)一步提高課程教學(xué)質(zhì)量,培養(yǎng)高質(zhì)量人才,推動高校向更高水平發(fā)展。本文首先對課程評價系統(tǒng)的需求進(jìn)行分析,系統(tǒng)主要功能包括:數(shù)據(jù)采集、報表生成與下載、數(shù)據(jù)分析與決策支持功能;然后完成了課程評價系統(tǒng)的總體架構(gòu)設(shè)計和數(shù)據(jù)庫設(shè)計,并基于Python 語言進(jìn)行了系統(tǒng)實現(xiàn);最后對課程成績數(shù)據(jù)使用FPgrowth 算法進(jìn)行關(guān)聯(lián)規(guī)則分析,使用K-means++算法進(jìn)行聚類分析,得到了有助于提高教學(xué)質(zhì)量的決策支持依據(jù),為教師及專業(yè)責(zé)任教授提供了持續(xù)改進(jìn)的參考依據(jù),為學(xué)生提供更精細(xì)化和個性化服務(wù),有效提高學(xué)生成績。