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