













摘 "要 "通過收集RoboMise這一自適應編程學習系統中學生的行為數據,應用統計分析方法進行學習行為分析;基于學習行為數據,利用機器學習方法,對學生解決任務的結果進行預測。研究結果表明:可以根據學習行為對學習結果作出預測,隨機森林算法的綜合預測效果最優。
關鍵詞 "編程;學習行為;RoboMise;數據挖掘;自適應學習系統
中圖分類號:G633.67 " "文獻標識碼:B
文章編號:1671-489X(2022)14-0053-07
Behavior Analysis and Result Prediction of Students in Programming Learning//WEI Guoxia, JIANG Bo
Abstract "This study collects the behavior data generated by
students in RoboMise, an adaptive learning system for intro-
ductory programming and use statistical analysis methods to
analyze learning behavior. Further, based on the learning be-havior data, the results of students’ task solving are predicted by using machine learning. The results show that the learning results can be predicted according to the learning behavior, and the comprehensive prediction effect of random forest al-gorithm is the best.
Key words "programming; learning behavior; RoboMise; data
mining; adaptive learning system
0 "引言
隨著人類使用信息技術方式的變化,在線教育越來越普及,智能教學系統(Intelligent Tuto-ring Systems,ITS)可以通過部署新的教學策略來
利用這些轉變。例如:利用網絡作為學習者的信息源,利用社交媒體在學習者之間進行互動,部署推薦系統技術,為面臨困境的學習者查找合適的信息或合適的幫助者。海量、實時和細粒度的數據可以從這個新空間的用戶交互中獲取,新的數據挖掘和統計算法可以通過分析這些交互數據來理解學習者的表現[1]。基于網絡平臺的教育大數據為個性化學習的發展提供重要支持,網絡學習環境下,自適應學習系統能夠根據學習者的學習背景、學習風格、學習動機和認知水平等提供個性化學習支持,如個性化的學習路徑和學習資源等。開放學習作為在線學習的一種形式,讓任何有興趣的人都可以從互聯網上免費獲得學習資源,如通過MOOC獲取學習資源[2]。為學習者提供適合其喜好和學習方式的學習資料與活動,能讓學習者更加輕松地學習[3]。
編程是信息時代的基本技能,也是學習者個性化學習的一大需求。目前已經存在很多入門編程的教學,如數百萬學生使用的Hour of Code,這種教學結合幾種支持學習和培養動機的策略,但它不是個性化的,每個人的任務相同。而自適應編程學習系統通過人工智能技術適應學生需求,基于塊的游戲化模式能夠激發學生的內在動機,難度適宜的進階式任務能使學生進入心流狀態,通過適應學生技能,創造最佳學習體驗,同時培養他們進一步學習編程的動機,從而幫助學生有效學習編程知識。
本文基于大數據視角,通過對RoboMise這一自適應入門編程學習系統中學習行為數據的挖掘,通過對學生學習行為進行特征分析,比較不同分類算法的預測效果,提出學生編程任務完成情況預測模型,并討論其課堂應用實際情況。
1 "相關研究
數據挖掘技術現已被廣泛用于學生成績預測研究中,通過提供不同機制來分析數據,幫助研究者發現學生行為和學習結果之間的新趨勢與關系。教育數據挖掘技術針對各類不同教育環境中的數據進行數據融合,挖掘數據內蘊藏的行為規律,可以幫助教師更好地了解學生,也可以幫助學生更加了解自己[4]。利用教育數據挖掘技術進行學習分析,有助于更好地理解學生的行為和促成學生行為的隱性信息,這些信息可用于課程、教學工具和教學方法的改進[2]。隨著在線學習系統的使用,對學生學習行為數據的獲取和分析出現顯著增長,數據收集和分析從主觀、經驗導向為主轉向數據驅動為主,這種轉變對于挖掘學生學習行為規律、預測學生學習結果有很大幫助。在使用數據挖掘技術預測學生成績的研究中,Ramesh等[5]在對計算機科學系的學生期末就業表現進行預測時,收集他們的各科成績、實驗成績和其他實習數據,對多層感知器、樸素貝葉斯、SMO、J48和REPTree等分類器的預測進行比較分析,并基于這些算法的準確性進行對比分析,對學生就業情況進行預測。Romero等[6]使用數據挖掘技術對在線課程管理系統中的學生數據進行收集和分析,使用聚類技術對學生進行群體劃分,從而對學生進行分類,提倡根據學生所屬分類進行個性化教學。
隨著人工智能與教育的深度融合,在線學習不斷變革和創新,自適應學習系統的出現解決了傳統的網絡教學中所有學生使用相同課件的問題,通過系統與學生的交互來適應學生的個性化需求[7]。自適應學習系統可以適應學生的技能、偏好的學習方式、情緒(如挫折和無聊等)、需求、動機和元認知[8]。美國普渡大學開發課程信號系統,根據學生成績、學術史、努力程度等預測學生表現,為學生提供有針對性的學習建議與反饋[9]。對于學生學習成績的預測,除了基于平時測驗和其他科目的學習結果外,也可以根據學習行為日志數據組成學習行為特征,從而對學生表現進行預測。Amerieh等[10]
通過對學生學習論壇中發言次數、訪問資源次數、閱讀材料時間等學習行為數據的收集,組成學習行為特征,對學生表現進行預測。王雪宇等[11]針對MOOC中高輟課率問題,抽取課程因素、學習者因素和他人因素三類行為數據,建立輟課預測模型,對學習者輟課情況進行預測并探討輟課后的推送和干預機制。許煒等[12]提出使用學習管理系統(Learning Management System,LMS)基于學生課堂學習行為分析的考試成績預測方法,對預測變量進行不同組合,對比不同分類器的各項指數,對學生成績進行預測。
通過數據挖掘技術和自適應學習系統對在線學習過程的實時采集與分析,能夠為學生提供個性化的課程服務,對于學生學習和改進教學方式有很大促進作用。
2 "研究內容
2.1 "數據來源與系統介紹
本研究的數據來源于RoboMise這一自適應編程學習系統。RoboMise是學習入門編程的系統,這個系統在一個開源項目中。該系統包含85個任務,涵蓋命令序列、循環和條件等概念。任務按難度排序,共九個難度等級,每個等級有三個子等級,每個子等級中任務難度相同。九個難度等級編程任務涉及的編程內容和操作如表1所示。
學生在完成每個任務后,系統會根據其完成任務的過程和結果推薦下一個任務,推薦的任務是從尚未掌握的第一個子等級中隨機選擇的。所有目標的任務都是創建一個程序去引導一個宇宙飛船穿梭于格子中收集鉆石并到達最后一排,任務的多樣性是通過各種游戲元素實現的,如系統中有小行星和蟲洞。學生使用基于塊的編程環境構建程序,并且可以隨時執行代碼以查看在游戲世界中的進度。圖1為RoboMise系統等級列表,圖2為level 6中任務“on yellow to left”的界面。
本研究數據集選取自系統的task_sessions數據集,數據集記錄的是5 800名高中生用戶在四個月內(2017年11月10日至2018年3月9日)的學習行為數據,記錄每個學生的編號(student)、所做任務編號(task)、每個任務開始和結束的時間點(start,end)、解決問題的結果(solved)、花費時間(time_spent)、編輯次數(edits)、運行次數(executions)以及編程結果代碼的文本表示(program)。這5 800名用戶每人至少接收一個任務,總計嘗試約11 000個任務,產生任務難度等級、編輯次數、運行次數、時間、始末時間點、解決問題結果、最終編程代碼等85 416條學習行為數據,各項數據說明如表2所示。
2.2 "研究方法和問題
本研究采用統計分析和機器學習方法對學生學習行為進行分析與預測。首先對數據進行預處理,剔除編輯次數和執行次數為0的數據,根據始末時間點剔除時間跨度過大的數據,減少干擾數據和極值對預測效果的影響,以便更加準確地預測任務解決結果;然后進行特征篩選和提取,以預處理完的初始數據為基礎,分析各特征與解決任務結果之間的相關性,篩選相關行為作為特征變量,對解決任務的結果進行預測;最后選擇合適的分類器,通過對比KNN分類算法、決策樹分類算法和Logistic回歸算法的各項指標評分,衡量預測模型的性能,從而選擇最優模型。
因此,本研究關注的三個主要問題如下:
問題1:學生解決圖形化編程任務的總體學習行為特征如何?
問題2:各學習行為之間存在何種關系?
問題3:能否根據學習行為對其解決編程任務的結果進行預測?是否可以根據預測結果對系統應用提出改進方案?
2.3 "數據預處理與分析
2.3.1 "數據預處理 "由于編程任務是在網上自主完成,沒有監督者和時間限制,因此,很多數據并不能真正代表學生的學習行為,要對數據進行篩查。所有任務都需要拖動代碼塊來進行操作,而每次拖動代碼塊都會產生編輯次數,因此需要剔除編輯次數為0的469條數據;所有任務都需要點擊運行后才會給出評分并出現下一任務的推薦,而不運行系統是無法做出適應性推薦的,因此需要剔除運行次數為0的1 324條數據;由于系統網頁只要不關閉就會一直計時,任務期間學生很有可能投身其他活動,因此需要剔除花費時間過長的數據;由于每個等級的任務難度不同,完成任務需要的時間有較大差別,因此需要根據任務等級剔除花費時間過長的數據。
利用箱圖做頻數分析可直觀了解各等級任務花費時間的離散程度和異常值。如圖3所示,隨著等級的上升,任務花費時間會增多,異常值的數值也會增大。各難度等級任務花費時間莖葉圖結果統計如表3所示。根據表3統計結果,剔除共9 068條花費時間異常的數據。
經過以上預處理后,共計74 555條學生學習行為數據,本研究將對該74 555條數據做學習行為分析和預測。
2.3.2 "特征提取和分析 "本研究想通過學生的學習行為數據預測學生解決任務的結果,task_sessions數據集中記錄的九項數據中,任務難度等級、花費時間、編輯次數和運行次數四項數值數據可以作為特征變量。采用皮爾森相關性分析,分別對編輯次數、運行次數、花費時間和解決任務的結果進行相關性分析,對解決任務的結果進行預測。
2.4 "分類器選擇
經過特征選擇后,本研究將對比常用的五種機器學習分類算法對預測結果進行對比分析,具體包括K近鄰、決策樹、邏輯回歸和隨機森林,預測流程如圖4所示。
3 "結果分析
3.1 "學習行為數據統計分析
統計發現,在5 800名學生中,共5 454名學生產生有效數據,共計74 555條,包含編輯次數、運行次數、花費時間、任務難度等級、解決任務的結果。其中,已解決任務68 048個,占比91.3%;未解決任務6 507個,占比8.7%。未解決任務數遠小于已解決任務數是自適應學習系統的特性,只要任務還能完成就會繼續下去,直到任務無法解決,而不會有跳過和自主選擇。表4統計了學生編輯次數、運行次數、花費時間等學習行為數據的頻次,圖5為各行為數據頻率圖。結果表明:學生編輯次數最小為1,最大為243,平均編輯次數為10.32,中位數為7,99.5%的任務編輯次數在60次以內;運行程序次數最小為1,最大為58,平均運行次數2.7,中位數為2,99.5%的任務運行次數在17次以內;花費時間最少為1秒,最多為1 380秒(約23分鐘),平均花費時間為81.59秒(約1.4分鐘),中位數為51,99.5%的任務花費時間在623秒(約10.4分鐘)內。
由表4和圖5可知,編輯次數、運行次數和花費時間這三個屬性呈右偏分布,即眾數小于均值。也就是說,少部分任務完成所需時間較長,需要更多嘗試,絕大部分任務都可在短時間內順利完成。
圖6是level—level峰圖,由圖6可知,隨著難度等級的上升,嘗試任務的人數減少,且其中未能解決任務(solved=0)的人數比例上升。
圖7是各難度等級編輯次數和運行次數箱線圖,可以看出,隨著難度等級的上升,學生編輯次數和運行次數的范圍變大(level 8除外),編輯次數的下四分位數基本呈上升趨勢,運行次數的下四分位數變化不大。也就是說,隨著難度等級上升,完成編程任務的步驟增多,編輯次數的最小值也隨之增大,但運行次數的最小值變化不大。這說明部分學生在做任務時選擇不分步操作,而是在腦海內進行步驟演示,但也有學生選擇在編輯一定次數后點擊運行按鈕,根據系統演示的步驟決定下一步的操作結果。Level 8編輯次數和運行次數相對于level 5、level 6和level 7都較小,是因為level 8的編程任務中if-else的分支結構包含level 5~7中的循環、if條件和比較,是對level 5~8中技能的組合運用。因此,在解決了level 5~7的任務之后,學生在解決level 8的任務時嘗試次數和花費時間都會減少。
3.2 "學習行為相關分析
本研究中學習行為數據為連續變量,雖然數據呈偏態分布,但由于樣本量較大,按照中心極限定理,也可認為是正態分布,故采用皮爾遜相關分析,對編輯次數、運行次數、花費時間、任務難度和解決任務的結果之間的關系進行分析。
如表5所示,在RoboMise數據集中,任務難度等級與編輯次數(r=.441,P<0.01)、運行次數(r=.273,P<0.01)和花費時間(r=.496,P<0.01)均顯著正相關,即隨著任務難度升高,學生解決問題需要編輯代碼塊的次數、運行代碼塊的次數和花費的時間都會增加,這說明該系統任務的難度劃分較合理。編輯次數、運行次數和花費時間兩兩之間存在顯著正相關,即學生解決任務花費的時間隨著編輯次數或運行次數的增加而增加,且學生運行程序的次數隨著編輯次數的增加而增加。也就是說,隨著任務難度等級上升,完成任務所需步驟增加,學生需要在編輯中不斷點擊運行按鈕以了解當前操作的進度進行驗證。學生解決問題的結果與編輯次數(r=-.217,P<0.01)、運行次數(r=-.201,P<0.01)、花費時間(r=-.261,P<0.01)均顯著負相關,即花費更多時間、嘗試更多次數的任務正確率更低。也就是說,任務難度達到一定程度時,不斷提高嘗試次數和花費更多時間對于解決任務的幫助并不大。
3.3 "學習結果預測和分析
根據表5學習行為與解決任務結果的相關分析結果可知,編輯次數(r=-.217,P<0.01)、運行次數(r=-.201,P<0.01)、花費時間(r=-.261,P<0.01)、任務難度等級(r=-.310,P<0.01)與解決任務的結果都顯著負相關。將根據學生學習行為數據預測其解決任務結果這一問題抽象成分類問題,考慮到特征之間有顯著相關,故采用常用的四種機器學習分類算法對學生解決任務結果進行預測。四種預測算法的評分如表6所示。
由表6可知,Logistic回歸算法的準確率(Accuracy)最高,為0.914;隨機森林和KNN次之,分別為0.905和0.903。在74 555條數據中,Lo-
gistic回歸算法預測正確的樣本所占比例最高,SVM預測正確的比例最低,僅為0.245。五種分類算法中,Logistic回歸的精確度(Precision)、召回率(Recall)和二者的調和平均數(F1 score)
也是最高的,分別為0.886、0.914和0.886。精確度表示所有預測解決任務結果為FALSE的樣例中,其解決結果確實為FALSE的比例;召回率表示在所有預測結果為FALSE的樣例中,占據總FALSE數量的比例;F1 score為二者的調和平均,用來衡量分類器的綜合性能。除Logistic回歸算法之外,隨機森林的各項指標分數較高,建立混淆矩陣進行比較。圖8為二者混淆矩陣圖。
由圖8可知,TP隨機森林=1 111,TPLogistic回歸=665
(TP表示真陽性,True Positive),即在6 507個
解決任務結果為FALSE的樣本中,隨機森林預測為FALSE的有1 111個,比例達17.1%;而Logistic回歸算法預測的僅為665個,所占比例為10.2%。考慮到本研究側重于關注解決任務結果為FALSE的學生,分析其行為特征,因此,綜合分類器的各項評分指標和混淆矩陣結果,選取隨機森林分類器進行預測。
隨機森林分類器對于解決任務結果的預測準確率達0.905,可以預測90.5%的樣本;精確度為0.877,召回率為0.905,二者的調和平均數F1 score為0.886。這表明對于解決任務結果為FALSE的任務的捕獲率和正確率都較高。
4 "結論與討論
4.1 "結論
本研究提出一種基于自適應編程學習平臺的學習行為分析方法,將知識領域分解為解決問題的能力,將學生解決問題的表現表征為其知識水平,據此分析學生學習行為數據的統計結果和相關性,提出基于學習特征的結果預測方法。
問題一和問題二對學生在線解決編程問題中的嘗試次數和花費時間進行統計分析,發現隨著編程任務難度的上升,部分學生對于準確度仍有較高把握,運行1~2次即可解決任務,但也有很多學生需要嘗試很多次才能完成。這對于系統的提示和幫助提出要求,也是對教師發出的需要在此提供“腳手架”的信號。在需要技能組合的任務中(如level 8),若學生未能解決任務,可以追溯學生是基本技能沒掌握,還是缺乏將基本技能組合應用的經驗;若是成功,則可以確定學生對組合技能中的每一項已掌握,甚至會追溯到更多的知識,而不只是對應知識的簡單相加[13]。
問題三通過對嘗試次數、花費時間和任務難度等級數據的分析,綜合對比五種機器學習算法的效果,發現Logistic回歸和隨機森林在預測精度方面都有較好效果,但隨機森林法對于解決結果錯誤的任務有更高預測準確性,從而能夠發現錯誤學生的行為特征,進行個性化教學。
4.2 "討論
本研究的數據集來源于非正式學習環境中學生的解決任務過程,這種不可控的環境會為評估學生表現增加一定難度。但由相關分析和預測結果可知,學生嘗試次數(包括編輯次數和運行次數)和花費時間是影響預測結果的重要特征,而運行次數反映的是解決問題的準確性,這很大程度上與學生的計算思維水平相關。
基于網絡的學習行為數據包含的信息可以幫助教師了解教學中的新趨勢,了解當前的教育質量,以及如何為學生提供更高水平的教育。基于此,合理將RoboMise自適應編程系統應用于信息技術課堂環境中,結合智能教輔系統的數據可視化,結合最近發展區理論和動機保持理論,用合適的教學策略對學生活動進行干預,對于增強教學效果具有重要意義。
參考文獻
[1] Nkambou R, Bourdeau J, Mizoguchi R. Advances in
Intelligent Tutoring Systems[M].Springer Berlin
Heidelberg,2010.
[2] Ihantola P, Vihavainen A, Butler M, et al.
Educational Data Mining and Learning Analytics
in Programming: Literature Review and Case
Studies[R]//ITICSE-WGR ′15: Proceedings of the
2015 ITiCSE on Working Group Reports.2015.
[3] Graf S, Kinshuk, Liu TC. Supporting teachers in
identifying students’ learning styles in lear-
ning management systems: An automatic student
modelling approach[J].Journal of Educational
Technology amp; Society,2009,12(4):3-14.
[4] 袁亞興.一種基于分類算法的在線學習成績預測策略
[J].廣播電視大學學報(哲學社會科學版),2019(2):
93-97,127.
[5] Ramesh V, Parkavi P, Yasodha P. Performance
analysis of datamining techniques for placement
chance prediction[J].International Journal of
Scientific amp; Engineering Research,2011,2(8):1-6.
[6] Romero C, Ventura S, García E. Data mining in
course management systems: Moodle case study
and tutorial[J].Computers amp; Education,2008,
51(1):368-384.
[7] 姜強,趙蔚.自適應學習系統述評及其優化機制研究
[J].現代遠距離教育,2011(6):57-63.
[8] Nkambou R, Mizoguchi R, Bourdeau J. Advances
in intelligent tutoring systems[M].Berlin:
Springer Heidelberg,2010.
[9] Arnold KE, Pistilli MD. Course signals at Purdue:
Using learning analytics to increase student
success[R]//Proceedings of the 2nd international
conference on learning analytics and knowledge,
2012:267-270.
[10] Amrieh EA, Hamtini T, Aljarah I. Mining Edu-
cational Data to Predict Student’s academic
Performance using Ensemble Methods[J].Inter-
national Journal of Database Theory and Appli-
cation,2016,9(8):119-136.
[11] 王雪宇, 鄒剛,李驍.基于MOOC數據的學習者輟課
預測研究[J].現代教育技術,2017,27(6):94-100.
[12] 許煒,劉文同,詹曉慶,等.基于大學課堂學習行為
的成績預測方法研究[J].現代教育技術,2021,
31(6):104-111.
[13] Yun H, Guerra-Hollstein JD, Brusilovsky P. A
Data-Driven Framework of Modeling Skill Com-
binations for Deeper Knowledge Tracing[M]//
Proc of the 9th Int Conf on Educational Data
Mining (EDM). Worcester, MA: IEDMS,2016:593-
594.