李 寧,張 曉,趙曉南,劉海龍,李戰(zhàn)懷
(西北工業(yè)大學(xué) 計算機(jī)學(xué)院,陜西 西安 710072)
隨著計算機(jī)技術(shù)的飛速發(fā)展,在線教育目前進(jìn)入了 MOOC(massive open online course)時代[1]。特別是近年來,以MOOC + SPOC(small private online course)為代表的教學(xué)模式逐漸興起,并被越來越多的大學(xué)接受,該模式通過短視頻網(wǎng)絡(luò)在線學(xué)習(xí)、在線互動討論等手段,有效解決了學(xué)習(xí)受時間、空間、師資等方面限制的問題[2]。然而單純的視頻學(xué)習(xí)或在線測試等僅能有效緩解理論教學(xué)的問題,對提升實(shí)驗(yàn)教學(xué)的效果幫助有限。實(shí)驗(yàn)教學(xué)一直是高校本科人才培養(yǎng)工作中不可或缺的重要組成部分,關(guān)系著培養(yǎng)人才的工程實(shí)踐能力和工程創(chuàng)新能力[3]。因此探索適應(yīng)MOOC環(huán)境下的虛擬實(shí)驗(yàn)技術(shù)和教學(xué)模式,不僅對輔助在線理論課程的教學(xué)有非常重要的意義,同時,是線下實(shí)驗(yàn)教學(xué)應(yīng)對MOOC 沖擊的創(chuàng)新與變革。
現(xiàn)有MOOC 課程多以理論課程為主體,90%以上的輟學(xué)行為引起了研究者的廣泛關(guān)注[4-6]。經(jīng)過對MOOC上的學(xué)生學(xué)習(xí)行為進(jìn)行跟蹤,研究者發(fā)現(xiàn)在MOOC上學(xué)習(xí)文科類課程和計算機(jī)課程都比較容易,但是對于物理、生物、工程等學(xué)科,由于有實(shí)驗(yàn)訓(xùn)練的環(huán)節(jié),若只提供線上理論課程教學(xué),學(xué)生往往很容易放棄,只有一部分學(xué)習(xí)習(xí)慣非常好的學(xué)生才能夠堅持,導(dǎo)致MOOC學(xué)習(xí)者高輟學(xué)率[7]。而且即使學(xué)習(xí)者能夠堅持下來,因?yàn)槿狈?shí)驗(yàn)練習(xí),所以很難收到良好的教學(xué)效果,無法達(dá)到課程的預(yù)期目標(biāo)。
雖然文獻(xiàn)[7]提及計算機(jī)課程容易學(xué)習(xí),但實(shí)際上計算機(jī)類課程的實(shí)踐性都較強(qiáng),如計算機(jī)軟件專業(yè)核心課(包括程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理及軟件工程等多門課程),每一門課程都需要學(xué)生通過大量的實(shí)驗(yàn)練習(xí)來加深對知識點(diǎn)的理解,進(jìn)而完全掌握課程內(nèi)容。因此,提供良好的在線實(shí)驗(yàn)環(huán)境和精心設(shè)計的實(shí)驗(yàn)教學(xué)內(nèi)容,對提升軟件課程MOOC教學(xué)效果的重要性不言而喻。
在目前的實(shí)驗(yàn)教學(xué)中,有部分軟件編程類課程已經(jīng)用OJ(online judge)等在線系統(tǒng)提交程序、自動對比程序結(jié)果等方式實(shí)現(xiàn)了實(shí)驗(yàn)方式的改革,但是仍有很多與實(shí)驗(yàn)環(huán)境緊密相關(guān),涉及具體操作的實(shí)驗(yàn)多是在專業(yè)實(shí)驗(yàn)室實(shí)施,在輔導(dǎo)老師現(xiàn)場指導(dǎo)和答疑下,學(xué)生自主進(jìn)行實(shí)驗(yàn),并進(jìn)行相關(guān)實(shí)驗(yàn)考核。這種傳統(tǒng)的實(shí)驗(yàn)教學(xué)方式常常存在以下幾個方面的問題。
(1)資源使用效率低。學(xué)生只能在安裝了指定軟件的機(jī)房實(shí)驗(yàn),課余時間實(shí)驗(yàn)室資源無法利用。在實(shí)驗(yàn)課內(nèi)未完成實(shí)驗(yàn)任務(wù)的同學(xué),只能中斷實(shí)驗(yàn)。另一方面,教師在下課后通常無法查看學(xué)生的實(shí)驗(yàn)進(jìn)度,不能進(jìn)一步指導(dǎo)和動態(tài)調(diào)整實(shí)驗(yàn)任務(wù),嚴(yán)重影響了實(shí)驗(yàn)教學(xué)質(zhì)量。
(2)實(shí)驗(yàn)成果和相關(guān)數(shù)據(jù)的可利用性較差。學(xué)生在實(shí)驗(yàn)過程中產(chǎn)生的實(shí)驗(yàn)數(shù)據(jù)和行為特點(diǎn)(如操作中常犯的錯誤等),難以被有效地收集與積累。這使得教師難以通過統(tǒng)計分析等對教學(xué)內(nèi)容和方法進(jìn)行持續(xù)的調(diào)整和改善。
(3)維護(hù)和管理成本高。同一臺PC機(jī)需要反復(fù)安裝不同實(shí)驗(yàn)所需的軟件和操作系統(tǒng),造成機(jī)器設(shè)備損壞率增高,增加硬件投入和維護(hù)成本。對于不兼容的軟件需要反復(fù)卸載和重裝。計算機(jī)設(shè)備更新?lián)Q代快,使用3~5年就需要重新購置新的機(jī)器,否則無法滿足性能要求。
(4)無法保證數(shù)據(jù)存儲的安全性和可靠性。實(shí)驗(yàn)室由于安全性考慮,大多無法保存?zhèn)€人數(shù)據(jù),導(dǎo)致教師和學(xué)生的個人文件和實(shí)驗(yàn)數(shù)據(jù)容易丟失,長期使用移動存儲設(shè)備會帶來病毒入侵的風(fēng)險。
針對以上問題,國內(nèi)外學(xué)者積極探索和研究虛擬實(shí)驗(yàn)系統(tǒng)的應(yīng)用。目前已有一些虛擬實(shí)驗(yàn)系統(tǒng)應(yīng)用于實(shí)驗(yàn)教學(xué)中的成果,如牛津大學(xué)開發(fā)的化學(xué)學(xué)科虛擬實(shí)驗(yàn)系統(tǒng)[8]和美國約翰霍普金斯大學(xué)電子科學(xué)虛擬實(shí)驗(yàn)[9]等,學(xué)習(xí)者可以通過開放的互聯(lián)網(wǎng)遠(yuǎn)程訪問站點(diǎn)進(jìn)行在線實(shí)驗(yàn)。與國外相比,國內(nèi)高校在該領(lǐng)域的研究起步較晚。當(dāng)前,將實(shí)驗(yàn)教學(xué)虛擬化以及融入MOOC環(huán)境還面臨許多困境,亟待發(fā)展。
參考其他虛擬實(shí)驗(yàn)平臺設(shè)計方案與架構(gòu)[3,7,10-11],通過構(gòu)建一個適用于MOOC環(huán)境的基于云計算的計算機(jī)軟件核心課教學(xué)虛擬實(shí)驗(yàn)平臺,可以充分發(fā)揮MOOC與虛擬實(shí)驗(yàn)環(huán)境的優(yōu)點(diǎn),提高在線教學(xué)的質(zhì)量。同時,若將該平臺推廣到線下的實(shí)驗(yàn)教學(xué)中也可彌補(bǔ)傳統(tǒng)實(shí)驗(yàn)教學(xué)的不足。
MOOC環(huán)境下的虛擬實(shí)驗(yàn)系統(tǒng)主要包括MOOC系統(tǒng)平臺、實(shí)驗(yàn)平臺、客戶端3部分,整體平臺構(gòu)架如圖1所示。其中實(shí)驗(yàn)平臺部分包括基于OpenStack云計算的虛擬實(shí)驗(yàn)平臺和已有的其他在線實(shí)驗(yàn)平臺(如OJ等在線測試系統(tǒng))兩部分。該虛擬實(shí)驗(yàn)平臺既可以在線下教學(xué)中直接使用,也可在MOOC系統(tǒng)中支持MOOC實(shí)驗(yàn)。
圖1 MOOC環(huán)境中的虛擬實(shí)驗(yàn)系統(tǒng)MOOCElab
基于OpenStack的虛擬實(shí)驗(yàn)平臺是該系統(tǒng)的核心,主要包括資源管理、存儲管理、用戶管理、安全管理等部分。OpenStack主要通過虛擬化技術(shù)提供用戶自管理和自服務(wù)的虛擬計算環(huán)境。
1)云計算平臺搭建。
由于大部分的實(shí)驗(yàn)需要以個人或者小組為單位擁有獨(dú)立的一個或者若干個虛擬機(jī),所以該虛擬實(shí)驗(yàn)系統(tǒng)的核心是云計算平臺。本例中使用開源軟件OpenStack,包含keystone、glance、nova、dashboard、neutron等組件。OpenStack可管理多種虛擬化平臺,本系統(tǒng)中搭建在CentOS的KVM平臺上,具體搭建過程參考OpenStack的官方網(wǎng)站。系統(tǒng)由一個控制節(jié)點(diǎn)和多個計算節(jié)點(diǎn)組成,根據(jù)虛擬機(jī)核數(shù)的不同,每個計算節(jié)點(diǎn)可提供20~50個虛擬機(jī)服務(wù)。
2)OpenStack平臺中創(chuàng)建虛擬實(shí)驗(yàn)?zāi)0濉?/p>
OpenStack平臺搭建完成之后,利用其中flavor(虛擬機(jī)模板)創(chuàng)建各門軟件核心實(shí)驗(yàn)課程所需的虛擬機(jī)模板,包括操作系統(tǒng)以及相關(guān)的軟件環(huán)境。在具體實(shí)驗(yàn)中,學(xué)生可利用虛擬機(jī)模板創(chuàng)建虛擬機(jī)。這些虛擬機(jī)的操作系統(tǒng)和軟件環(huán)境都已滿足相關(guān)課程需要,可以即開即用。該步結(jié)束后,該系統(tǒng)就可以單獨(dú)運(yùn)行以支持非MOOC模式的虛擬實(shí)驗(yàn)。
3)開源MOOC平臺搭建。
在虛擬機(jī)或?qū)嶓w機(jī)上搭建開源MOOC平臺。本方案中使用開源軟件OpenEdx,具體試安裝版本為bitnami-edx-ginkgo.2-6-linux-x64,安裝包下載地址https://bitnami.com/stack/edx/installer。
4)開源MOOC平臺與虛擬實(shí)驗(yàn)系統(tǒng)集成。
在開源MOOC平臺上創(chuàng)建不同的MOOC課程。在不同課程中將虛擬實(shí)驗(yàn)平臺(如云計算OpenStack平臺)鏈接加入課程內(nèi)容中,并進(jìn)行相應(yīng)的用戶管理與授權(quán),完成開源MOOC平臺與虛擬實(shí)驗(yàn)系統(tǒng)的集成。
MOOCElab平臺管理的重點(diǎn)是用戶管理、資源管理、安全管理等。系統(tǒng)擁有3種類型用戶:教師用戶、學(xué)生用戶和管理員用戶。教師用戶是維護(hù)MOOC課程信息的人員,包括課程內(nèi)容發(fā)布、教學(xué)過程推進(jìn)、學(xué)生作業(yè)實(shí)驗(yàn)查看批閱等。學(xué)生用戶選修MOOC課程,完成課程要求的學(xué)習(xí)內(nèi)容和實(shí)驗(yàn)內(nèi)容,參加在線測試。管理員用戶管理和配置開源MOOC系統(tǒng)和虛擬實(shí)驗(yàn)平臺的資源和安全等。其中MOOC平臺用戶與虛擬實(shí)驗(yàn)平臺的用戶同步是用戶管理的關(guān)鍵。資源管理主要指由管理員對支撐虛擬實(shí)驗(yàn)系統(tǒng)的物理機(jī)、虛擬機(jī)等設(shè)備資源進(jìn)行管理,并對整個系統(tǒng)進(jìn)行維護(hù)管理。安全管理主要指根據(jù)用戶和訪問對象的屬性,設(shè)定不同用戶的權(quán)限。
MOOC課程以及實(shí)驗(yàn)環(huán)境準(zhǔn)備完畢之后即可以投入使用。該系統(tǒng)的主要使用者是教師和學(xué)習(xí)者。教師使用MOOCElab平臺的流程如圖2所示。
圖2 教師使用MOOCElab平臺流程
MOOC學(xué)習(xí)者使用MOOCElab平臺的流程如圖3所示。
(1)彌補(bǔ)現(xiàn)有單獨(dú)MOOC平臺課程學(xué)習(xí)中缺乏實(shí)驗(yàn)教學(xué)的不足,可以有效提高M(jìn)OOC課程的整體學(xué)習(xí)質(zhì)量。
(2)克服傳統(tǒng)實(shí)驗(yàn)環(huán)境下硬件環(huán)境使用排他性而導(dǎo)致的實(shí)驗(yàn)時間、實(shí)驗(yàn)內(nèi)容受限的缺點(diǎn),虛擬實(shí)驗(yàn)可以同時開展多門課程的實(shí)驗(yàn)教學(xué),學(xué)習(xí)者也可以隨時隨地利用該平臺開展相關(guān)課程的實(shí)踐。
(3)可以方便地進(jìn)行實(shí)驗(yàn)環(huán)境的部署、存儲和復(fù)用,節(jié)約實(shí)驗(yàn)成本。
(4)為教師對實(shí)驗(yàn)的有效指導(dǎo)提供可能性,教師可以隨時、異地利用虛擬環(huán)境指導(dǎo)學(xué)生實(shí)驗(yàn)。
(5)可以集中存儲實(shí)驗(yàn)程序、測試數(shù)據(jù),為自動統(tǒng)計實(shí)驗(yàn)進(jìn)展數(shù)據(jù)、檢驗(yàn)實(shí)驗(yàn)結(jié)果等提供數(shù)據(jù)支撐,便于教師對學(xué)生實(shí)驗(yàn)情況進(jìn)行基于教學(xué)大數(shù)據(jù)的分析,推進(jìn)教學(xué)質(zhì)量的持續(xù)提升。
圖3 MOOC學(xué)習(xí)者使用MOOCElab平臺流程
我校數(shù)據(jù)庫原理課程的實(shí)驗(yàn)傳統(tǒng)都是在實(shí)驗(yàn)室PC機(jī)上事先準(zhǔn)備好的操作系統(tǒng)和DBMS環(huán)境下進(jìn)行。由于實(shí)驗(yàn)室PC機(jī)配置為網(wǎng)絡(luò)啟動,每次計算機(jī)重新啟動時都會重置軟件環(huán)境,無法保存學(xué)生前一次的實(shí)驗(yàn)結(jié)果。此外學(xué)生通常都會在本人的計算機(jī)上安裝實(shí)驗(yàn)環(huán)境,用于在課余時間完成實(shí)驗(yàn)課內(nèi)未完成的部分。這使得學(xué)生在實(shí)驗(yàn)環(huán)境準(zhǔn)備上花費(fèi)大量的時間,也增加了輔導(dǎo)教師的輔導(dǎo)工作量,降低了學(xué)生實(shí)驗(yàn)的效率。
在數(shù)據(jù)庫原理實(shí)驗(yàn)課的探索實(shí)踐中,我們選出部分學(xué)生試用該虛擬實(shí)驗(yàn)平臺。實(shí)驗(yàn)課開始之前,教師團(tuán)隊首先創(chuàng)建準(zhǔn)備好該課程的虛擬機(jī)模板,其中包括Windows操作系統(tǒng)、DBMS、基礎(chǔ)編程軟件和實(shí)驗(yàn)課所需要的全部支撐資料。學(xué)生只需在首次實(shí)驗(yàn)時創(chuàng)建個人賬戶,并利用數(shù)據(jù)庫原理實(shí)驗(yàn)課的虛擬機(jī)模板創(chuàng)建各自的虛擬機(jī),該虛擬機(jī)同時作為本地數(shù)據(jù)庫的服務(wù)端和數(shù)據(jù)庫訪問的客戶端。學(xué)生的全部實(shí)驗(yàn)都在該虛擬機(jī)環(huán)境下進(jìn)行。由于這些虛擬機(jī)的存續(xù)周期貫穿一個學(xué)期,學(xué)生在初次申請后無需再做配置,實(shí)驗(yàn)課操作的連續(xù)性得到更好的保證。同時,學(xué)生也可以在課堂以外的任意空閑時間,在任意地點(diǎn)登錄虛擬機(jī)繼續(xù)實(shí)驗(yàn)。在學(xué)生實(shí)驗(yàn)課進(jìn)展過程中,輔導(dǎo)教師可以通過登錄虛擬機(jī)等方式完成輔導(dǎo)工作,并可以查詢學(xué)生使用虛擬機(jī)時間的長短和時間段等統(tǒng)計信息,更好地掌握學(xué)生的學(xué)習(xí)情況。經(jīng)過一年的試點(diǎn)應(yīng)用,學(xué)生實(shí)驗(yàn)效率明顯提高,教學(xué)效果也得到了改善。
留學(xué)生教學(xué)是我校本科教學(xué)中的重要環(huán)節(jié)。由于留學(xué)生普遍存在基礎(chǔ)知識薄弱,動手能力不強(qiáng),漢語水平較低等問題,在實(shí)驗(yàn)教學(xué)環(huán)節(jié)也面臨著更多問題。傳統(tǒng)實(shí)驗(yàn)環(huán)境是以面向中國學(xué)生,實(shí)驗(yàn)室PC機(jī)上的操作系統(tǒng)和應(yīng)用軟件全部是中文版本,這使留學(xué)生在實(shí)驗(yàn)環(huán)境準(zhǔn)備上需要花費(fèi)更多的時間。在面向留學(xué)生開設(shè)的軟件工程英文實(shí)驗(yàn)課程中,我們也試用了該虛擬實(shí)驗(yàn)系統(tǒng)。
由于本年度軟件工程實(shí)驗(yàn)課留學(xué)生人數(shù)較少,將其分成兩個小組展開實(shí)驗(yàn)。實(shí)驗(yàn)之前由教師創(chuàng)建面向留學(xué)生的實(shí)驗(yàn)環(huán)境的全英文版虛擬機(jī)模板,其中包括Windows操作系統(tǒng)、UML工具、基礎(chǔ)編程軟件、DBMS、版本管理工具等。學(xué)生只需在首次實(shí)驗(yàn)時創(chuàng)建小組賬戶,并利用該課程的英文實(shí)驗(yàn)?zāi)0鍎?chuàng)建各自的虛擬機(jī)。后續(xù)實(shí)驗(yàn)均在各自小組的虛擬機(jī)上完成。由于每個小組的虛擬機(jī)也是各組的版本管理服務(wù)器,因此各種設(shè)計文檔、程序的開發(fā)設(shè)計過程均得到完整保留。經(jīng)過一個學(xué)期的實(shí)踐,該系統(tǒng)可以有效改善留學(xué)生的實(shí)驗(yàn)環(huán)境,有利于實(shí)驗(yàn)課成果的展示與交流。
在數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)課程的實(shí)踐中,我們采用直接在MOOC系統(tǒng)中集成已有的數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)系統(tǒng)OJ。由于該OJ系統(tǒng)在我校的教學(xué)中已使用多年,取得了較好的應(yīng)用效果,因此在與MOOC系統(tǒng)中集成時,僅需要關(guān)注兩部分的用戶信息同步。
在計算機(jī)軟件核心課的MOOC或SPOC教學(xué)中引入實(shí)驗(yàn)教學(xué)是在線教育發(fā)展的趨勢,也是提高該類課程在線教育質(zhì)量必須考慮的內(nèi)容。將MOOC平臺與基于云計算的虛擬實(shí)驗(yàn)平臺有機(jī)融合是實(shí)現(xiàn)線上實(shí)驗(yàn)教學(xué)的有效方案之一。該方案可支持MOOC學(xué)習(xí)者完成課程實(shí)驗(yàn)內(nèi)容,合理共享實(shí)驗(yàn)環(huán)境,降低實(shí)驗(yàn)成本,促進(jìn)實(shí)驗(yàn)教學(xué)的持續(xù)改革。MOOC環(huán)境下的虛擬實(shí)驗(yàn)平臺既可為MOOC或SPOC等線上教育提供實(shí)驗(yàn)支撐,也可單獨(dú)作為線下實(shí)驗(yàn)教學(xué)中的替代方案,解決傳統(tǒng)計算機(jī)軟件實(shí)驗(yàn)課程中的問題。我們在計算機(jī)軟件專業(yè)的幾門課程教學(xué)中進(jìn)行了初步實(shí)踐,取得的良好教學(xué)效果證明了該平臺的有效性。