天天被操天天被操综合网,亚洲黄色一区二区三区性色,国产成人精品日本亚洲11,欧美zozo另类特级,www.黄片视频在线播放,啪啪网站永久免费看,特别一级a免费大片视频网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>計算機論文>基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)

基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)

時間:2022-08-06 11:00:51 計算機論文 我要投稿
  • 相關(guān)推薦

基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)

摘 要 本文介紹一個用J++實現(xiàn)的基于Web環(huán)境的協(xié)同式計算機輔助教學軟件的結(jié)構(gòu),并給出了具體實現(xiàn)中的一些關(guān)鍵技術(shù)。
關(guān)鍵詞 J++,Web,遠程教學,Socket通信

1 引言
  隨著Internet網(wǎng)絡技術(shù)的發(fā)展,遠程多媒體教學成為當前的研究熱點;贗nternet的WWW應用模式作為一種方便、迅速的共享信息手段,深受用戶歡迎。用戶通過訪問超文本頁面瀏覽多媒體教學內(nèi)容,通過點擊超鏈去進行自由的探索式學習。但僅基于超文本頁面的教學存在很多缺點,如:學生容易在超鏈中迷失方向;教師不能對學生的學習行為進行控制,教學過程缺乏有序性;教師與學生之間不能進行交流,教師對學生的學習效果缺乏檢查手段等。本文介紹的計算機輔助教學軟件克服了以上缺點,整個軟件采用J++編寫實現(xiàn),由服務器部分、學生部分、教師教學部分、課件維護部分共四部分組成,該軟件實際上為一個教學框架系統(tǒng),所有教學材料由教師安排,教師和學生通過訪問各自的URL地址進入角色。學生在教師的現(xiàn)場控制進行學習、討論、練習和測試。

2 系統(tǒng)的功能
2.1 超文本頁面學習
  教師對學生的學習頁面進行統(tǒng)一向?qū)。教師選擇學習頁面,將此頁面的URL地址傳送給學生,引導學生到該Web頁面進行學習,如此增加了學習的針對性,滿足有組織、有控制的教學需要。
2.2 實時討論
  實時討論是協(xié)同式教學軟件的一個基本特征。在討論期間,教師可提問學生,安排作業(yè)等,學生則可將自己的學習體會及疑問告訴教師。學生之間可以就學習中的問題進行實時交談。系統(tǒng)提供了兩種工具以支持網(wǎng)上實時討論:一種是純文字交談,如果發(fā)言者未選擇用戶,則為公開發(fā)言,否則為私下發(fā)言,只送往選定用戶,在各用戶的討論面板上有一個文本域顯示每條發(fā)言的發(fā)言者及發(fā)言內(nèi)容。另一種是共享白板,教師和學生都可往白板上寫內(nèi)容,白板內(nèi)容所有用戶保持一致,共享白板可支持線、圓、矩形、文字等基本繪圖操作,并可選擇線條顏色。
2.3 交互式做練習
  教師發(fā)出練習的指示消息,則學生將自動進入練習界面,系統(tǒng)自動從試題庫中調(diào)與學習問題有關(guān)的試題供學生操練,在操練時,系統(tǒng)將學生的解答與標準答案對比看是否答對,并彈出對話框給學生反饋鼓勵信息。交互式練習有助于學生加深對教學內(nèi)容的理解。
2.4 網(wǎng)上測試
  測試是教學過程中不可缺少的教學環(huán)節(jié),通過測試,教師可對學生的學習進行考核,并借此了解學生的學習效果,為改進教學提供依據(jù)。學生則通過測試可了解自己對內(nèi)容的掌握情況,增加學習興趣。目前,每次測試試卷是由教師從試題庫選題組卷并安排分數(shù)。測試有時間限制。

3 系統(tǒng)的總體設計
  從系統(tǒng)要完成的功能看,有兩類工作方式:一類是客戶/服務器方式(如學生做題),客戶方發(fā)出訪問申請,服務方給出響應?蛻羰莿幼鞯陌l(fā)起者,何時發(fā)出申請由客戶方?jīng)Q定,客戶方發(fā)出申請后立即可從Socket通道去取服務方的結(jié)果。服務器方必須始終處于監(jiān)聽等待狀態(tài)。




圖1 系統(tǒng)的整體設計結(jié)構(gòu)

  另一類是網(wǎng)上的協(xié)作應用(如實時討論等),在這種方式中,任何一方都可能成為消息的發(fā)送方,而另一方則成為消息的接收方。發(fā)送方的動作由用戶界面的各類事件驅(qū)動引發(fā),其時間性是偶然的,接收方必須時刻處于接收監(jiān)聽狀態(tài)。由于通信雙方處于對等的位置,因此雙方都要處于接收等待狀態(tài)。
  由于Java的安全性限制,兩客戶瀏覽器間不能直接建立Socket連接,要實現(xiàn)兩瀏覽器間的通信必須通過Web服務器上的Java應用程序進行轉(zhuǎn)接。綜上所述,為了實現(xiàn)系統(tǒng)的功能,筆者將系統(tǒng)的總體設計為如圖1的形式。
  有關(guān)說明:
① 學生和教師分別以客戶/服務器的方式與Web服務器上Java應用程序建立通信連接。服務器方的連接監(jiān)聽線程負責監(jiān)聽來自客戶的Socket連接申請。服務方要為每個連接客戶建立一個消息處理線程,該線程負責接收來自相應客戶的消息,對消息進行分析處理。將消息轉(zhuǎn)發(fā)到其他客戶。
② 學生和教師方都有一個消息接收線程負責接收來自服務方的消息。該線程通過調(diào)用用戶界面對象中的方法將消息要求反映在用戶界面上。為此,在設計消息接收線程類時,在其構(gòu)造方法中將用戶界面對象作為參數(shù)傳給該類的對象,這是Java中實現(xiàn)對象間互訪的基本方法。
③ 訪問試題庫的過程是學生方發(fā)送相應消息到服務器,服務器方通過COM組件RDO訪問基于ODBC的數(shù)據(jù)庫,并將訪問結(jié)果傳回給學生。
④ 教師可對學生的學習過程進行控制,在服務器方有一個線程專門接收來自教師的控制消息并將其轉(zhuǎn)發(fā)給學生,這些控制包括頁面學習向?qū)Ш蛯W習階段的控制,這些學習階段包括:實時討論、做練習、測試。學生的操作界面將隨教師的控制消息變化。

4 幾個技術(shù)關(guān)鍵
4.1 數(shù)據(jù)庫訪問
  Virsual J++針對Microsoft操作系統(tǒng)對Java類庫做了專門的擴展,它將Java與COM(組件對象模型)和支持Java的Internet Explorer 3.0瀏覽器相集成,用戶可在Java程序中訪問任何支持COM的軟件。對于數(shù)據(jù)庫的訪問,在J++中提供了DAO(Data Access Object)和RDO(Remote Data Object)兩種方法。本軟件中采用RDO對象實現(xiàn)對ODBC數(shù)據(jù)源數(shù)據(jù)的訪問。由于對數(shù)據(jù)庫的連接是建立在ODBC的基礎(chǔ)上,所以可以支持對各種類型的數(shù)據(jù)庫訪問。筆者采用的是Access數(shù)據(jù)庫。
  通常,Java Applet是在一個“沙箱”中運行,可訪問的資源有限,使用COM服務意味著存取沙箱之外的資源,為此,IE在安全性上要作嚴格的檢查,它將Java類分為可信類和不可信類,不可信類不能使用COM服務,所有不是從類路徑裝入的類都是不可信的,包括從網(wǎng)上下載的類,除非它們被封裝在具有一個數(shù)字簽名的.CAB文件中。為了避免安全性帶來的麻煩和減少客戶端的ODBC配置,筆者在訪問試題庫的部分中采用了由服務器方Java應用程序訪問數(shù)據(jù)庫的辦法,無安全性限制。瀏覽器方Applet程序通過與服務器方應用程序通信來傳遞訪問請求和結(jié)果。
  整個系統(tǒng)的數(shù)據(jù)庫表格設計如下:
. 填空題表:含試題標識號、問題號、難度、試題內(nèi)容、答案共五個字段。
. 判斷題表:結(jié)構(gòu)同上。
. 填空題試卷表:試題標識號、分數(shù)共兩字段。
. 判斷題試卷表:結(jié)構(gòu)同上。
. 教學內(nèi)容索引表:含章號、節(jié)號、問題號、問題名、URL地址共五個字段。
. 章標題表:含章號、標題共兩字段。
. 節(jié)標題表:含章號、節(jié)號、標題共三個字段。
. 成績登記庫:含姓名,成績兩字段。
  從數(shù)據(jù)庫設計可看出,本系統(tǒng)將教學內(nèi)容與試題庫中試題通過問題號連接起來。
4.2 數(shù)據(jù)通信處理
  從總體設計可知,系統(tǒng)有兩類應用,它們有不同的工作特點;诳蛻/

服務器的應用是客戶方發(fā)出訪問請求后,再直接在事件代碼中獲取服務方返回的結(jié)果;而對于協(xié)作應用則必須在所有客戶方分別設立消息監(jiān)聽線程去獲取和處理數(shù)據(jù)。從實現(xiàn)效率上考慮,這兩類應用不宜共用一條Socket通道。筆者采用了雙Socket通路的辦法。在服務方設立兩個Socket監(jiān)聽口,分別是8883和8884,所有客戶端要分別針對兩個監(jiān)聽口建立Socket連接。為避免創(chuàng)建過多線程,并將兩類應用通道分開,系統(tǒng)在通道的使用上作了一些特殊處理,具體情況說明如下:
  . 學生客戶:使用8883口發(fā)送消息,使用8883口接收數(shù)據(jù)庫訪問結(jié)果,使用8884口接收所有其它消息。
  . 服務器方:系統(tǒng)為每個客戶創(chuàng)建一個消息接收線程,它使用8883口接收消息,并將消息通過8884口的相應輸出流轉(zhuǎn)發(fā)給其他客戶方?紤]到只有教師能發(fā)控制消息,在服務器方,針對8884口只建立一個教師控制監(jiān)聽線程,它專門使用8884口接收教師控制消息,并通過8884口發(fā)送給所有學生。與學生對應的8884口的輸入流未用,因此服務方也不必創(chuàng)建相應的監(jiān)聽線程。
  . 教師方:使用8884口發(fā)送教學控制信息,使用8883口發(fā)送談話、白板、查分等消息。接收消息線程使用8884口接收消息。
  服務器方是通過8884口的輸出流將消息轉(zhuǎn)發(fā)到各個客戶方,這就要求與每個用戶連接對應的輸出流要能實現(xiàn)共享訪問,這是各用戶間互發(fā)信息的基礎(chǔ)。為此,在服務方通信線程類的設計上采用Static數(shù)組存放輸出流,這樣既可實現(xiàn)同一類中各對象間的數(shù)據(jù)共享,又可在不同類中通過類名直接訪問其數(shù)據(jù)。
  由于在服務方和客戶方都采用了多線程設計,系統(tǒng)的效率得以充分發(fā)揮。
4.3 消息設計
  整個系統(tǒng)是建立在消息基礎(chǔ)上的,服務器端和客戶端都承擔有消息處理的工作。大量基于協(xié)作應用的消息,服務方只負責轉(zhuǎn)發(fā),由客戶方進行處理。每類消息由消息頭和內(nèi)容組成,消息頭用于系統(tǒng)判別。在整個系統(tǒng)中,主要有6類消息:交談消息;白板消息;向?qū);用戶登入和退出消息;試題庫訪問消息其它消息(如登分、查分等)。
4.4 教學應用界面設計
4.4.1 教師界面
  教師操作界面是固定的,在Applet面板上含四部分內(nèi)容:①用戶列表;②控制面板,有頁面向?qū)、討論、練習、測試、查成績共五個按鈕,其中,前四個按鈕分別用來控制學生進入各學習階段,學生的界面將隨教師的控制變化;③交談文本顯示域和談話錄入按鈕,點擊“談話錄入”按鈕,將彈出一個文本錄入窗口供發(fā)送談話內(nèi)容;④共享白板及工具欄。
4.4.2 學生界面
  學生界面是一個變動的界面,由兩個幀構(gòu)成,一幀用來顯示Java Applet,另一幀顯示教師發(fā)送的URL頁面內(nèi)容。Applet幀的界面由多塊面板(分別是“登錄面板、“討論面板”、“練習面板”、“測試面板”)采用卡片布局構(gòu)成,初始為“登錄面板”,以后顯示哪塊面板由教師的控制消息去控制。URL顯示幀則按教師發(fā)送的URL內(nèi)容顯示多媒體頁面。在學生測試時,可允許學生在兩類試題(是非判斷題和填空題,選擇題可歸為填空一類)間來回切換,并可用翻動試題按鈕前后瀏覽試題。為了提高訪問試題的速度和減少服務器端的訪問負擔,在客戶端使用向量保存對已讀過的試題內(nèi)容、標準答案及學生的解答等信息,并引入一個標記向量標記某序號的題是否訪問過,只有沒訪問過的試題才去訪問試題庫。測試時將創(chuàng)建一個計時線程,時間用完或點擊“答題結(jié)束”按鈕,計算機將自動進行評分,將得分以對話框形式告訴用戶,同時寫入成績登記表供教師查詢。
4.5 URL向?qū)У膶崿F(xiàn)
  URL輸入與傳送 教師點擊“頁面向?qū)А卑粹o,系統(tǒng)將訪問學習內(nèi)容索引等表,并彈出一個對話框讓教師選定要學習的章節(jié)和問題,系統(tǒng)將其對應的URL地址通過Socket通道送往所有學生客戶端,同時教師端將彈出一個新瀏覽器顯示頁面以供確認。
  URL顯示 步驟如下:①使用URL類按接收字符串生成URL對象;②通過Applet類中的getAppletContext()方法取得小應用程序的AppletContext;③通過AppletContext接口的showDocument方法顯示URL內(nèi)容。該方法的具體格式和參數(shù)說明如下:
  void showDocument(URL url , String target)
  其中,target參數(shù)用于指定文件內(nèi)容顯示的位置,其具體值及作用見下表:


值 文件顯示位置
"—self" 當前幀
"—parent" 父幀
"—top" 最頂部的幀
"—blank" 開辟新瀏覽器窗口顯示
"幀名" 在指定的幀中顯示

  在教師方筆者采用了“—blank”的辦法,即另開辟一個瀏覽器窗口顯示URL內(nèi)容,供教師確認URL內(nèi)容。學生方采用了多幀的辦法,在HTML文件中安排多幀,一幀用來顯示Java Applet,另一幀顯示教師發(fā)送的URL頁面內(nèi)容,在HTML文件中規(guī)定幀的大小可調(diào)整,這樣學生可調(diào)整幀邊界去更方便地閱讀內(nèi)容。
5 結(jié)束語
  本文介紹了一個基于WWW的協(xié)作式教學軟件系統(tǒng)的具體實現(xiàn)方法。該軟件實際為一個教學框架系統(tǒng),具體教學內(nèi)容由教師使用系統(tǒng)的課件維護部分去安排和設計,如此可較好地發(fā)揮教師的主觀能動性。該軟件作為一個實用軟件在筆者的Java課程的教學中得以運用。筆者擬對該系統(tǒng)作如下改進:①提供自動組卷功能。②引入更完善的學生模型對學生的學習水平進行評估;提供多種教學方式,使系統(tǒng)在有教師和無教師兩種情形下都可運作,在CAI的智能性上做些工作。③在多媒體支持(如:共享視像和實時語音)上作研究。

作者簡介:丁振凡 副教授。主要研究方向:計算機輔助教學、計算機網(wǎng)絡。
作者單位:華東交通大學網(wǎng)絡中心 江西.南昌(330013)

參考文獻
1.廖衛(wèi)東,等編著.Java程序設計實用指南.北京:機械工業(yè)出版社,1996;(10)
2.美Jamie Jaworski著.曹康,等譯. Java開發(fā)指南.北京:中國水利水電出版社,1996
3.申瑞民,等.一個采用CLIENT/SERVER方式基于WWW的多用戶交流討論系統(tǒng).計算機工程,1998

【基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)】相關(guān)文章:

基于新課標實現(xiàn)教學需求08-16

基于Linux內(nèi)核的鍵盤模擬實現(xiàn)08-19

對制作CAI軟件的一些思考08-07

基于Client/Server 的課件系統(tǒng)的設計與實現(xiàn)04-12

論CAI英語教學軟件的評價標準08-17

政治教學中的引導發(fā)現(xiàn)式CAI模式08-17

實現(xiàn)基于Spring框架應用的權(quán)限控制系統(tǒng)08-19

在C 中實現(xiàn)JAVA的存儲管理機制08-09

素質(zhì)教育呼喚優(yōu)秀教學CAI軟件--談素質(zhì)教育與教學軟件開發(fā)08-17

基于Vxworks實時操作系統(tǒng)的串口通信程序設計與實現(xiàn)08-19