摘要:由于傳統(tǒng)教學(xué)系統(tǒng)中客戶端要求較高配置,這里介紹了一種B/S模型的教學(xué)互動(dòng)輔助平臺(tái)。在該系統(tǒng)中結(jié)合PHP、XML技術(shù)手段實(shí)現(xiàn)教學(xué)信息快速共享,從而達(dá)到教學(xué)中的資源共享,教學(xué)互動(dòng),電子舉手和作業(yè)提交等信息交互的目的。
關(guān)鍵詞:B/S;Flash;PHP;ASP;IIS;教學(xué)輔助;教學(xué)互動(dòng)
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)35-10114-02
Web-based Interactive Teaching Assistant Platform for Research and Implementation
CAI Ding-liang
(Zhongshan Torch Polytechnic, Zhongshan 528436, China)
Abstract: In the traditional teaching system,Clients require a higher profile,this paper introduce a kind of B/S model of interactive teaching assistant platform.In this system, with PHP, XML technology to achieve rapid information sharing of teaching,so as to achieve the the purpose of interaction that resource sharing, teaching an interactive, electronic job submission and other information show of hands,etc.
Key words: B/S; Flash; PHP; teaching aids; interactive teaching
隨著計(jì)算機(jī)的普及與多媒體教學(xué)內(nèi)容的豐富,應(yīng)用計(jì)算機(jī)教學(xué)內(nèi)容日益增多,教師實(shí)現(xiàn)多媒體信息化教學(xué)的同時(shí)也帶來(lái)在教室網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)信息共享、教學(xué)互動(dòng)、作業(yè)提交的教學(xué)輔助系統(tǒng)的需求。傳統(tǒng)的教學(xué)系統(tǒng)以客戶機(jī)/服務(wù)器模式居多,不僅對(duì)客戶端,而且對(duì)服務(wù)端的電腦也有一定的軟、硬件有一定要求,如對(duì)各種網(wǎng)卡、聲卡及顯卡都有兼容性能要求。
由于教師與學(xué)生存在一對(duì)多的形式,在實(shí)踐操作的過(guò)程中對(duì)學(xué)生一一去說(shuō)明和指導(dǎo)是一件不容易的事情。如果實(shí)踐后不能及時(shí)收取作業(yè),不能及時(shí)掌握學(xué)生對(duì)反饋信息,也就不能的學(xué)習(xí)效果,因此需要建立一個(gè)B/S架構(gòu)、適合internet/intranet實(shí)現(xiàn)教學(xué)課件共享、文件分發(fā)以及作業(yè)提交等教學(xué)要求且易擴(kuò)展的Web教學(xué)互動(dòng)輔助平臺(tái)。
1 相關(guān)理論與知識(shí)
B/S模式相比C/S模式有明顯的特征就是兼容性強(qiáng),用戶可實(shí)現(xiàn)跨平臺(tái)操作,能瀏覽網(wǎng)頁(yè)即可獲取服務(wù)端信息,服務(wù)端可通過(guò)增加網(wǎng)頁(yè)而增加服務(wù)端功能,因此B/S模型的系統(tǒng)都是“瘦”客戶端系統(tǒng)。
XML(可擴(kuò)展標(biāo)記語(yǔ)言)是W3C制定的,它不依附于特點(diǎn)瀏覽器語(yǔ)言。它可以實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)存儲(chǔ),使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),是當(dāng)前跨平臺(tái)數(shù)據(jù)通信的處理結(jié)構(gòu)化文檔信息的有力工具。系統(tǒng)可通過(guò)Flash+AJAX(javascript+XML)可以實(shí)現(xiàn)無(wú)刷新自動(dòng)同步更新,方便信息傳遞快捷安全。
ASP/PHP是網(wǎng)頁(yè)腳本編程的技術(shù),ASP調(diào)用系統(tǒng)組件功能比較強(qiáng),PHP提供了更多的可應(yīng)用組件。IIS是微軟提供的internet信息服務(wù)器軟件,IIS只對(duì)ASP腳本有解析和編譯能力,PHP具有充分利用了服務(wù)器的性能,有執(zhí)行高效的特性現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用,如需對(duì)PHP具有解析和編譯的話,可通過(guò)安裝PHPOpt4IIS后,IIS具有編譯和執(zhí)行PHP腳本的功能,這樣就可以“擇其善者而從之”的應(yīng)用豐富的網(wǎng)頁(yè)腳本實(shí)現(xiàn)Web應(yīng)用。
2 基于Web的教學(xué)互動(dòng)輔助平臺(tái)的功能分析和模塊
系統(tǒng)分為學(xué)生子系統(tǒng)、教師子系統(tǒng)來(lái)實(shí)現(xiàn),各個(gè)子系統(tǒng)都分為信息管理模塊和信息交互模塊,如圖1所示。
該系統(tǒng)實(shí)現(xiàn)學(xué)生用戶只需通過(guò)瀏覽器訪問(wèn)web系統(tǒng)的服務(wù)器即可,進(jìn)行系統(tǒng)登錄之后,就可以查看到信息下載、實(shí)現(xiàn)電子舉手、作業(yè)上傳功能。從而方便教師共享教學(xué)資料和教學(xué)要求,有問(wèn)題的同學(xué)可以通過(guò)點(diǎn)擊網(wǎng)頁(yè)實(shí)現(xiàn)舉手,確保實(shí)驗(yàn)教學(xué)環(huán)境安靜、有序、正常運(yùn)行。教師在上機(jī)教學(xué)前設(shè)定資源發(fā)布位置,學(xué)生可以及時(shí)找到與課程相關(guān)課件和實(shí)驗(yàn)要求,將實(shí)驗(yàn)中的作業(yè)按要求完成從而實(shí)現(xiàn)保存和上傳,如圖2所示。
2.1 信息管理模塊
信息管理包括信息采集、用戶設(shè)置、下載管理等部分。信息采集是教師在開(kāi)始上課時(shí)設(shè)置需要讓學(xué)生去訪問(wèn)的資源,將目錄給定了系統(tǒng)會(huì)自動(dòng)采集成可通過(guò)網(wǎng)絡(luò)訪問(wèn)的內(nèi)容。是信息鏈接生產(chǎn)的地方,也是文件信息轉(zhuǎn)變成數(shù)據(jù)庫(kù)記錄信息的地方。用戶設(shè)置是教師管理學(xué)生用戶的訪問(wèn)與登錄的數(shù)據(jù)操作模塊。下載管理是記錄使用信息的情況的模塊,記錄信息下載量。學(xué)生只要登錄了就能下載教師設(shè)置的共享資源。
2.2 信息交互模塊
信息交互包括“電子舉手”—“消息管理”和“作業(yè)上傳”—“作業(yè)存儲(chǔ)”等功能。學(xué)生在對(duì)所學(xué)或者使用時(shí)不懂可以通過(guò)“舉手功能”則教師端可以看得到,教師可以對(duì)信息予以回復(fù)或者直接予以解決。學(xué)生在實(shí)踐動(dòng)手操作完成后可以對(duì)作業(yè)進(jìn)行上傳操作,操作的文件會(huì)暫時(shí)存放在學(xué)生對(duì)應(yīng)學(xué)號(hào)的臨時(shí)目錄下,在學(xué)生確認(rèn)提交為作業(yè)時(shí)將作為作業(yè)保存到“作業(yè)存儲(chǔ)”目錄。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
圖3為系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)圖。
3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
XML文件是為了實(shí)現(xiàn)簡(jiǎn)單信息存儲(chǔ)和多瀏覽器而適用的信息載體,不能替代數(shù)據(jù)庫(kù)的存在,信息共享采集最初是放入信息庫(kù)中的,這樣才能實(shí)現(xiàn)信息的有序存儲(chǔ)、合理瀏覽、查詢,因此按照系統(tǒng)需求功能有教學(xué)資源庫(kù),讀者信息庫(kù),即時(shí)消息及作業(yè)信息庫(kù)等。
3.2 web服務(wù)技術(shù)設(shè)計(jì)
信息采集與共享采用ASP+XML技術(shù)實(shí)現(xiàn),ASP對(duì)指定文件夾進(jìn)行遍歷,獲取教學(xué)相關(guān)資料信息,教師可以按需選擇共享目錄,將其共享生成XML的文件信息列表同時(shí)將更新教學(xué)資源庫(kù),這樣,學(xué)生登錄后按照教學(xué)班級(jí)和進(jìn)度設(shè)置資源的訪問(wèn)信息通過(guò)網(wǎng)頁(yè)則可以訪問(wèn)所需內(nèi)容并下載。
遍歷指定文件夾中文件的核心代碼
<%Set fso = CreateObject(\"Scripting.FileSystemObject\")
Set theCurrentFolder = fso.GetFolder( path )
Set curFiles = theCurrentFolder.Files
' 給這些文件做一個(gè)循環(huán)
Dim theFiles( )
ReDim theFiles( 500 ) ' 任意定的一個(gè)大小
currentSlot = -1 ' start before first slot
' 我們將文件的所有相關(guān)信息放到數(shù)組里面
For Each fileItem in curFiles
fname = fileItem.Name
fext = InStrRev( fname, \".\" )
If fext < 1 Then fext = \"\" Else fext = Mid(fname,fext+1)
currentSlot = currentSlot + 1
If currentSlot > UBound( theFiles ) Then
ReDim Preserve theFiles( currentSlot + 99 )
End If
theFiles(currentSlot) = Array(fname,fext, fileItem.Type fileItem.Size,fcreate, fileItem.DateLastModified, fileItem.DateLastAccessed) ' 放到數(shù)組里
Next
ShowSubfolders fso.GetFolder(path)' 遍歷文件夾子文件夾的核心代碼
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
If fso.FolderExists(Subfolder.Path) Then
Set objFolder = fso.GetFolder(Subfolder.Path)
%> \\<%=objFolder.Name%>\" ><%=objFolder.Name%>
<%Else
response.write(\"SubFolder does not exist.
\")
End If
Next
End Sub
%>
顯示文件列表代碼:
<%
fileCount = currentSlot ' 文件數(shù)量
ReDim Preserve theFiles( currentSlot )
For i = 0 To fileCount
Response.Write \"
For j = 0 To UBound( theFiles(i) )
Response.Write \"
Next
Response.Write \"
Next
%>
生成的XML代碼
……
信息交互是通過(guò)flash、PHP和XML技術(shù)來(lái)實(shí)現(xiàn),當(dāng)學(xué)生在遇到問(wèn)題是點(diǎn)擊flash中的按鈕提交舉手請(qǐng)求后,通過(guò)php腳步更新即時(shí)消息庫(kù)。教師端:通過(guò)javascipt的無(wú)刷新更新XML技術(shù)即可將學(xué)生信息和舉手狀態(tài)信息在教師操作窗口在特定區(qū)域顯示出來(lái)。如圖5。
要實(shí)現(xiàn)上傳交互的要素包括以下幾項(xiàng):
1) Flash 應(yīng)用程序
2) 一個(gè)PHP/ASP/JSP頁(yè)面,用以獲取文件系統(tǒng)信息并在服務(wù)端創(chuàng)建文件的
3) 在服務(wù)端有讀寫權(quán)限的文件夾。
筆者實(shí)現(xiàn)的作業(yè)上傳是通過(guò)php和flash技術(shù)實(shí)現(xiàn),F(xiàn)lash 8為上傳提供了fileReference API,通過(guò)它對(duì)選中文件信息實(shí)現(xiàn)獲取與上傳信息顯示等操作。作業(yè)提交上傳的服務(wù)器時(shí)php腳本執(zhí)行從而實(shí)現(xiàn)上傳文件操作。
PHP代碼如下:
if (is_uploaded_file($_FILES['Filedata']['tmp_name'])){
$uploadDirectory=\"uploads/\";
$uploadFile=$uploadDirectory.basename($_FILES['Filedata']['name']);
copy($_FILES['Filedata']['tmp_name'], $uploadFile);
} ?>
4 小結(jié)
本文結(jié)合asp、php、xml、flash等網(wǎng)頁(yè)技術(shù)和數(shù)據(jù)庫(kù)技術(shù),實(shí)現(xiàn)了上機(jī)操作教學(xué)過(guò)程中的教學(xué)內(nèi)容的信息共享和教學(xué)互動(dòng),同時(shí)描述了學(xué)生上機(jī)訓(xùn)練的結(jié)果上傳和作業(yè)上傳功能,有利于教師及時(shí)掌握學(xué)生的實(shí)時(shí)教學(xué)情況并能按時(shí)收集上機(jī)操作作業(yè),將是實(shí)驗(yàn)教學(xué)應(yīng)用過(guò)程中簡(jiǎn)單適用的教學(xué)互動(dòng)輔助系統(tǒng)。目前該系統(tǒng)正在用于《計(jì)算機(jī)應(yīng)用基礎(chǔ)》的上機(jī)操作課程。
參考文獻(xiàn):
[1] How to create a file upload application using the FileReference API[EB/OL].http://markshu.ca/imm/flash/tutorial/fileReference.html.
[2] Gutmans A,Bakken S S,Rethans D.PHP5權(quán)威編程[M].簡(jiǎn)張桂,譯.北京:電子工業(yè)出版社,2007.
[3] 丁桂芝.ASP動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)教程[M].北京:中國(guó)鐵道出版社,2007.
[4] 張培.Flash 8入門與提高實(shí)例教程[M].北京:機(jī)械工業(yè)出版社,2007.
[5] XML Essentials[EB/OL].http://www.w3.org/standards/xml/core.
[6] XML TECHNOLOGY[EB/OL].http://www.w3.org/standards/xml/.
[7] 李方捷.ActionScript 3.0開(kāi)發(fā)技術(shù)大全[M].北京:清華大學(xué)出版社,2009.