張 巖, 羅 旭
(沈陽師范大學(xué) 計算機與數(shù)學(xué)基礎(chǔ)教學(xué)部, 沈陽 110034)
在科技與智能的時代,計算思維成為人們工作必須具有的一種思維方式,也是必須具有的解決問題的基本能力,成為形成創(chuàng)造和創(chuàng)新能力的根本素質(zhì)。計算思維教育成為各個國家及其重視的內(nèi)容,各項政策措施強力推動其積極健康的發(fā)展,計算思維教育從高等教育的人才培養(yǎng)內(nèi)容已然向基礎(chǔ)教育深入,形成了基礎(chǔ)教育的重要內(nèi)容[1]。計算思維與數(shù)學(xué)思維有相似的特點,可以分為初等、中等和高等多個層次。高等教育的計算思維教育和基礎(chǔ)思維的基礎(chǔ)教育在內(nèi)容框架和實踐應(yīng)用等方面的要求是完全不同,是高等教育的人才培養(yǎng)的重要方面。所以,高等教育的計算思維教育的定位和目標(biāo)應(yīng)該在理論和實踐探索中進一步明確,以適合大學(xué)生的認知水平和能力,培養(yǎng)具有高水平創(chuàng)造和創(chuàng)新能力的人才[2]。MOOC的全面建設(shè)和推廣變革了教育教學(xué)的手段和模式,學(xué)習(xí)者成為學(xué)習(xí)的主體。MOOC計算思維作為一門培養(yǎng)人才核心素質(zhì)的重要課程,具有廣泛推廣的實際意義,評價該課程的社會效益和影響可以有力促進課程建設(shè)更加關(guān)注和重視學(xué)習(xí)者的反響和忠誠度。深化教育評價體系改革,建立科學(xué)合理的教育評價體系,突出教育教學(xué)業(yè)績評價,落實人才培養(yǎng)這一中心任務(wù),構(gòu)建多元合理的教育評價體系,是2019年全國教育大會重要精神[3]。本文依據(jù)中國大學(xué)MOOC平臺計算思維相關(guān)課程的修讀學(xué)生規(guī)模數(shù)據(jù),并結(jié)合遼寧省級精品資源共享課《計算文化與計算思維》的建設(shè),利用馬爾科夫模型,以課程規(guī)模發(fā)展預(yù)測為方法,針對大學(xué)MOOC計算思維課程進行評價,旨在促進MOOC計算思維課程從量的擴張轉(zhuǎn)到質(zhì)的提升。
馬爾科夫鏈模型是一種動態(tài)隨機數(shù)學(xué)模型,它通過分析隨機變量現(xiàn)時的運動情況來預(yù)測這些變量未來的運動情況。設(shè)考察對象為一個系統(tǒng),若該系統(tǒng)在某一時刻可能出現(xiàn)的事件集合為{S1,S2,…,Sj,…,Sn},S1,S2,…,Sj,…,En兩兩互斥,則稱Ei為狀態(tài),i=1,2,…,n。該系統(tǒng)從一種狀態(tài)Ei變化為另一種狀態(tài)Ej的過程稱為狀態(tài)轉(zhuǎn)移,整個系統(tǒng)不斷實現(xiàn)狀態(tài)轉(zhuǎn)移的過程稱為馬爾科夫過程[4]。
當(dāng)馬爾科夫過程具有以下2個性質(zhì)時,稱馬爾科夫過程為馬爾科夫鏈:
1) 無效性。即系統(tǒng)的第n次轉(zhuǎn)換結(jié)果出現(xiàn)的狀態(tài),只與第(n-1)次時的狀態(tài)有關(guān),而與它之前的狀態(tài)無關(guān);
2) 穩(wěn)定性。該過程經(jīng)過多次轉(zhuǎn)換后逐步趨于穩(wěn)定狀態(tài),與初始狀態(tài)無關(guān)。
系統(tǒng)由狀態(tài)Ei經(jīng)過一次轉(zhuǎn)移到狀態(tài)Ej的概率記為Pij,稱矩陣P為一次轉(zhuǎn)移矩陣。稱P(k)為k次轉(zhuǎn)移矩陣。
狀態(tài)轉(zhuǎn)移矩陣必為概率矩陣,即滿足
1) 矩陣中每個元素Pij均為非負,即Pij≥0,i=1,2,…,n;j=1,2,…,n;
當(dāng)經(jīng)過一段時間,狀態(tài)經(jīng)過足夠大的k次轉(zhuǎn)移后,馬爾科夫鏈趨于穩(wěn)定,此時可通過轉(zhuǎn)移概率矩陣求得系統(tǒng)的穩(wěn)定狀態(tài)[5]。
在STEAM教育框架下,科學(xué)、技術(shù)、工程、藝術(shù)和數(shù)學(xué)等教育內(nèi)涵不斷被豐富和凈化。高等教育中的計算思維課程是全面落實STEAM教育的重要課程,因此成為教育專家們研究的熱點[6]。以中國大學(xué)MOOC平臺課程開設(shè)以來歷年的注冊人數(shù)為源數(shù)據(jù),利用馬爾科夫鏈模型預(yù)測未來一年的學(xué)習(xí)規(guī)模的變化情況,以期對課程的推廣度和認可度進行評價。MOOC課程學(xué)習(xí)規(guī)模預(yù)測的馬爾科夫鏈模型如下:
定義MOOC課程學(xué)習(xí)規(guī)模預(yù)測的狀態(tài)集合。分析學(xué)習(xí)規(guī)模的狀態(tài)大致劃分為3個狀態(tài):平穩(wěn)S(Stability)、增長G(Growth)、減少R(Reduction)。很明顯,3個狀態(tài)之間是兩兩互斥的,各個狀態(tài)之間隨著時間變化而進行轉(zhuǎn)換??梢约僭O(shè)學(xué)習(xí)規(guī)模符合馬爾科夫鏈,即MOOC課程的學(xué)習(xí)規(guī)模的預(yù)測只與當(dāng)前狀態(tài)有關(guān),而與之前的若干個狀態(tài)無關(guān),狀態(tài)轉(zhuǎn)移過程逐步趨于穩(wěn)定。表1列出了2014—2018年中國大學(xué)MOOC平臺的計算思維國家精品課程的學(xué)生人數(shù)。2012年和2013年的數(shù)據(jù)為0,這里未列出。
表1 2014—2018年中國MOOC計算思維課程學(xué)生人數(shù)Table 1 Number of students in the Computing Thinking Course 2014-2018 on China MOOC
圖1 2012—2018年中國MOOC計算思維課程學(xué)生規(guī)模散點圖Fig.1 Scatter plot of student size in the Computing Thinking Course 2012—2018 on china MOOC
確定一次轉(zhuǎn)移矩陣。依據(jù)數(shù)據(jù)的散點圖變化情況,如圖1所示,計算2012—2018年學(xué)習(xí)規(guī)模的平穩(wěn)、增長和減少各個狀態(tài)的變化概率。設(shè)定變化率c=(Ni-Ni-1)/Ni,Ni為當(dāng)年學(xué)生人數(shù),Ni-1為前一年學(xué)生人數(shù)。若c∈[-0.1,0.1],定義狀態(tài)為平穩(wěn);若c>0.1,定義狀態(tài)為增加;若c<-0.1,定義狀態(tài)為減少。2012年和2013年的學(xué)習(xí)規(guī)模以0人數(shù)計,統(tǒng)計s狀態(tài)1個,g狀態(tài)2個,r狀態(tài)2個,其中s→g發(fā)生1次,g→g發(fā)生1次,g→r發(fā)生1次,r→s發(fā)生1次,r→r發(fā)生1次,則構(gòu)造學(xué)習(xí)規(guī)模一次狀態(tài)轉(zhuǎn)移概率矩陣[7]:
確定K步狀態(tài)轉(zhuǎn)移概率矩陣。選擇二次規(guī)劃法求解狀態(tài)轉(zhuǎn)移概率矩陣,依據(jù)狀態(tài)轉(zhuǎn)移概率矩陣預(yù)測中國MOOC計算思維課程的學(xué)生規(guī)模。利用預(yù)測結(jié)果數(shù)據(jù)和實際數(shù)據(jù)進行平均相對誤差檢驗,根據(jù)平均相對誤差檢驗來調(diào)整狀態(tài)轉(zhuǎn)移概率矩陣,當(dāng)誤差不滿足要求時,增大實際數(shù)據(jù)樣本,再次求解狀態(tài)轉(zhuǎn)移概率矩陣,直到求解出相對穩(wěn)定的誤差。
馬爾科夫鏈模型的最關(guān)鍵問題是求解狀態(tài)轉(zhuǎn)移概率矩陣。求解狀態(tài)轉(zhuǎn)移概率矩陣的方法有很多,主要包括統(tǒng)計法、線性方程組法和二次規(guī)劃方法。統(tǒng)計法的應(yīng)用需要以大量的樣本數(shù)據(jù)為前提,中國大學(xué)MOOC計算思維課程2014年才開始上線開放,數(shù)據(jù)樣本明顯不足,所以不適合使用統(tǒng)計法;線性方程組法不一定有解,也可能出現(xiàn)所得解不能滿足各個概率非負以及行和為1的狀態(tài)轉(zhuǎn)移概率矩陣的條件,需要重新建立假設(shè)和收集數(shù)據(jù);二次規(guī)劃法以誤差平方和最小為目標(biāo)函數(shù),能夠使預(yù)測誤差最小,同時引入狀態(tài)轉(zhuǎn)移概率矩陣的各個概率非負以及行和為1的條件,從而求得最優(yōu)解[8]。
根據(jù)最小二乘法的思想,同時將約束條件引入模型,建立一個以各個狀態(tài)下各個階段轉(zhuǎn)移過程中誤差的平方和E最小,以行和條件和非負條件為約束條件的求解馬爾科夫狀態(tài)轉(zhuǎn)移概率矩陣的優(yōu)化模型。設(shè)系統(tǒng)有n個不相容的狀態(tài){S1,S2,…,Sj,…,Sn},經(jīng)過k步轉(zhuǎn)移后,各個階段轉(zhuǎn)移過程中誤差平方和為
據(jù)此建立二次規(guī)劃模型為
根據(jù)上述的二次規(guī)劃模型,使用Matlab工具中的fmincon函數(shù)(非線性多元函數(shù)最小值)求解概率轉(zhuǎn)移矩陣p的估值,需要提供fun、p0、nonlcon這3個參數(shù)。其中p0為p的初始值。
fmincon函數(shù)原型為
[p, fval, exitflag]=fmincon(fun,p0,A,b,Aeq,beq,lb,ub,nonlcon)
其中,fun是minE,nonlcon是s.t.(subject to,約束于)。
1) 求s矩陣。根據(jù)前面的2014—2018年實際修讀規(guī)模的變化情況,可以得出:
S(0)=[0,1,0]
S(1)=[0,1,0]
S(2)=[0,0,1]
S(3)=[0,0,1]
S(4)=[1,0,0]
2) 求fun。代碼如下[9]:
functionf= fun(p)
s=[0 1 0;0 0 1;0 0 1;1 0 0];
f=0;
forj=1∶3
fork=1∶4
h=0;
s0= [0 1 0];
fori=1∶3
ifk==1
h=h+s0(i)*p(i,j);
else
h=h+s(k-1,i)*p(i,j);
end
end
h=s(k,j)-h;
f=f+h*h;
end
end
end
3) 求nonlcon。該函數(shù)輸入p,返回c和ceq。其中,c是不等式約束向量表達式,必須轉(zhuǎn)換為c≤0的形式,即c中每個元素都必須小于等于0;ceq是等式約束向量表達式,必須轉(zhuǎn)換為ceq=0的形式,即ceq中每個元素都必須等于0。代碼如下:
function [c,ceq] = nonlcon (p)
c=[];
ceq=[];
fori=1∶3
ceq=[ceqp(i,1)+p(i,2)+p(i,3)-1];
c= [c-p(i,:)];
end
end
4) 求p的估值。調(diào)用[p,fval,exitflag]=fmincon(′fun′,p0,[],[],[],[],[],[],′nonlcon′)函數(shù),得出p的估值。
表2 2015—2018年中國MOOC計算思維課程學(xué)生規(guī)模預(yù)測數(shù)據(jù)與實際數(shù)據(jù)對比
利用現(xiàn)有的實際數(shù)據(jù)對前面建立的馬爾科夫鏈模型進行檢驗。馬爾科夫鏈應(yīng)具有無后效性,即系統(tǒng)的第n次出現(xiàn)的狀態(tài)只與第n-1次時系統(tǒng)的狀態(tài)有關(guān)。這里以2014年的數(shù)據(jù)為初始狀態(tài),即s0=[0,1,0],通過下面公式計算各個年的中國大學(xué)MOOC計算思維學(xué)習(xí)規(guī)模的預(yù)測值,結(jié)果如表2所示。
經(jīng)過對預(yù)測模型的檢驗,考慮數(shù)據(jù)樣本較少的實際條件,在不考慮預(yù)測實際修讀的人數(shù)情況下,可以認為該模型能夠預(yù)測中國大學(xué)MOOC計算思維的修讀人數(shù)規(guī)模的變化趨勢,具有一定的參考價值。依據(jù)該模型預(yù)測2019年春秋兩季的全年修讀人數(shù)的平穩(wěn)S、增長G和減少R的概率為(0.187 5,0.406 3,0.406 3),說明修讀人數(shù)不會明顯增長,也存在減少的可能性。
計算學(xué)科是一門獨立的學(xué)科,其具有促進其他學(xué)科發(fā)展的作用。計算思維作為為其他學(xué)科培養(yǎng)計算思想、方法和技術(shù)的基礎(chǔ)課程在高等教育中地位越來越重要[10]。通過對學(xué)習(xí)規(guī)模的預(yù)測,表明學(xué)生對計算思維課程的修讀興趣沒有出現(xiàn)明顯的提高,甚至有減弱的可能。這與計算科學(xué)的重要性不相適應(yīng)。美國大學(xué)計算機基礎(chǔ)教育也曾出現(xiàn)相同的現(xiàn)象,為了強調(diào)大學(xué)計算機基礎(chǔ)教育的目標(biāo)和定位,2007年美國科學(xué)基金委啟動了“大學(xué)計算教育振興的途徑”計劃,2009年啟動了以計算思維為核心的課程改革[11]。除了美國之外,英國、德國、澳大利亞等國家也紛紛進行基于計算思維的教育改革,國外學(xué)者也從國際視野和文化語境的角度考察、比較和探討了具有代表性的計算思維教育的政策舉措[12]。中國科學(xué)院信息領(lǐng)域戰(zhàn)略研究組撰寫的《中國至2025年信息科技發(fā)展路線圖》指出:長期以來,計算機科學(xué)與技術(shù)這門學(xué)科被構(gòu)造成一門專業(yè)性很強的工具學(xué)科?!肮ぞ摺币馕吨且环N輔助性學(xué)科,這種狹隘的認知對信息技術(shù)的全民普及極其有害。針對這個問題,報告認為計算思維的培育是克服“狹義工具論”的有效途徑,是解決其他信息科技難題的基礎(chǔ)[13]。本文對上線的中國大學(xué)MOOC計算思維課程教學(xué)內(nèi)容和實踐內(nèi)容的共同部分來看,不同的課程團隊對計算學(xué)科的基礎(chǔ)概念抽取也不盡相同[14],應(yīng)該在后續(xù)的研究中繼續(xù)追蹤業(yè)界學(xué)者的研究,進而促進高等教育者對計算思維課程的重視,逐漸形成計算思維課程教育的目標(biāo)、定位、內(nèi)容、任務(wù)等的觀念共識,實現(xiàn)跨地區(qū)跨機構(gòu)跨單位的計算思維教育的落地實踐合作[15]。