航天工程大學航天信息學院 李晉麗 張學波 王 琳
針對程序設計課程教學中,傳統線下面授和線上MOOC授課存在學生主動性低的情況,分析虛擬實訓平臺的功能,總結使用虛擬實訓平臺的經驗,構造基于虛擬實訓平臺的混合式課堂教學,研究虛擬實訓平臺在混合式課堂教學中發揮的優勢。本文以Python語言為例,先介紹虛擬實訓平臺的功能、用途,并結合自身教學經驗,提出結合虛擬實訓平臺的混合式課堂教學方式,分析虛擬實訓平臺在混合式課堂教學中發揮的作用,對未來程序設計課程教學方式提出展望。
傳統的線上課堂主要由教師借助多媒體工具在進行面授,學生往往只是被動地去聽,為了提升學生注意力,教師會設置交流互動、隨機提問、課堂測試等環節,這樣確實提升了一些效果,但學生往往是被動地去參與,要想切實提高學習效果,最主要的是提高學生學習的主動性。此外,由于課堂時間有限,往往設置理論講解多,實踐學時少,造成重理論輕實踐,不利于學生編程能力的提高。線上MOOC課程的優點是,學生可以自主選擇學習,對沒聽懂的知識點,可以實時回放,并可以做知識點測試題目,保證在掌握本知識點的基礎上再進行后續課程的學習。但MOOC課程很大依賴于學生學習的主動性,絕大部分學生學習主動性差,可能存在刷網課,抄同學作業完成測試的情況,學生的成績缺乏公平性,難以反應掌握知識的真實情況;此外,由于缺乏與教員面對面交流的環境,學生在學習中遇到的問題時不能及時得到解決。
虛擬實訓平臺是計算機類基礎課程教學輔助平臺,支持多種語言的程序自動評閱,具有豐富的題庫資源,支持階段性測試、考試模擬,能夠方便教師教、促進學生學。平臺提供教學資源、在線編程工具,支撐課程教學管理、學生管理、練習、通知公告、教學研究等需求,提供作業情況的數據可視化分析,可為計算機基礎課程教學研究提供數據支撐。
學習程序設計語言,實踐是重要環節,在平臺中既可以建設傳統的選擇題、判斷題、選擇填空題等,又可以通過Python虛擬環境,建設在線實踐題目。以Python語言為例,Python123平臺中的共享題庫,提供了大量其他教師分享的實踐題,尤其是嵩天老師提供的Python計算生態教學案例,貼近實際計算需求,可復制到個人題庫中,再用于自建課程的教學中。
根據課程需求建設題庫資源:
虛擬實訓平臺提供了共享題庫資源,教師可從共享題庫中選擇題目;但不同課程需求不同,平臺的題目缺乏個性化,難以滿足所有課程需要。教師可根據個人課程需求自建題庫,可根據涉及到的知識點進行分類,并設置題目的難易度。筆者在教學實踐中,利用了平臺中Python語言基礎、圖形繪制、文件與數據格式化等部分的共享程序設計題,為了更好地支撐課程教學,課程組自建題庫(已自建84道),補充了面向對象、數據庫等進階及應用部分的習題,制定出適合自身課程教學的題庫方案。自建題庫知識點分布情況如表1所示。

表1 課程組自建Python語言程序設計題庫知識點分布
建設題庫經驗總結:
使用虛擬在線實訓平臺,需要老師花費大量的時間設計并在平臺中錄入題目,尤其是實踐性題目,需要教師設計多組測試用例。筆者在使用過程中,總結了以下經驗,供廣大教師借鑒:
一是題目描述要規范,要明確輸入和輸出,對于輸出,若有標點符號,要在題目中有提示性信息,說明是中文還是英文,說明空格的數目等,以免浪費學生在輸出格式上調試錯誤的時間。二是一定要有針對性地設計測試用例。為了避免學生抄襲,可以設計隱藏的用例;為了檢查學生代碼中的缺陷,要設計不同類型的測試用例。以面向對象程序設計實踐為例,要考查學生對繼承、方法、屬性、方法重寫、運算符重載、構造函數等多個知識點的內容,這就需要針對每個知識點都設計測試用例,來保證學生程序在每個知識點上都已實現。
通過結合在線虛擬實訓平臺,設置“線上+線下”邊講邊練的混合式課堂教學方式,可以提升學生學習的積極主動性。虛擬實實訓平臺通過在線虛擬實驗,結合質量評價機制,提升學生學習的積極主動性。邊講邊練的學習方式,可以幫助學生及時理解和鞏固所學知識,并從被動聽變為主動做,提高學習興趣。
結合虛擬實訓平臺,進行“線上+線下”、“邊講邊練”的混合式課堂教學組織形式如下:教師選擇在機房進行課堂講授,以知識點為中心組織講授內容,講授過程中可以與學生互動交流,在某一知識點內容講授完后,利用在線虛擬平臺進行測試練習,教師可以實時查看學生的作答情況,及時發現學生存在的問題,并給予有針對性的輔導,幫助其趕上課堂進度。在練習的過程中,對于學生普遍存在的問題,統一輔導講解。在保證90%的學生完成練習后,再進行總結,引入下一知識點內容的講解和練習。
第一,通過虛擬實訓平臺可以實時測試知識點掌握情況。在課堂教學中,教師可以通過提問的方式進行測試,但這種方式重點是查看知識點的理解情況,而缺乏學生動手練習實踐,且只能提問個別學生,覆蓋面小,不能掌握大部分學生的情況。通過虛擬實訓平臺,教師可以看到所有學生對知識點測試題目的作答情況,覆蓋面廣,尤其是可以跟蹤進度落后的學生,適當給予幫助和輔導。
第二,通過虛擬實訓平臺可以全面了解學生對知識點的掌握情況。傳統的“邊講邊練”式教學,主要由學生在個人電腦中的開發環境中完成編程練習,教師通過機房中每個學生的顯示器看其作答情況,這種方式不直觀,教師不易閱讀屏幕,且容易干擾學生的思路,且不能看到所有學生的作答情況。虛擬實訓平臺中,教師可以看到每個學生的程序,且數據分析可視化,可以直觀地看到不同難易度題目的完成情況,教師實時地針對學生作答情況,進行知識點內容的補充講解。
第三,通過虛擬實訓平臺可以形成量化的學生考核成績,為學生的過程性考核成績提供了依據,不僅大大減輕教師的批作業工作量,而且提高了學生的主動性。虛擬實訓平臺支持自動評閱代碼,通過設置多組測試用例,指導學生糾正代碼中的錯誤,增強學生自主分析解決問題的能力,有利于學生將被動學習變為主動學習。而教師也從繁重的閱讀代碼任務中解脫出來,可以有更多的時間用來備課和輔導學生。
第四,教師可以依托平臺自行組織競賽。平臺提供了競賽組織功能,教師可以從題庫資源中,選取合適題目,組織小組競賽、班級競賽、全校競賽等,提高學生學習的積極性。對于比較優秀的學員,可以推薦參加全國性或國際信息學競賽。為了有效管理和激勵競賽團隊,健全學科競賽團隊的管理機制,對參賽獲獎學生視獲獎級別給予精神和物質獎勵。
第五,虛擬實訓平臺提供了相應的APP或公眾號,可在手機上安裝運行后登錄訪問,在手機上進行在線實踐,提高了學生利用碎片化時間進行學習的便利性。
虛擬在線實訓平臺通過在線測試方式激發了學生的學習主動性,有效地幫助教師掌握學生的學習情況,并減輕教師繁重的作業批改負擔。目前,國內高校使用較多的Python虛擬在線實訓平臺有Python123、educoder、章魚大數據實驗訓練平臺等,但是各虛擬在線實訓平臺也存在不足,還需要進一步改進。
Python123平臺的優點是支持二級等級考試模擬,有豐富的turtle圖形繪制案例。缺點是:盡管平臺內有豐富的共享題庫資源,但題目分類較亂,教師不能快速地找到自己需要的資源;平臺題庫中缺乏網絡編程、面向對象等應用方面的題目。
Educoder實訓平臺通過“闖關”的形式提高了學生的興趣,且提供了代碼查重功能,但是沒有提供多維度的實訓任務查看功能。教師可以查看每個實訓任務的完成情況,但是沒有所有學生完成任務的可視化數據,教師不能查看學生在本學期所有的實訓完成情況。
章魚大數據實驗平臺內置了豐富的課程和案例資源等,學生可根據實驗內容,自主完成實驗,提交實驗報告。但平臺的主要缺點是不支持自動評閱,教師主要通過抓取學生的屏幕、提交的實驗報告,來查看學生的完成情況。
另外,各實訓平臺的考核評價機制亟待研究改進。目前,各平臺對學生的評價,主要由學生完成作業的得分情況組成。由于學生有可能抄襲作業,顯然這種評價機制缺乏公平性。Python123平臺統計了學生的在線時長、完成當前題目的時間、評閱次數等信息,但是并沒有將這些信息融入到學生的成績評價中。