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