薄鈞戈,齊 琪,吳 寧,房琛琛
(西安交通大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,陜西 西安 710049)
在“互聯(lián)網(wǎng)+教育”的背景下,信息技術(shù)與教學(xué)的深度融合,積極建設(shè)線上、線下以及線上線下“金課”已成為高校教學(xué)改革的主要方向[1-2]。增強老師與學(xué)生、學(xué)生與學(xué)生以及學(xué)生與課程資源之間的便捷交互是“線上線下混合式教學(xué)”的主要特點,同時注重“以學(xué)生為中心”,為教學(xué)整個環(huán)節(jié)提供了更加靈活的多樣性,推動教學(xué)方式的革新和教學(xué)效果的提升?;旌鲜浇虒W(xué)不僅讓學(xué)生在課堂外能夠輕松獲取更多的學(xué)習(xí)資源和信息,還可以通過在線學(xué)習(xí)的方式打破地域限制,方便學(xué)生隨時隨地參與學(xué)習(xí),提高教學(xué)的靈活性和適應(yīng)性[3-6]。教師也可以根據(jù)學(xué)生的學(xué)習(xí)情況和反饋進行精準(zhǔn)化教學(xué),使教學(xué)變得更加高效和有針對性[7-8]。
“大學(xué)計算機基礎(chǔ)”是面向非計算機專業(yè)開展的大面積計算機基礎(chǔ)課程,重點強調(diào)計算機實踐應(yīng)用能力的培養(yǎng)。課程主要內(nèi)容有計算機基礎(chǔ)、算法設(shè)計和數(shù)據(jù)分析三大知識模塊,幫助同學(xué)們理解計算機基本原理,編寫簡單C語言程序,并初步建立算法思想,為編寫高質(zhì)量程序奠定基礎(chǔ)。在課程設(shè)計以及實施過程中課程組充分利用線上“金課”優(yōu)質(zhì)資源,采取線上線下混合式教學(xué),通過SPOC平臺,發(fā)布課程學(xué)習(xí)的相關(guān)說明及文件,讓學(xué)生確定學(xué)習(xí)目標(biāo)、任務(wù)安排及考核標(biāo)準(zhǔn)。在大學(xué)計算機課程實際的混合式教學(xué)過程中,發(fā)現(xiàn)了以下問題。
(1)混合式教學(xué)中線上學(xué)習(xí)環(huán)節(jié)缺乏學(xué)習(xí)跟蹤反饋和個性化引導(dǎo),導(dǎo)致在線學(xué)習(xí)質(zhì)量難以保證[3]。
(2)大學(xué)計算機課程中的實驗作業(yè)以編程題為主,當(dāng)前大多數(shù)OJ系統(tǒng)對學(xué)生在編程實驗過程中錯誤缺乏及時、有效的指導(dǎo),如學(xué)生往往只是因為代碼中輸出的大小寫不匹配、缺失標(biāo)點符號、有無空格等簡單問題而花費大量時間進行調(diào)試[9]。
(3)傳統(tǒng)實驗教學(xué)瑣碎、復(fù)雜的答疑和統(tǒng)計工作,占用了教師大量時間。
為了解決以上問題,同時支撐“MOOC+SPOC+翻轉(zhuǎn)課堂”的混合式教學(xué)改革,研發(fā)了“計算機基礎(chǔ)課程實驗管理平臺”(下文簡稱“平臺”)?!捌脚_”主要功能如下:
(1)學(xué)習(xí)跟蹤及時反饋?;趯W(xué)生學(xué)習(xí)行為大數(shù)據(jù)分析,在給出線上和線下行為統(tǒng)計報告的基礎(chǔ)上,預(yù)測學(xué)生未來的成績等級,并給出不同的預(yù)警。
(2)編程題的在線自動即時評測。幫助學(xué)生熟悉上機考試環(huán)境,即時評測結(jié)果,指導(dǎo)并定位可能存在的問題,教師更有針對性地指導(dǎo)編程實驗。
(3)啟發(fā)教師更多思考在線學(xué)習(xí)過程中的問題,有針對的進行教育科學(xué)研究,從而促進教學(xué)改革。
在近5年的大學(xué)計算機混合式教學(xué)中,筆者認(rèn)為一個完整的計算機基礎(chǔ)課程混合式教學(xué)需包括“教、學(xué)、練、評”四個教學(xué)活動,本“平臺”遵循了這一思路,提供了教學(xué)過程管理、在線交互式練習(xí)、編程題自動評測和智能指導(dǎo)、個性化學(xué)習(xí)狀況反饋等功能。目的在于為教學(xué)雙方提供及時有效的學(xué)習(xí)監(jiān)管和引導(dǎo)性評價,為混合教學(xué)過程管理和效果保障提供支撐,進而提高學(xué)習(xí)質(zhì)量?!捌脚_”主要應(yīng)用于計算機基礎(chǔ)課程的實驗實踐練習(xí),具有編程題在線自動技術(shù)評判以及學(xué)習(xí)跟蹤個性化反饋等特點,用到的主要技術(shù)有基于編輯距離的自適應(yīng)反饋程序評測方法、基于線上學(xué)習(xí)過程大數(shù)據(jù)實現(xiàn)教學(xué)過程的跟蹤和反饋、百度Echarts和ASP.NET MVC框架,具體的技術(shù)方案如圖1所示。
圖1 “平臺”技術(shù)方案
(1)將基于編輯距離的自適應(yīng)反饋程序評測方法應(yīng)用于“平臺”中。
該方法通過檢測學(xué)生代碼的編譯信息和測試用例信息,應(yīng)用編輯距離,自適應(yīng)給出學(xué)生代碼出錯原因并給出反饋指導(dǎo),幫助學(xué)生快速找到代碼出錯位置并有針對地進行修改[9-10]。基于編輯距離的自適應(yīng)反饋程序評測的方法已獲得一項授權(quán)專利和一項軟著?;诰庉嬀嚯x的自適應(yīng)反饋程序評測流程如圖2所示。
圖2 基于編輯距離的自適應(yīng)反饋程序評測流程
結(jié)合自適應(yīng)反饋程序評測方法的在線評測系統(tǒng),可以有效激發(fā)學(xué)生的學(xué)習(xí)熱情,通過在實踐中學(xué)習(xí)掌握正確的計算機思維和行動方法,促進程序設(shè)計類課程的教學(xué)質(zhì)量。同時,針對編譯未通過或測試用例未全通過的場景,通過對源程序編譯預(yù)處理,用詞法分析和抽象語法樹(AST)抽取多種特征,給出基于多特征相似度的模糊自動評分。
(2)基于學(xué)習(xí)過程大數(shù)據(jù)實現(xiàn)教學(xué)過程的跟蹤和反饋。
利用在線學(xué)習(xí)行為日志數(shù)據(jù),研究基于深度學(xué)習(xí)算法的學(xué)習(xí)效果預(yù)測模型,為學(xué)生個體反饋其學(xué)習(xí)趨勢、當(dāng)前學(xué)習(xí)狀況與教學(xué)要求的差異以及可能的成績等級,促進教師的教學(xué)改進,提升學(xué)生的學(xué)習(xí)積極性[11-12]。
MOOC/SPOC課程多為按周組織,具有隨時間變化的特點,存在一定的上下文關(guān)聯(lián),即學(xué)習(xí)者產(chǎn)生的行為數(shù)據(jù)可以看作是時間序列數(shù)據(jù)。需要設(shè)計擁有存儲記憶、適合于處理和預(yù)測時序問題的預(yù)測模型?;陂L短時記憶(Long Short-Term Memory,LSTM)是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的改進模型,相對于一般的RNN模型,LSTM能夠存儲更多的歷史信息,并可有效解決簡單循環(huán)神經(jīng)網(wǎng)絡(luò)的梯度爆炸或消失問題[13-15]。本平臺采用的是LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)來構(gòu)建學(xué)習(xí)效果預(yù)測模型,網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。具體的訓(xùn)練過程是將多個學(xué)習(xí)者的多周學(xué)習(xí)行為構(gòu)成的序列作為模型的輸入向量X傳輸?shù)缴窠?jīng)網(wǎng)絡(luò)中,不斷迭代計算得到隱藏層的輸出向量,再把隱藏層的輸出向量加載到輸出層,經(jīng)過輸出層激活函數(shù)計算得到最終的結(jié)果向量。讀取學(xué)習(xí)者某一周的學(xué)習(xí)行為xt和上一周的隱藏層值ht-1,輸出本周隱藏層值ht,就可以將歷史行為信息連接到當(dāng)前的學(xué)習(xí)趨勢上。從而可以利用第1周到第k周的行為數(shù)據(jù)預(yù)測第k+1周的學(xué)習(xí)狀態(tài)以及最終可能的學(xué)習(xí)成績。
圖3 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
基于LSTM的學(xué)習(xí)效果預(yù)測整體框架如圖4所示。
圖4 LSTM構(gòu)建學(xué)習(xí)效果預(yù)測模型示意圖
通過對學(xué)習(xí)者在線學(xué)習(xí)行為日志數(shù)據(jù)(MOOC/SPOC、本平臺、QQ學(xué)習(xí)群)的分析,研究基于LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果預(yù)測模型,挖掘不同學(xué)習(xí)行為模式與學(xué)生知識掌握程度的關(guān)系,挖掘影響學(xué)習(xí)效果的主要原因[3],并將相關(guān)圖表顯示到本平臺中。主要目標(biāo)有:①為教學(xué)課程組呈現(xiàn)學(xué)習(xí)者群體的實時學(xué)習(xí)趨勢變化;②為學(xué)習(xí)者個體反饋其學(xué)習(xí)趨勢、當(dāng)前學(xué)習(xí)狀況與教學(xué)要求的差異以及可能的成績等級;③促進教師的教學(xué)改進,提升學(xué)生的學(xué)習(xí)積極性。
(3)“平臺”中顯示的圖表等可視化用到了百度的開源可視化庫Echarts。
Echarts是一個使用JavaScript實現(xiàn)的開源可視化庫,可以非常輕松創(chuàng)建一些交互式圖表和地圖[16-17],具有涵蓋各行業(yè)圖表、數(shù)據(jù)自由篩選、多圖表聯(lián)動查看、多設(shè)備隨意展示等特點。同時具有靈活的配置選項和豐富的交互功能,可以滿足多種可視化需求。
(4)“平臺”采用了ASP.NET MVC框架進行開發(fā)。
ASP.NET MVC是一種用于開發(fā)Web應(yīng)用程序的框架,其過程是將MVC(Model-View-Controller,模型—視圖—控制器)模式應(yīng)用在ASP.NET框架中[18]。此框架把項目分成模型、視圖和控制器,將用戶界面(視圖)與驅(qū)動界面的代碼(控制器)保持分離,使得復(fù)雜項目更加容易維護,減少了項目之間的耦合。ASP.NET MVC也提供了一系列的工具和API,使得開發(fā)人員可以更輕松地進行數(shù)據(jù)處理、驗證和身份驗證等常見任務(wù)。
“平臺”教學(xué)過程管理主要有:教學(xué)班管理、課程內(nèi)容管理、課程資源組織管理、課程通告、上課學(xué)生管理等。
(1)角色:依據(jù)權(quán)限的不同,分為四個角色:管理員、教師、助教、學(xué)生。首先,由“管理員”創(chuàng)建教學(xué)活動,如:添加教學(xué)班、導(dǎo)入學(xué)生名單等;“教師”或“助教”登陸后可添加作業(yè)、發(fā)布教學(xué)通告、添加教學(xué)資源等;“學(xué)生”登錄后開始在線活動,如:觀看課程視頻、下載學(xué)習(xí)資料、完成在線作業(yè)、參與作業(yè)的評測與指導(dǎo)等。
(2)作業(yè)管理:教師端包括添加、發(fā)布、修改、導(dǎo)出作業(yè)等;學(xué)生端包括在線完成作業(yè)、查看作業(yè)成績、提交次數(shù)等。
(3)課程資源管理:課程知識地圖、課程知識導(dǎo)航、課程輔助學(xué)習(xí)資源。
(4)在線學(xué)習(xí)分析:以圖表、折線圖、熱力圖、詞云圖等可視化的形式顯示在線學(xué)習(xí)行為的統(tǒng)計、分析報告。
(5)系統(tǒng)維護(僅管理員):用戶維護、課程維護、教學(xué)班維護、批量處理等。
“平臺”菜單欄如圖5所示,課程知識地圖如圖6所示,管理員界面“教學(xué)班”界面如圖7所示。
圖5 “平臺”菜單欄
圖6 課程知識地圖示意圖
圖7 管理員界面“教學(xué)班”界面
在線交互式練習(xí)方面,“平臺”具有發(fā)布作業(yè)(分為單次和批量)、作業(yè)考核方式選擇、作業(yè)在線完成、自動交互式評測和編程實驗的個性化指導(dǎo)、作業(yè)成績批量導(dǎo)出等功能。
(1)可支持的作業(yè)/實驗題目類型有:單選題、多選題、填空題、判斷題、提交附件題、編程題。
(2)發(fā)布的作業(yè)/實驗(客觀題和編程題)均由系統(tǒng)自動評測。
(3)支持編程語言C、C++、C#等計算機教學(xué)常用語言。
(4)編程題編輯頁面有高亮顯示、智能提醒、代碼縮進、折疊顯示等模擬真實開發(fā)環(huán)境的功能。
(5)自動交互式評測。編程題的自動評測可根據(jù)具體教學(xué)需求有兩種選擇。一是基于測試用例的動態(tài)評測,沒有過程分,適用于平時作業(yè);二是基于靜態(tài)分析的模糊自動評測,其得分不完全依賴測試用例結(jié)果,適用于考試。
(6)自動評測。對于選擇題、填空題等客觀題,正確與否在作業(yè)截止時間后給出。對于編程題,如果編譯通過且運行正確則直接顯示評分;如果編譯錯誤,將顯示編譯具體報錯信息;如果編譯通過而測試用例錯誤,則對比學(xué)生輸出和標(biāo)準(zhǔn)輸出,提示可能會出現(xiàn)的錯誤情況,如:多余的空格、特殊字符、未考慮的邊界等。
“平臺”在線交互式練習(xí)相關(guān)功能截圖如圖8和圖9所示。
圖8 學(xué)生端給出實時指導(dǎo)(錯誤提示和解釋)
圖9 教師端查看運行錯誤用例對比詳情
(1)基于在線學(xué)習(xí)行為大數(shù)據(jù)分析,實現(xiàn)在線教學(xué)過程的跟蹤和個性化反饋。
(2)學(xué)生在線學(xué)習(xí)行為報告。顯示學(xué)生在每個教學(xué)周內(nèi)觀看視頻和班級平均觀看視頻、最高觀看視頻的對比;顯示學(xué)生在每個階段測驗成績超越班級人數(shù)的比例;顯示論壇的發(fā)帖和回帖情況。
(3)學(xué)生未來成績等級的預(yù)測結(jié)果。學(xué)生的個人成績等級(1~5表示“不及格~優(yōu)”),個人超越班級人數(shù)(百分比),并分類給出警示性語句。
(4)課程整體學(xué)習(xí)狀況(僅教師可見)。顯示挖掘出的影響課程學(xué)習(xí)效果因素:學(xué)習(xí)的及時性、規(guī)律性、總量投入性等,并根據(jù)重要性排序;不同在線學(xué)習(xí)行為的整體學(xué)習(xí)時間規(guī)律性,包括視頻觀看、論壇發(fā)帖回帖、測驗;整體單元測驗平均成績。
學(xué)生在線學(xué)習(xí)行為整體情況示意圖如圖10所示,學(xué)生測驗超越人數(shù)(比例)示意圖如圖11所示,預(yù)測學(xué)生當(dāng)前學(xué)習(xí)狀況對應(yīng)等級如圖12所示。
圖10 學(xué)生在線學(xué)習(xí)行為整體情況示意圖
圖11 學(xué)生測驗超越人數(shù)(比例)示意圖
圖12 預(yù)測學(xué)生當(dāng)前學(xué)習(xí)等級
“平臺”自2015年部署到現(xiàn)在,已經(jīng)迭代更新維護了近10個版本,有力支撐了本校低年級本科生的計算機基礎(chǔ)通識類課程的實驗教學(xué)、教學(xué)反饋等環(huán)節(jié)。基于本“平臺”申請的專利有3項(2項已授權(quán)),軟著有5項。累計已服務(wù)計算機相關(guān)課程7門,教學(xué)班241個,學(xué)生34 354人。具體數(shù)據(jù)如表1所示。
表1 “平臺”應(yīng)用情況
經(jīng)過對2門課程應(yīng)用平臺前后的學(xué)生期末考試成績的對比分析,使用了本“平臺”的混合式教學(xué),不及格率大幅下降,優(yōu)秀率明顯上升。實踐表明,早期的個性化反饋是一種有效的教學(xué)過程監(jiān)管方式,能夠督促提醒學(xué)生及時調(diào)整學(xué)習(xí)狀態(tài)、引導(dǎo)學(xué)生積極應(yīng)對課程后續(xù)的學(xué)習(xí)。同時,本“平臺”提出并應(yīng)用的自適應(yīng)反饋程序評測方法除了對本校計算機基礎(chǔ)課的實驗實踐有提升之外,還應(yīng)用到了計算機相關(guān)競賽的培訓(xùn)過程中,課程組老師指導(dǎo)的學(xué)生多次獲得“藍橋杯”全國軟件和信息技術(shù)專業(yè)人才大賽以及團體程序設(shè)計天梯賽獎項(有1/3學(xué)生為非計算機專業(yè)學(xué)生),自2019到現(xiàn)在,課程組老師指導(dǎo)的學(xué)生有連續(xù)四屆獲得天梯賽全國總決賽團隊一等獎,2022年獲得全國高校二等獎。
計算機基礎(chǔ)課程的實驗課,更多強調(diào)的是計算機實踐應(yīng)用能力的培養(yǎng)?!捌脚_”在傳統(tǒng)教學(xué)管理基本功能的基礎(chǔ)上,著眼訓(xùn)練學(xué)生計算機編程中的思維能力,以計算機知識應(yīng)用技能為中心,自動評測指導(dǎo)為手段,學(xué)習(xí)跟蹤和反饋為特色。“平臺”的在線交互式練習(xí)環(huán)境,在代碼運行錯誤時返回自動評測信息和智能指導(dǎo),啟發(fā)學(xué)生思考,提高學(xué)生快速、準(zhǔn)確查找問題,分析問題和解決問題的能力。通過引入大數(shù)據(jù)分析技術(shù)挖掘影響課程學(xué)習(xí)效果的因素,啟發(fā)教師對課程計劃、內(nèi)容進行思考和調(diào)整。預(yù)測學(xué)生最終可能的成績等級,啟發(fā)學(xué)生反思自身的學(xué)習(xí)行為。由于預(yù)測結(jié)果是隨著教學(xué)周的演進而實時變化的,從而激發(fā)了教與學(xué)雙方主動的、探索式的改革教學(xué)行為,提高教學(xué)效率和質(zhì)量。實踐表明,早期的個性化反饋是一種有效的教學(xué)過程監(jiān)管方式,能夠督促提醒學(xué)生及時調(diào)整學(xué)習(xí)狀態(tài)、引導(dǎo)學(xué)生積極應(yīng)對課程后續(xù)的學(xué)習(xí)。
下一步將繼續(xù)深入研究線上線下有效融合的混合式教學(xué)方法,嘗試引入最新的Transformer等深度學(xué)習(xí)模型,提高使用教學(xué)數(shù)據(jù)的分析能力。同時,結(jié)合多源在線學(xué)習(xí)數(shù)據(jù)為學(xué)習(xí)者制定個性化的學(xué)習(xí)方案,自適應(yīng)地提供作業(yè)和指導(dǎo),幫助學(xué)生快捷、準(zhǔn)確地獲取學(xué)習(xí)資源,持續(xù)做好以“學(xué)習(xí)者為中心”的計算機基礎(chǔ)課程混合式教學(xué)工作。