摘要:數(shù)字化實(shí)驗(yàn)系統(tǒng)是對(duì)傳統(tǒng)常規(guī)實(shí)驗(yàn)手段的重大創(chuàng)新。文章重點(diǎn)論述了中學(xué)理科數(shù)字化實(shí)驗(yàn)系統(tǒng)在開(kāi)發(fā)和設(shè)計(jì)中面臨的問(wèn)題,尤其是對(duì)目前國(guó)內(nèi)大部分同類系統(tǒng)尚未很好解決的通用實(shí)驗(yàn)和專用實(shí)驗(yàn)之間的矛盾、實(shí)驗(yàn)過(guò)程的有效控制、實(shí)驗(yàn)數(shù)據(jù)的正確分析、實(shí)驗(yàn)數(shù)據(jù)的存儲(chǔ)管理、實(shí)驗(yàn)過(guò)程的重放等問(wèn)題,提出了解決方案;對(duì)未來(lái)數(shù)字化實(shí)驗(yàn)系統(tǒng)面向互聯(lián)網(wǎng)、支持手持移動(dòng)終端等發(fā)展方向作了展望。
關(guān)鍵詞:數(shù)字化實(shí)驗(yàn)系統(tǒng);中學(xué)理科教學(xué);通用實(shí)驗(yàn);專用實(shí)驗(yàn);實(shí)驗(yàn)?zāi)0澹粋鞲衅?;控?/p>
0 引言
數(shù)字化實(shí)驗(yàn)系統(tǒng)(有時(shí)也稱為計(jì)算機(jī)輔件)一般由傳感器、測(cè)控器(或數(shù)據(jù)采集器)、有關(guān)的軟件和計(jì)算機(jī)組成,其中計(jì)算機(jī)是數(shù)字化實(shí)驗(yàn)系統(tǒng)的核心。通過(guò)數(shù)字化實(shí)驗(yàn)系統(tǒng)可以把課堂創(chuàng)建為一種學(xué)習(xí)者能主動(dòng)建構(gòu)知識(shí)的環(huán)境。數(shù)字化實(shí)驗(yàn)系統(tǒng)能夠支持學(xué)生在實(shí)驗(yàn)中進(jìn)行定量的測(cè)量,特別是測(cè)量一些使用傳統(tǒng)設(shè)備很難測(cè)量的變量,使學(xué)生積極參與到以觀察和實(shí)驗(yàn)為主的探究學(xué)習(xí)中,實(shí)施探究并且獲得有效的學(xué)習(xí)效果,是信息技術(shù)與學(xué)科教學(xué)整合的有效手段。
本文著重論述的是中學(xué)理科數(shù)字化實(shí)驗(yàn)系統(tǒng)開(kāi)發(fā)和設(shè)計(jì)中面臨的問(wèn)題及解決方案。中學(xué)理科實(shí)驗(yàn)是一個(gè)相對(duì)比較寬泛的概念。其中,物理實(shí)驗(yàn)是最主要的部分,涉及到的實(shí)驗(yàn)包括力學(xué)、電磁學(xué)等方面原理;化學(xué)和生物學(xué)實(shí)驗(yàn)則主要涉及到成分測(cè)量方面的實(shí)驗(yàn)。
由于理科實(shí)驗(yàn)中各類不同實(shí)驗(yàn)之間差別較大,因此要將這些實(shí)驗(yàn)統(tǒng)一在同一個(gè)固定操作界面的軟件上,其實(shí)現(xiàn)就會(huì)有相當(dāng)?shù)碾y度。而為每個(gè)單獨(dú)實(shí)驗(yàn)定制專門(mén)的程序,意味著程序的開(kāi)發(fā)量不可控,同時(shí)也很難滿足所有教師在教學(xué)上的個(gè)性化要求。
筆者近期承接了數(shù)字化實(shí)驗(yàn)系統(tǒng)的開(kāi)發(fā)任務(wù),在設(shè)計(jì)過(guò)程中,發(fā)現(xiàn)國(guó)內(nèi)大部分的同類軟件產(chǎn)品都存在上述問(wèn)題。而另一個(gè)情況是大部分的國(guó)內(nèi)軟件目前都無(wú)法做到隨時(shí)保存實(shí)驗(yàn)數(shù)據(jù)和實(shí)驗(yàn)分析過(guò)程,留待重新調(diào)用或重放實(shí)驗(yàn)過(guò)程。
1 通用實(shí)驗(yàn)和專用實(shí)驗(yàn)矛盾的解決
在國(guó)外成熟的數(shù)字化實(shí)驗(yàn)系統(tǒng)中,基本不存在通用實(shí)驗(yàn)和專用實(shí)驗(yàn)的概念。不同的實(shí)驗(yàn)是通過(guò)設(shè)計(jì)不同的模板來(lái)實(shí)現(xiàn)的。要實(shí)現(xiàn)這一點(diǎn),需要幾個(gè)前提:
(1)軟件運(yùn)行的配置項(xiàng)經(jīng)過(guò)有效的歸納整理,都已完全參數(shù)化。程序運(yùn)行的各種可能性,包括界面表現(xiàn)、操作流程等要素都可預(yù)先通過(guò)參數(shù)配置來(lái)進(jìn)行控制。
(2)無(wú)論模板如何變化,數(shù)據(jù)的管理構(gòu)架都是統(tǒng)一的,能夠采用同一種方法存儲(chǔ)和調(diào)用以及傳輸。
(3)提供自由的數(shù)據(jù)變換方式和自由公式編輯功能。否則就無(wú)法滿足不同實(shí)驗(yàn)對(duì)數(shù)據(jù)計(jì)算、轉(zhuǎn)換以及數(shù)據(jù)分析方面的要求。
(4)提供豐富的數(shù)據(jù)分析工具,包括直線擬合、各類曲線擬合以及積分、求導(dǎo)、統(tǒng)計(jì)等。
(5)提供通用實(shí)驗(yàn)報(bào)告功能。
國(guó)內(nèi)的同類軟件,由于多數(shù)沒(méi)有經(jīng)過(guò)很好的設(shè)計(jì),軟件的開(kāi)發(fā)是“見(jiàn)招拆招”,碰到問(wèn)題才考慮怎么解決。在這樣的開(kāi)發(fā)模式下,要通過(guò)通用的程序+實(shí)驗(yàn)?zāi)0宓姆绞浇鉀Q所有的實(shí)驗(yàn)問(wèn)題是不現(xiàn)實(shí)的。正是由于這個(gè)原因,國(guó)內(nèi)目前的同類軟件都是采用通用軟件+專用軟件結(jié)合的方式,既每個(gè)實(shí)驗(yàn)都是單獨(dú)編制一個(gè)程序。這樣做既浪費(fèi)開(kāi)發(fā)時(shí)間,又讓教師和學(xué)生在使用過(guò)程中喪失了探究的可能性。
2 解決方案
2.1設(shè)計(jì)
分析了國(guó)外成熟數(shù)字化實(shí)驗(yàn)系統(tǒng)的做法后,我們決定采用通用軟件平臺(tái)+定制實(shí)驗(yàn)?zāi)0宓姆椒▉?lái)解決通用實(shí)驗(yàn)和專用實(shí)驗(yàn)之間的矛盾(見(jiàn)圖1)。
可以把通用程序看作實(shí)驗(yàn)?zāi)0宓慕馕銎骱瓦\(yùn)行平臺(tái)。實(shí)驗(yàn)?zāi)0宕鎯?chǔ)了以下信息(見(jiàn)圖2):①軟件運(yùn)行參數(shù)的配置庫(kù);②實(shí)驗(yàn)控件配置信息;③預(yù)先設(shè)定的數(shù)據(jù)換算方法;④預(yù)先設(shè)定的數(shù)據(jù)分析方法;⑤預(yù)先設(shè)定的實(shí)驗(yàn)說(shuō)明文件;⑥預(yù)先設(shè)定的實(shí)驗(yàn)報(bào)告格式。
軟件運(yùn)行參數(shù)的配置庫(kù)存儲(chǔ)的是通用軟件平臺(tái)在實(shí)際運(yùn)行過(guò)程中的配置情況。主要包括以下幾個(gè)方面:
(1)實(shí)驗(yàn)類參數(shù)。包括實(shí)驗(yàn)名稱、實(shí)驗(yàn)類型、實(shí)驗(yàn)可重復(fù)最大次數(shù)、實(shí)驗(yàn)持續(xù)時(shí)間。
(2)傳感器類參數(shù)。包括實(shí)驗(yàn)所采用的傳感器類型、數(shù)量、采樣頻率、采樣方式等。
其中實(shí)驗(yàn)類參數(shù)決定了該實(shí)驗(yàn)?zāi)0宓膶傩悦枋?,通過(guò)這些屬性描述清楚地定義了該模板的實(shí)際使用范圍。而傳感器參數(shù)則決定了軟件在運(yùn)行過(guò)程中如何檢查設(shè)備連接情況以及如何配置這些連接設(shè)備。
實(shí)驗(yàn)控件配置信息存儲(chǔ)的是軟件平臺(tái)在運(yùn)行過(guò)程中需要在界面上展現(xiàn)哪些實(shí)驗(yàn)控件,以及這些控件的名稱、位置、顏色、背景圖樣以及所顯示的數(shù)據(jù)等屬性。
預(yù)先設(shè)定的數(shù)據(jù)換算方法存儲(chǔ)的是原始實(shí)驗(yàn)數(shù)據(jù)從傳感器上傳后,如何換算成不同的數(shù)列集。
預(yù)先設(shè)定的數(shù)據(jù)分析方法存儲(chǔ)的是一些預(yù)設(shè)的數(shù)據(jù)分析算法庫(kù)。當(dāng)實(shí)驗(yàn)數(shù)據(jù)采集完畢后,實(shí)驗(yàn)操作者只需點(diǎn)選預(yù)設(shè)的曲線類型,程序就能對(duì)實(shí)驗(yàn)數(shù)據(jù)畫(huà)出擬合曲線。
預(yù)先設(shè)定的實(shí)驗(yàn)說(shuō)明文件存儲(chǔ)的是實(shí)驗(yàn)?zāi)0逯谱髡?通常是教師)。為了能通過(guò)圖文描述實(shí)驗(yàn)的裝置情況、實(shí)驗(yàn)原理、實(shí)驗(yàn)步驟等,預(yù)先編寫(xiě)的實(shí)驗(yàn)說(shuō)明書(shū)。模板也應(yīng)存儲(chǔ)這些實(shí)驗(yàn)說(shuō)明文件。
預(yù)先設(shè)定的實(shí)驗(yàn)報(bào)告格式存儲(chǔ)了教師預(yù)先定義的實(shí)驗(yàn)報(bào)告指定格式。
要實(shí)現(xiàn)實(shí)驗(yàn)?zāi)0?,則首先需要分析所有的實(shí)驗(yàn),不會(huì)變化的要素有哪些(共性),變化的要素有哪些(個(gè)性),如何保存、記錄這些要素,如何正確重現(xiàn)這些要素。
2.2實(shí)驗(yàn)的共性要素
對(duì)于中學(xué)理科實(shí)驗(yàn)應(yīng)用到數(shù)字化實(shí)驗(yàn)系統(tǒng),共性的是實(shí)驗(yàn)過(guò)程。所有的實(shí)驗(yàn)流程都是按照下述步驟進(jìn)行的:①閱讀實(shí)驗(yàn)指導(dǎo)。②布置實(shí)驗(yàn)器材。③采集數(shù)據(jù)。④觀察數(shù)據(jù),并對(duì)采集的數(shù)據(jù)進(jìn)行各類分析。⑤形成實(shí)驗(yàn)報(bào)告。其中第④步驟,觀察和分析數(shù)據(jù)采用了圖形(圖3)和數(shù)據(jù)列表(圖4)兩種描述工具。
2.3實(shí)驗(yàn)的個(gè)性要素
針對(duì)實(shí)驗(yàn)的每個(gè)步驟,有許多可配置的個(gè)性要素。例如:
(1)針對(duì)實(shí)驗(yàn)指導(dǎo)階段,應(yīng)顯示哪篇實(shí)驗(yàn)指導(dǎo)文件。
(2)針對(duì)實(shí)驗(yàn)裝置布置階段,采用哪幾種類型的傳感器,采樣頻率各是多少,量程各是多少,數(shù)據(jù)采集方式是連續(xù)采集,還-是值變化采集,或是閥值觸發(fā)方式采集。
(3)在數(shù)據(jù)觀察分析階段,可配置的個(gè)性項(xiàng)就更多了。例如,共分幾個(gè)頁(yè)面展示數(shù)據(jù)和圖形,每個(gè)頁(yè)面各布置什么控件,每個(gè)控件的位置和大小,每個(gè)數(shù)據(jù)列表框和數(shù)據(jù)圖形窗各顯示哪幾列數(shù)據(jù)等等。
(4)對(duì)于實(shí)驗(yàn)報(bào)告階段則需要配置哪些數(shù)據(jù)被抽取到實(shí)驗(yàn)報(bào)告中等。
(5)其它各類輔助性的配置參數(shù),比如本實(shí)驗(yàn)的名稱,類型(物理、化學(xué)、生物)等等。
2.4實(shí)驗(yàn)要素的記錄和保存
本軟件采用數(shù)據(jù)列表集合的方式保存上述所有的配置信息。
配置信息數(shù)據(jù)列表集合采用下述結(jié)構(gòu)(見(jiàn)圖5):
這些設(shè)置表分別如下:①BaseSet基本設(shè)置表;②SensorSet傳感器設(shè)置表;③ControlSet控件設(shè)置表,其結(jié)構(gòu)見(jiàn)表1。
每個(gè)控件自己獨(dú)立向該表記錄自己的關(guān)鍵信息,如位置、大小、關(guān)聯(lián)的數(shù)據(jù)等。記錄哪些信息都是由控件自己獨(dú)立決定的。每條記錄都必須標(biāo)示是屬于哪個(gè)控件的,該控件的父控件是誰(shuí)。這樣當(dāng)從數(shù)據(jù)列表中恢復(fù)控件時(shí),就能準(zhǔn)確得得到該控件相關(guān)的所有信息。
(1)CalcDataSet計(jì)算數(shù)列設(shè)置表
本表采用動(dòng)態(tài)增加字段的方式,每個(gè)字段有一個(gè)Expression屬性,該屬性決定了字段內(nèi)容生成的公式。在公式中可以使用傳感器獲得的數(shù)據(jù),可使用變量表中的數(shù)據(jù),也可使用其它計(jì)算數(shù)列的數(shù)據(jù)。例如:CalcData2的Expression為:Sensorl*Variablel+CaleDatal,表示CalcData2的數(shù)據(jù)內(nèi)容為同一行中的Sensorl數(shù)據(jù)乘上變量Variablel中的數(shù)據(jù),再加上CalcDatal中的數(shù)據(jù)。
(2)VariableSet變量設(shè)置表(略)
上述信息都是在實(shí)驗(yàn)?zāi)0逶O(shè)計(jì)階段實(shí)時(shí)記錄的。當(dāng)需要保存這些信息至文件時(shí),軟件對(duì)《模板數(shù)據(jù)列表集合》進(jìn)行序列化操作,以xML的格式保存至文件中。當(dāng)需要恢復(fù)該《模板數(shù)據(jù)列表集合》時(shí),則從文件中讀出XML數(shù)據(jù)流,并進(jìn)行反序列化操作。
序列化的代碼例程:
2.5正確重現(xiàn)控件
傳感器配置信息、實(shí)驗(yàn)基本配置信息、計(jì)算數(shù)列信息等在反序列化操作后,都不必進(jìn)行后處理。而控件信息在反序列化后,需要進(jìn)行還原。在本軟件中,所有的近控件都布置在—個(gè)個(gè)TabPage中,因此需要首先正確還原各TabPage。當(dāng)—個(gè)TabPage還原后,再輪詢整個(gè)ControlSet數(shù)據(jù)列表,將凡屬于該TabPage的所有控件(ParemName=該TabPage)依次還原到該TabPage上(見(jiàn)圖6)。
2.6實(shí)驗(yàn)數(shù)據(jù)的有效存儲(chǔ)、實(shí)驗(yàn)過(guò)程重放
在采用模板方式解決了通用實(shí)驗(yàn)和專用實(shí)驗(yàn)之間的矛盾后,實(shí)驗(yàn)數(shù)據(jù)的有效存儲(chǔ)、傳輸和實(shí)驗(yàn)過(guò)程重放并不難解決。由于軟件的模板采用XML格式存儲(chǔ),而軟件的數(shù)據(jù)也完全可以采用該格式存儲(chǔ)。實(shí)際上,模板和數(shù)據(jù)是同一個(gè)結(jié)構(gòu),這樣也便于軟件處理。
軟件在內(nèi)存中設(shè)立一個(gè)存儲(chǔ)實(shí)驗(yàn)數(shù)據(jù)的DataSet。在實(shí)驗(yàn)開(kāi)始前,該DataSet是空的。當(dāng)軟件從傳感器讀入數(shù)據(jù)后,軟件將這些原始數(shù)據(jù),以及這些原始數(shù)據(jù)經(jīng)過(guò)計(jì)算后得到的計(jì)算列數(shù)據(jù)一并存儲(chǔ)在DataSet中。如果操作者選擇保存數(shù)據(jù),則軟件簡(jiǎn)單地將整個(gè)DataSet經(jīng)過(guò)XML格式序列化轉(zhuǎn)換,存儲(chǔ)到文件中。當(dāng)需要時(shí),將文件中的XML流反序列化覆蓋內(nèi)存中的DataSet即可。
實(shí)驗(yàn)過(guò)程回放的實(shí)現(xiàn)方法為:首先清空?qǐng)D形控件中的數(shù)據(jù)(使圖形控件恢復(fù)到空白狀態(tài)),然后通過(guò)一個(gè)時(shí)間閥將DataSet中的數(shù)據(jù)重新傳輸給各個(gè)圖形控件。通過(guò)控制時(shí)間閥的頻率,就能控制數(shù)據(jù)回放的速率。這樣就能看清某些瞬間發(fā)生的實(shí)驗(yàn)狀況,也能看到以前實(shí)驗(yàn)的進(jìn)行過(guò)程。
對(duì)于各個(gè)控件而言,實(shí)驗(yàn)過(guò)程回放本質(zhì)上可看作從數(shù)據(jù)源重新讀取數(shù)據(jù)的過(guò)程,只是數(shù)據(jù)源從采集器替換為數(shù)據(jù)表,同時(shí)控制了數(shù)據(jù)獲取的速度。由于各控件是數(shù)據(jù)事件觸發(fā)的,因此,對(duì)各控件而言,正式的實(shí)驗(yàn)過(guò)程與實(shí)驗(yàn)過(guò)程回放并沒(méi)有本質(zhì)的區(qū)別。
3 數(shù)據(jù)化實(shí)驗(yàn)系統(tǒng)未來(lái)的發(fā)展方向
中學(xué)理科實(shí)驗(yàn)是隨著中國(guó)課程改革的發(fā)展而不斷發(fā)展的。目前階段,中學(xué)理科實(shí)驗(yàn)剛剛開(kāi)始經(jīng)歷從傳統(tǒng)實(shí)驗(yàn)手段向數(shù)字化實(shí)驗(yàn)手段轉(zhuǎn)化的過(guò)程。而從未來(lái)的趨勢(shì)來(lái)看,中學(xué)理科實(shí)驗(yàn)還將經(jīng)歷從重復(fù)經(jīng)典實(shí)驗(yàn)到設(shè)計(jì)探究性實(shí)驗(yàn)的發(fā)展,以及從課堂實(shí)驗(yàn)到戶外大型的體驗(yàn)型實(shí)驗(yàn)的發(fā)展。因此,數(shù)字化實(shí)驗(yàn)系統(tǒng)應(yīng)在以下方面得到加強(qiáng):
(1)更為自由和便捷的模板化設(shè)計(jì)。數(shù)字化實(shí)驗(yàn)系統(tǒng)應(yīng)能為教師提供更為自由的定制手段。而同時(shí),數(shù)字化實(shí)驗(yàn)系統(tǒng)則應(yīng)為學(xué)生提供盡量簡(jiǎn)單實(shí)用的用戶體驗(yàn)設(shè)計(jì)。
(2)對(duì)互聯(lián)網(wǎng)應(yīng)用的支持。在未來(lái)的數(shù)字化實(shí)驗(yàn)領(lǐng)域,應(yīng)能通過(guò)互聯(lián)網(wǎng)進(jìn)行各類實(shí)驗(yàn)數(shù)據(jù)的交換、界面共享、遠(yuǎn)程實(shí)驗(yàn)指導(dǎo)、遠(yuǎn)程實(shí)驗(yàn)報(bào)告處理等。
(3)對(duì)更先進(jìn)傳感器的支持。目前國(guó)外已經(jīng)發(fā)展出基于藍(lán)牙技術(shù)的無(wú)線傳感器,可用于測(cè)量游樂(lè)場(chǎng)過(guò)山車速度、位移、加速度等的大型戶外實(shí)驗(yàn)。由于傳感器、藍(lán)牙等都是成熟的應(yīng)用,因此技術(shù)并不是門(mén)檻,而軟件則應(yīng)能支持這些新技術(shù)的傳感器。
(4)基于手持設(shè)備的簡(jiǎn)化版本。由于戶外實(shí)驗(yàn)的需要,數(shù)字化實(shí)驗(yàn)系統(tǒng)應(yīng)開(kāi)發(fā)出基于類似Pocket PC等手持設(shè)備操作系統(tǒng)的版本。這樣,教師和學(xué)生就可以通過(guò)基于藍(lán)牙的無(wú)線傳感器、掌上電腦等設(shè)備,完成諸如海拔測(cè)量、火車加速度測(cè)試等大型戶外探索型實(shí)驗(yàn)了。
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”