潘 丹, 甘 宏
(1.廣州城建職業(yè)學(xué)院 實(shí)訓(xùn)與設(shè)備處,廣東 廣州 510925; 2.廣州城建職業(yè)學(xué)院 機(jī)電與信息工程學(xué)院,廣東 廣州 510925)
?
基于SCORM的網(wǎng)絡(luò)虛擬實(shí)驗(yàn)課的設(shè)計(jì)與研究
潘丹1, 甘宏2
(1.廣州城建職業(yè)學(xué)院 實(shí)訓(xùn)與設(shè)備處,廣東 廣州 510925; 2.廣州城建職業(yè)學(xué)院 機(jī)電與信息工程學(xué)院,廣東 廣州 510925)
摘要:為了解決傳統(tǒng)遠(yuǎn)程教育存在的問題,如學(xué)習(xí)信息不能及時(shí)反饋、媒體形式簡單等,提出了結(jié)合虛擬現(xiàn)實(shí)技術(shù)和SCORM標(biāo)準(zhǔn),開發(fā)一種新型的網(wǎng)絡(luò)虛擬實(shí)驗(yàn)課程的技術(shù).利用三維模型并結(jié)合相應(yīng)的文本和圖形開發(fā)原始的學(xué)習(xí)素材,根據(jù)SCORM標(biāo)準(zhǔn),將原始素材劃分成SCO和Asset,完成Javascript程序與主文件清單,從而得到SCORM數(shù)據(jù)包以及包含虛擬實(shí)驗(yàn)課程.實(shí)踐證明,通過網(wǎng)絡(luò)虛擬實(shí)驗(yàn)課的學(xué)習(xí)環(huán)境,可以實(shí)現(xiàn)具體學(xué)習(xí)環(huán)境的跟蹤,達(dá)到自主學(xué)習(xí)個(gè)性.
關(guān)鍵詞:遠(yuǎn)程教育;虛擬實(shí)驗(yàn)課程;SCORM
0引言
遠(yuǎn)程教育是現(xiàn)代教育發(fā)展的一個(gè)重要趨勢,提供大規(guī)模、高效益、個(gè)性化的遠(yuǎn)程教育服務(wù)是每一位教育工作者共同追求的目標(biāo)[1].遠(yuǎn)程教育是以網(wǎng)絡(luò)和通信技術(shù)為基礎(chǔ),通過網(wǎng)絡(luò)以多種媒體的方式進(jìn)行教學(xué),使教育教學(xué)突破時(shí)間和空間的限制,體現(xiàn)智能化和個(gè)性化教育的特點(diǎn)[2].之前的遠(yuǎn)程教育平臺,在學(xué)習(xí)過程中存在著諸多不足,比如學(xué)習(xí)信息反饋不及時(shí),交互性比較差,展現(xiàn)的形式單一等.這樣就導(dǎo)致了實(shí)際遠(yuǎn)程教學(xué)效果并不理想.
近年來,快速發(fā)展的網(wǎng)絡(luò)技術(shù)和3D技術(shù),為“真實(shí)”學(xué)習(xí)環(huán)境的實(shí)現(xiàn)提供了可能.將VRML語言開發(fā)與SCORM(shareable content object reference model)標(biāo)準(zhǔn)結(jié)合,開發(fā)基于網(wǎng)絡(luò)環(huán)境下的虛擬實(shí)驗(yàn)課程,來實(shí)現(xiàn)模擬逼真的學(xué)習(xí)環(huán)境,同時(shí)可以對學(xué)習(xí)過程進(jìn)行跟蹤與分析.
1SCORM標(biāo)準(zhǔn)

圖1 虛擬實(shí)驗(yàn)課程的設(shè)計(jì)方案Fig.1 Design scheme of virtualexperiment course
可共享內(nèi)容對象參考模型SCORM國防部ADL(advanced distributed learning)組織所擬定的標(biāo)準(zhǔn)[3].它為數(shù)字教學(xué)內(nèi)容的制作、開發(fā)提供一套共通的規(guī)范.符合SCORM標(biāo)準(zhǔn)的學(xué)習(xí)內(nèi)容對象具有高水平的可訪問性、互操作性、適應(yīng)性、重用性等特點(diǎn)[4].SCORM的主要思想是“數(shù)據(jù)結(jié)構(gòu)化”,即將教學(xué)素材離散成多個(gè)微單元(Asset)或可共享內(nèi)容對象(sharable content object,SCO),并將其作為最小的數(shù)據(jù)模塊,以便資源重組時(shí)可以直接調(diào)用[5].
2整體設(shè)計(jì)方案
整體設(shè)計(jì)方案如圖1所示:本文將以三維模型為基礎(chǔ)來開發(fā)3D動畫,將其與文字圖形相結(jié)合完成原始的學(xué)習(xí)素材.通過對原始的學(xué)習(xí)素材進(jìn)行劃分,從而完成SCO和Asset,規(guī)范文件編制主文件清單將同時(shí)根據(jù)SCORM數(shù)據(jù)包,并設(shè)計(jì)實(shí)現(xiàn)跟蹤功能的API程序,完成后將得到SCORM數(shù)據(jù)包.
2.13D可交互式素材的制作
相對于以傳統(tǒng)二維圖形為載體的教學(xué)內(nèi)容形式單一、功能有限的不足,3D仿真教學(xué)內(nèi)容包含的信息量大,交互性強(qiáng),學(xué)生更易接受[6].以往3D動畫素材的數(shù)據(jù)量一般都比較大,非常不利于網(wǎng)絡(luò)傳輸.有時(shí)也因計(jì)算機(jī)軟硬件技術(shù)的限制,將其運(yùn)用到遠(yuǎn)程教學(xué)中較為困難.隨著計(jì)算機(jī)圖形學(xué)技術(shù)的發(fā)展,可以將3D模型轉(zhuǎn)化成輕量化的VRML模型[7].VRML文件具有數(shù)據(jù)量小,圖形信息完整,交互性強(qiáng)等特點(diǎn)[8].
本文通過樹狀列表整理、渲染、動作的設(shè)定、時(shí)間軸調(diào)整、過程文字輸入等步驟,使發(fā)布出的網(wǎng)頁具有三維仿真演示的效果.設(shè)定hotspot值,運(yùn)用三維動畫仿真來實(shí)現(xiàn)模型,將完成零部件與模型之間目錄的關(guān)聯(lián),選擇任意零部件與目錄,將顯示相關(guān)的說明與所在的位置.本文以某發(fā)動機(jī)維護(hù)課程為例,模型的動作設(shè)置如圖2所示,發(fā)布的HTML文檔如圖3所示.

圖2 模型的動作設(shè)置

圖3 原始課程素材
2.2主文件清單的設(shè)計(jì)
在SCORM數(shù)據(jù)包中,主文件清單(manifest.xml)是整個(gè)數(shù)據(jù)包的核心[9].它是LMS加載數(shù)據(jù)包時(shí)所要讀取的第一個(gè)文件.從文件類型上看,主文件清單是一份XML文檔;從內(nèi)容上看,主文件清單不僅描述了整個(gè)課程(即各項(xiàng)學(xué)習(xí)活動)的詳細(xì)結(jié)構(gòu),而且指明了實(shí)際學(xué)習(xí)內(nèi)容和學(xué)習(xí)活動之間的關(guān)系.它還設(shè)置了各項(xiàng)參數(shù),為課程內(nèi)容的重復(fù)利用和個(gè)性化學(xué)習(xí)的實(shí)現(xiàn)打下基礎(chǔ).

圖4 主文件清單框架的Schema模式 Fig.4 Schema model of the master file list framework
為了使SCORM數(shù)據(jù)包能夠在不同的LMS中正常運(yùn)行,并實(shí)現(xiàn)相同的功能,在編寫主文件清單時(shí),除了要遵循XML語言的語法規(guī)則外,還要遵循SCORM標(biāo)準(zhǔn)的Schema模式.Schema模式規(guī)定了元素的名稱、子元素的出現(xiàn)順序和次數(shù)、元素間的嵌套關(guān)系以及屬性值等.對于主文件清單的每一部分內(nèi)容,都有相應(yīng)的Schema模式對其進(jìn)行約束,其中最重要的主文件清單框架的Schema模式如圖4所示.
本例的主文件清單的設(shè)計(jì)流程為:
1)建立課程結(jié)構(gòu)與分解學(xué)習(xí)內(nèi)容.根據(jù)學(xué)習(xí)的目的和具體內(nèi)容,將整個(gè)課程分解成一系列的學(xué)習(xí)活動,每一項(xiàng)活動都有相應(yīng)的內(nèi)容資源.學(xué)習(xí)活動通過對內(nèi)容資源的引用,從而獲得實(shí)際的學(xué)習(xí)資源.SCORM標(biāo)準(zhǔn)強(qiáng)調(diào)學(xué)習(xí)內(nèi)容的可重用性、獨(dú)立性.因此,要根據(jù)學(xué)習(xí)內(nèi)容的特點(diǎn),以及學(xué)習(xí)過程中所要遵守的教育學(xué)、心理學(xué)規(guī)律,將學(xué)習(xí)內(nèi)容離散成相對獨(dú)立的內(nèi)容資源.在本例主文件清單中,有關(guān)課程結(jié)構(gòu)與內(nèi)容資源的代碼如下所示:
……
……
2)設(shè)置內(nèi)容資源類型.微單元 Asset 和可共享內(nèi)容對象 SCO 是兩種內(nèi)容資源類型[10].微單元是最簡單的學(xué)習(xí)素材,學(xué)習(xí)者與它之間的交互信息不會被LMS記錄;而可共享內(nèi)容對象是一個(gè)或多個(gè)微單元的集合,是最小的能被 LMS 跟蹤的學(xué)習(xí)對象.學(xué)習(xí)者在學(xué)習(xí)一個(gè)SCO 時(shí),相關(guān)的學(xué)習(xí)信息如:學(xué)習(xí)時(shí)間、掌握情況、完成情況等都會被記錄下來,并儲存到學(xué)習(xí)管理系統(tǒng)( LMS)中. 本例中,部分內(nèi)容資源的類型設(shè)置情況如下所示.
……
……
3)排序規(guī)則.在排序規(guī)則中,學(xué)習(xí)目標(biāo)是最重要的.對于實(shí)現(xiàn)學(xué)習(xí)者的學(xué)習(xí),有著重要的作用.學(xué)習(xí)者對各項(xiàng)內(nèi)容的學(xué)習(xí),將不是按順序固定的,而是通過排序規(guī)則來進(jìn)行設(shè)置.將制定控制模式、上傳規(guī)則及學(xué)習(xí)目標(biāo)等各項(xiàng)參考值,從而使得LMS能夠根據(jù)個(gè)體實(shí)際的學(xué)習(xí)情況,展現(xiàn)出不同的學(xué)習(xí)內(nèi)容.SCORM中的學(xué)習(xí)目標(biāo)(objectives)實(shí)際上是一個(gè)存儲相關(guān)學(xué)習(xí)信息(如:學(xué)習(xí)時(shí)間、學(xué)習(xí)進(jìn)度、內(nèi)容掌握度等)的變量[11].學(xué)習(xí)的過程中,LMS將與SCO有關(guān)的學(xué)習(xí)信息值賦予對象(objectives),從而在學(xué)習(xí)管理系統(tǒng)過程中將其存儲.學(xué)習(xí)管理系統(tǒng)能夠根據(jù)學(xué)習(xí)目標(biāo)的儲存值,按預(yù)先設(shè)定好的排序規(guī)則,將特定的內(nèi)容呈現(xiàn)給學(xué)習(xí)者,達(dá)到學(xué)習(xí)目標(biāo),并反饋信息給教員,掌握學(xué)習(xí)者的學(xué)習(xí)動態(tài),方便教員及時(shí)調(diào)整教學(xué)方法.
本例中部分排序信息代碼如下.
0.75
……
以上內(nèi)容就構(gòu)成了主文件清單的主要內(nèi)容.
2.3設(shè)計(jì)API
API是一些由ECMAScript(Javascript)語言編寫的功能函數(shù)[12].API的使用能夠滿足很多SCORM的高級別的交互和重用的要求.而SCO和LMS的情況,將需在SCO的網(wǎng)頁中,加入API功能,來更改其源代碼.
本例中API的設(shè)計(jì)流程如下所示:
1)添加SCORM數(shù)據(jù)包腳本文件APIWrapper.js和Functions.js.
APIWrapper.js是實(shí)現(xiàn)跟蹤功能的基本函數(shù)文件.當(dāng)SCO被LMS啟動時(shí),SCO利用findAPI()函數(shù)去尋找LMS提供的APIInstance,當(dāng)找到APIInstance后,SCO調(diào)用APIInstance中的函數(shù)來實(shí)現(xiàn)與LMS之間的交互.SCO與LMS的交互數(shù)據(jù)都被儲存在數(shù)據(jù)模型當(dāng)中.
Functions.js是根據(jù)項(xiàng)目需求而設(shè)計(jì)開發(fā)的實(shí)現(xiàn)特定功能的自定義函數(shù)文件,如成績函數(shù)、限時(shí)函數(shù)、自動化函數(shù)等.
通過在SCORM數(shù)據(jù)包中,將上述兩個(gè)函數(shù)文件置于其中,并在SCO的網(wǎng)頁中添加以下代碼片段: