航天工程大學(xué)航天信息學(xué)院 李晉麗 張學(xué)波 王 琳
針對(duì)程序設(shè)計(jì)課程教學(xué)中,傳統(tǒng)線下面授和線上MOOC授課存在學(xué)生主動(dòng)性低的情況,分析虛擬實(shí)訓(xùn)平臺(tái)的功能,總結(jié)使用虛擬實(shí)訓(xùn)平臺(tái)的經(jīng)驗(yàn),構(gòu)造基于虛擬實(shí)訓(xùn)平臺(tái)的混合式課堂教學(xué),研究虛擬實(shí)訓(xùn)平臺(tái)在混合式課堂教學(xué)中發(fā)揮的優(yōu)勢(shì)。本文以Python語(yǔ)言為例,先介紹虛擬實(shí)訓(xùn)平臺(tái)的功能、用途,并結(jié)合自身教學(xué)經(jīng)驗(yàn),提出結(jié)合虛擬實(shí)訓(xùn)平臺(tái)的混合式課堂教學(xué)方式,分析虛擬實(shí)訓(xùn)平臺(tái)在混合式課堂教學(xué)中發(fā)揮的作用,對(duì)未來(lái)程序設(shè)計(jì)課程教學(xué)方式提出展望。
傳統(tǒng)的線上課堂主要由教師借助多媒體工具在進(jìn)行面授,學(xué)生往往只是被動(dòng)地去聽(tīng),為了提升學(xué)生注意力,教師會(huì)設(shè)置交流互動(dòng)、隨機(jī)提問(wèn)、課堂測(cè)試等環(huán)節(jié),這樣確實(shí)提升了一些效果,但學(xué)生往往是被動(dòng)地去參與,要想切實(shí)提高學(xué)習(xí)效果,最主要的是提高學(xué)生學(xué)習(xí)的主動(dòng)性。此外,由于課堂時(shí)間有限,往往設(shè)置理論講解多,實(shí)踐學(xué)時(shí)少,造成重理論輕實(shí)踐,不利于學(xué)生編程能力的提高。線上MOOC課程的優(yōu)點(diǎn)是,學(xué)生可以自主選擇學(xué)習(xí),對(duì)沒(méi)聽(tīng)懂的知識(shí)點(diǎn),可以實(shí)時(shí)回放,并可以做知識(shí)點(diǎn)測(cè)試題目,保證在掌握本知識(shí)點(diǎn)的基礎(chǔ)上再進(jìn)行后續(xù)課程的學(xué)習(xí)。但MOOC課程很大依賴(lài)于學(xué)生學(xué)習(xí)的主動(dòng)性,絕大部分學(xué)生學(xué)習(xí)主動(dòng)性差,可能存在刷網(wǎng)課,抄同學(xué)作業(yè)完成測(cè)試的情況,學(xué)生的成績(jī)?nèi)狈叫?,難以反應(yīng)掌握知識(shí)的真實(shí)情況;此外,由于缺乏與教員面對(duì)面交流的環(huán)境,學(xué)生在學(xué)習(xí)中遇到的問(wèn)題時(shí)不能及時(shí)得到解決。
虛擬實(shí)訓(xùn)平臺(tái)是計(jì)算機(jī)類(lèi)基礎(chǔ)課程教學(xué)輔助平臺(tái),支持多種語(yǔ)言的程序自動(dòng)評(píng)閱,具有豐富的題庫(kù)資源,支持階段性測(cè)試、考試模擬,能夠方便教師教、促進(jìn)學(xué)生學(xué)。平臺(tái)提供教學(xué)資源、在線編程工具,支撐課程教學(xué)管理、學(xué)生管理、練習(xí)、通知公告、教學(xué)研究等需求,提供作業(yè)情況的數(shù)據(jù)可視化分析,可為計(jì)算機(jī)基礎(chǔ)課程教學(xué)研究提供數(shù)據(jù)支撐。
學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言,實(shí)踐是重要環(huán)節(jié),在平臺(tái)中既可以建設(shè)傳統(tǒng)的選擇題、判斷題、選擇填空題等,又可以通過(guò)Python虛擬環(huán)境,建設(shè)在線實(shí)踐題目。以Python語(yǔ)言為例,Python123平臺(tái)中的共享題庫(kù),提供了大量其他教師分享的實(shí)踐題,尤其是嵩天老師提供的Python計(jì)算生態(tài)教學(xué)案例,貼近實(shí)際計(jì)算需求,可復(fù)制到個(gè)人題庫(kù)中,再用于自建課程的教學(xué)中。
根據(jù)課程需求建設(shè)題庫(kù)資源:
虛擬實(shí)訓(xùn)平臺(tái)提供了共享題庫(kù)資源,教師可從共享題庫(kù)中選擇題目;但不同課程需求不同,平臺(tái)的題目缺乏個(gè)性化,難以滿(mǎn)足所有課程需要。教師可根據(jù)個(gè)人課程需求自建題庫(kù),可根據(jù)涉及到的知識(shí)點(diǎn)進(jìn)行分類(lèi),并設(shè)置題目的難易度。筆者在教學(xué)實(shí)踐中,利用了平臺(tái)中Python語(yǔ)言基礎(chǔ)、圖形繪制、文件與數(shù)據(jù)格式化等部分的共享程序設(shè)計(jì)題,為了更好地支撐課程教學(xué),課程組自建題庫(kù)(已自建84道),補(bǔ)充了面向?qū)ο?、?shù)據(jù)庫(kù)等進(jìn)階及應(yīng)用部分的習(xí)題,制定出適合自身課程教學(xué)的題庫(kù)方案。自建題庫(kù)知識(shí)點(diǎn)分布情況如表1所示。
表1 課程組自建Python語(yǔ)言程序設(shè)計(jì)題庫(kù)知識(shí)點(diǎn)分布
建設(shè)題庫(kù)經(jīng)驗(yàn)總結(jié):
使用虛擬在線實(shí)訓(xùn)平臺(tái),需要老師花費(fèi)大量的時(shí)間設(shè)計(jì)并在平臺(tái)中錄入題目,尤其是實(shí)踐性題目,需要教師設(shè)計(jì)多組測(cè)試用例。筆者在使用過(guò)程中,總結(jié)了以下經(jīng)驗(yàn),供廣大教師借鑒:
一是題目描述要規(guī)范,要明確輸入和輸出,對(duì)于輸出,若有標(biāo)點(diǎn)符號(hào),要在題目中有提示性信息,說(shuō)明是中文還是英文,說(shuō)明空格的數(shù)目等,以免浪費(fèi)學(xué)生在輸出格式上調(diào)試錯(cuò)誤的時(shí)間。二是一定要有針對(duì)性地設(shè)計(jì)測(cè)試用例。為了避免學(xué)生抄襲,可以設(shè)計(jì)隱藏的用例;為了檢查學(xué)生代碼中的缺陷,要設(shè)計(jì)不同類(lèi)型的測(cè)試用例。以面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)踐為例,要考查學(xué)生對(duì)繼承、方法、屬性、方法重寫(xiě)、運(yùn)算符重載、構(gòu)造函數(shù)等多個(gè)知識(shí)點(diǎn)的內(nèi)容,這就需要針對(duì)每個(gè)知識(shí)點(diǎn)都設(shè)計(jì)測(cè)試用例,來(lái)保證學(xué)生程序在每個(gè)知識(shí)點(diǎn)上都已實(shí)現(xiàn)。
通過(guò)結(jié)合在線虛擬實(shí)訓(xùn)平臺(tái),設(shè)置“線上+線下”邊講邊練的混合式課堂教學(xué)方式,可以提升學(xué)生學(xué)習(xí)的積極主動(dòng)性。虛擬實(shí)實(shí)訓(xùn)平臺(tái)通過(guò)在線虛擬實(shí)驗(yàn),結(jié)合質(zhì)量評(píng)價(jià)機(jī)制,提升學(xué)生學(xué)習(xí)的積極主動(dòng)性。邊講邊練的學(xué)習(xí)方式,可以幫助學(xué)生及時(shí)理解和鞏固所學(xué)知識(shí),并從被動(dòng)聽(tīng)變?yōu)橹鲃?dòng)做,提高學(xué)習(xí)興趣。
結(jié)合虛擬實(shí)訓(xùn)平臺(tái),進(jìn)行“線上+線下”、“邊講邊練”的混合式課堂教學(xué)組織形式如下:教師選擇在機(jī)房進(jìn)行課堂講授,以知識(shí)點(diǎn)為中心組織講授內(nèi)容,講授過(guò)程中可以與學(xué)生互動(dòng)交流,在某一知識(shí)點(diǎn)內(nèi)容講授完后,利用在線虛擬平臺(tái)進(jìn)行測(cè)試練習(xí),教師可以實(shí)時(shí)查看學(xué)生的作答情況,及時(shí)發(fā)現(xiàn)學(xué)生存在的問(wèn)題,并給予有針對(duì)性的輔導(dǎo),幫助其趕上課堂進(jìn)度。在練習(xí)的過(guò)程中,對(duì)于學(xué)生普遍存在的問(wèn)題,統(tǒng)一輔導(dǎo)講解。在保證90%的學(xué)生完成練習(xí)后,再進(jìn)行總結(jié),引入下一知識(shí)點(diǎn)內(nèi)容的講解和練習(xí)。
第一,通過(guò)虛擬實(shí)訓(xùn)平臺(tái)可以實(shí)時(shí)測(cè)試知識(shí)點(diǎn)掌握情況。在課堂教學(xué)中,教師可以通過(guò)提問(wèn)的方式進(jìn)行測(cè)試,但這種方式重點(diǎn)是查看知識(shí)點(diǎn)的理解情況,而缺乏學(xué)生動(dòng)手練習(xí)實(shí)踐,且只能提問(wèn)個(gè)別學(xué)生,覆蓋面小,不能掌握大部分學(xué)生的情況。通過(guò)虛擬實(shí)訓(xùn)平臺(tái),教師可以看到所有學(xué)生對(duì)知識(shí)點(diǎn)測(cè)試題目的作答情況,覆蓋面廣,尤其是可以跟蹤進(jìn)度落后的學(xué)生,適當(dāng)給予幫助和輔導(dǎo)。
第二,通過(guò)虛擬實(shí)訓(xùn)平臺(tái)可以全面了解學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況。傳統(tǒng)的“邊講邊練”式教學(xué),主要由學(xué)生在個(gè)人電腦中的開(kāi)發(fā)環(huán)境中完成編程練習(xí),教師通過(guò)機(jī)房中每個(gè)學(xué)生的顯示器看其作答情況,這種方式不直觀,教師不易閱讀屏幕,且容易干擾學(xué)生的思路,且不能看到所有學(xué)生的作答情況。虛擬實(shí)訓(xùn)平臺(tái)中,教師可以看到每個(gè)學(xué)生的程序,且數(shù)據(jù)分析可視化,可以直觀地看到不同難易度題目的完成情況,教師實(shí)時(shí)地針對(duì)學(xué)生作答情況,進(jìn)行知識(shí)點(diǎn)內(nèi)容的補(bǔ)充講解。
第三,通過(guò)虛擬實(shí)訓(xùn)平臺(tái)可以形成量化的學(xué)生考核成績(jī),為學(xué)生的過(guò)程性考核成績(jī)提供了依據(jù),不僅大大減輕教師的批作業(yè)工作量,而且提高了學(xué)生的主動(dòng)性。虛擬實(shí)訓(xùn)平臺(tái)支持自動(dòng)評(píng)閱代碼,通過(guò)設(shè)置多組測(cè)試用例,指導(dǎo)學(xué)生糾正代碼中的錯(cuò)誤,增強(qiáng)學(xué)生自主分析解決問(wèn)題的能力,有利于學(xué)生將被動(dòng)學(xué)習(xí)變?yōu)橹鲃?dòng)學(xué)習(xí)。而教師也從繁重的閱讀代碼任務(wù)中解脫出來(lái),可以有更多的時(shí)間用來(lái)備課和輔導(dǎo)學(xué)生。
第四,教師可以依托平臺(tái)自行組織競(jìng)賽。平臺(tái)提供了競(jìng)賽組織功能,教師可以從題庫(kù)資源中,選取合適題目,組織小組競(jìng)賽、班級(jí)競(jìng)賽、全校競(jìng)賽等,提高學(xué)生學(xué)習(xí)的積極性。對(duì)于比較優(yōu)秀的學(xué)員,可以推薦參加全國(guó)性或國(guó)際信息學(xué)競(jìng)賽。為了有效管理和激勵(lì)競(jìng)賽團(tuán)隊(duì),健全學(xué)科競(jìng)賽團(tuán)隊(duì)的管理機(jī)制,對(duì)參賽獲獎(jiǎng)學(xué)生視獲獎(jiǎng)級(jí)別給予精神和物質(zhì)獎(jiǎng)勵(lì)。
第五,虛擬實(shí)訓(xùn)平臺(tái)提供了相應(yīng)的APP或公眾號(hào),可在手機(jī)上安裝運(yùn)行后登錄訪問(wèn),在手機(jī)上進(jìn)行在線實(shí)踐,提高了學(xué)生利用碎片化時(shí)間進(jìn)行學(xué)習(xí)的便利性。
虛擬在線實(shí)訓(xùn)平臺(tái)通過(guò)在線測(cè)試方式激發(fā)了學(xué)生的學(xué)習(xí)主動(dòng)性,有效地幫助教師掌握學(xué)生的學(xué)習(xí)情況,并減輕教師繁重的作業(yè)批改負(fù)擔(dān)。目前,國(guó)內(nèi)高校使用較多的Python虛擬在線實(shí)訓(xùn)平臺(tái)有Python123、educoder、章魚(yú)大數(shù)據(jù)實(shí)驗(yàn)訓(xùn)練平臺(tái)等,但是各虛擬在線實(shí)訓(xùn)平臺(tái)也存在不足,還需要進(jìn)一步改進(jìn)。
Python123平臺(tái)的優(yōu)點(diǎn)是支持二級(jí)等級(jí)考試模擬,有豐富的turtle圖形繪制案例。缺點(diǎn)是:盡管平臺(tái)內(nèi)有豐富的共享題庫(kù)資源,但題目分類(lèi)較亂,教師不能快速地找到自己需要的資源;平臺(tái)題庫(kù)中缺乏網(wǎng)絡(luò)編程、面向?qū)ο蟮葢?yīng)用方面的題目。
Educoder實(shí)訓(xùn)平臺(tái)通過(guò)“闖關(guān)”的形式提高了學(xué)生的興趣,且提供了代碼查重功能,但是沒(méi)有提供多維度的實(shí)訓(xùn)任務(wù)查看功能。教師可以查看每個(gè)實(shí)訓(xùn)任務(wù)的完成情況,但是沒(méi)有所有學(xué)生完成任務(wù)的可視化數(shù)據(jù),教師不能查看學(xué)生在本學(xué)期所有的實(shí)訓(xùn)完成情況。
章魚(yú)大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)內(nèi)置了豐富的課程和案例資源等,學(xué)生可根據(jù)實(shí)驗(yàn)內(nèi)容,自主完成實(shí)驗(yàn),提交實(shí)驗(yàn)報(bào)告。但平臺(tái)的主要缺點(diǎn)是不支持自動(dòng)評(píng)閱,教師主要通過(guò)抓取學(xué)生的屏幕、提交的實(shí)驗(yàn)報(bào)告,來(lái)查看學(xué)生的完成情況。
另外,各實(shí)訓(xùn)平臺(tái)的考核評(píng)價(jià)機(jī)制亟待研究改進(jìn)。目前,各平臺(tái)對(duì)學(xué)生的評(píng)價(jià),主要由學(xué)生完成作業(yè)的得分情況組成。由于學(xué)生有可能抄襲作業(yè),顯然這種評(píng)價(jià)機(jī)制缺乏公平性。Python123平臺(tái)統(tǒng)計(jì)了學(xué)生的在線時(shí)長(zhǎng)、完成當(dāng)前題目的時(shí)間、評(píng)閱次數(shù)等信息,但是并沒(méi)有將這些信息融入到學(xué)生的成績(jī)?cè)u(píng)價(jià)中。