唐 麟,汪華登
(桂林電子科技大學(xué)計算機(jī)與信息安全學(xué)院,廣西桂林 541004)
實驗教學(xué)是一項重在過程的教學(xué)工作[1-2],實驗教學(xué)過程登記管理是實驗教學(xué)過程不可缺少的環(huán)節(jié)。加強(qiáng)實驗教學(xué)過程登記管理,有利于促進(jìn)實驗教學(xué)目標(biāo)的達(dá)成。持續(xù)改進(jìn)是工程教育專業(yè)認(rèn)證的核心理念之一[3-4],要實現(xiàn)實驗的持續(xù)改進(jìn),需要對實驗教學(xué)過程中的記錄數(shù)據(jù)進(jìn)行分析,完善的實驗教學(xué)過程登記能為持續(xù)改進(jìn)分析提供完整真實數(shù)據(jù)。
實驗教學(xué)過程登記具有登記實驗項目個數(shù)多、學(xué)生人數(shù)多、數(shù)據(jù)量大等特點。實驗成績通常由平時成績和實驗考核成績組成,平時成績由多個實驗項目成績組成。各實驗項目需要登記實驗驗收成績和實驗報告成績。實驗課程結(jié)束時,平時成績由各實驗項目成績按照大綱規(guī)定比例計算得出,并與考核成績共同組成學(xué)生最終的實驗成績。
傳統(tǒng)的實驗教學(xué)過程登記載體是紙質(zhì)實驗教學(xué)過程登記表,后續(xù)也有電子版實驗教學(xué)過程登記表。紙質(zhì)實驗教學(xué)過程登記表易攜帶,但在數(shù)據(jù)查找登記、備份、統(tǒng)計分析上有缺陷。電子版實驗教學(xué)過程登記表不能同時滿足便于攜帶和方便登記要求,并且在進(jìn)行數(shù)據(jù)統(tǒng)計分析時需要根據(jù)不同課程大綱要求編寫復(fù)雜的公式進(jìn)行計算。
伴隨著移動應(yīng)用開發(fā)的普及,一些移動軟件用于教學(xué)管理[5-9],但現(xiàn)有文獻(xiàn)未有實驗教學(xué)過程登記管理相關(guān)APP 記載。為滿足實驗教學(xué)需求,依據(jù)多年實驗教學(xué)經(jīng)驗,筆者設(shè)計基于Android 的實驗教學(xué)過程登記軟件并運用于實驗教學(xué)活動。軟件緊扣實驗教學(xué)過程登記環(huán)節(jié)設(shè)計多個實用功能,能克服包括電子版在內(nèi)的原有實驗教學(xué)過程登記方案缺點,具備便攜、登記信息一目了然、易于備份、統(tǒng)計數(shù)據(jù)方便等優(yōu)點。
實驗教學(xué)過程登記軟件設(shè)計時需要考慮如何方便教師進(jìn)行實驗教學(xué)過程數(shù)據(jù)的記錄與統(tǒng)計,以便及時發(fā)現(xiàn)個別學(xué)生的實驗異常情況。根據(jù)多年實驗教學(xué)經(jīng)驗,一個方便易用的實驗教學(xué)過程登記軟件需要的主要功能如圖1所示。
Fig.1 Main functional modules of experimental teaching process registration software圖1 實驗教學(xué)過程登記軟件主要功能模塊
如何將各項功能設(shè)計得方便易用,切合實際,具備使用價值,是需要重點考慮的問題。
實驗教學(xué)過程信息記錄通過SQLite 數(shù)據(jù)庫[10]進(jìn)行保存。
數(shù)據(jù)庫設(shè)計使用課程信息表保存實驗基本信息;使用實驗項目表保存實驗的全部項目信息;每門實驗都有單獨的學(xué)生學(xué)習(xí)情況記錄表,用于保存學(xué)生實驗完成情況。
(1)課程信息表保存實驗基本信息,如表1 所示。
Table 1 Course information表1 課程信息
(2)項目信息表中記錄所有實驗課程全部項目信息,如表2 所示。
Table 2 Project information表2 項目信息
(3)每門課程都有單獨的學(xué)生學(xué)習(xí)情況記錄表,表中字段數(shù)會因不同課程具有不同項目數(shù)而有所不同,如表3所示。用戶新建課程時輸入實驗項目個數(shù),系統(tǒng)會根據(jù)實驗項目個數(shù)動態(tài)創(chuàng)建本課程學(xué)生學(xué)習(xí)情況記錄表。限于篇幅,表3 僅列出1 個實驗項目的特殊情況作為例子。實驗項目數(shù)都會超過1 個,因此有關(guān)項目情況的字段會成倍增加。
Table 3 Records of students'learning(one for each course)表3 學(xué)生學(xué)習(xí)情況記錄(每門課程一張表)
基于Android 平臺功能強(qiáng)大、開源以及便攜等優(yōu)點[11],系統(tǒng)使用Android Studio 作為開發(fā)工具進(jìn)行開發(fā)。
界面設(shè)計采用Material Design 并使用Design Support庫。Design Support 庫將Material Design 中最具代表性的控件和效果進(jìn)行封裝,比如Toolbar、FloatingActionButton、Snackbar、RecyclerView 等[12]。
實驗教學(xué)過程登記軟件設(shè)計多個activity,并使用Toolbar 作為自定義的標(biāo)題欄,使用浮動控制按鈕FloatingActionButton 方便用戶在保存實驗課程和保存學(xué)生平時記錄時點擊,使用Snackbar 在數(shù)據(jù)保存時給予用戶提示信息。
圖2 為實驗教學(xué)過程登記軟件主界面。為方便教師選擇課程,各門課程按創(chuàng)建時間先后排列,新創(chuàng)建的課程在最上方顯示。課程基本信息顯示中左側(cè)是課程名稱,右側(cè)是選課人數(shù)。通過主界面中兩個浮動控制按鈕進(jìn)行課程的添加和刪除。
(1)學(xué)生平時實驗情況登記實現(xiàn)。學(xué)生平時實驗情況登記是實驗教學(xué)過程登記軟件的重要功能。使用RecyclerView 替代ListView 顯示學(xué)生成績信息。在界面上方有兩個按鈕,點擊后會加載不同的Fragment。
點擊“學(xué)生”按鈕,在打開的頁面中通過搜索方式列出需要登記平時實驗情況的學(xué)生。學(xué)生的搜索方式分為模糊查找和從csv 文件導(dǎo)入名單這兩種方式。點擊“項目”按鈕,在打開的頁面中選擇需要登記的實驗項目,可精準(zhǔn)設(shè)置需要登記的實驗項目具體內(nèi)容。
圖3 所示界面中將相鄰學(xué)生記錄用不同色塊標(biāo)識。教師在學(xué)生平時實驗情況登記處使用下拉列表方式錄入成績,可自由選擇百分制或等級制。當(dāng)點擊位于界面右下角的浮動控制按鈕時,用戶選擇就會被保存到數(shù)據(jù)庫對應(yīng)課程的學(xué)習(xí)情況記錄表中。
Fig.2 Main interface圖2 主界面
Fig.3 Registration interface of students'usual experiments圖3 學(xué)生平時實驗情況登記界面
(2)實驗過程登記表預(yù)覽實現(xiàn)。實驗教學(xué)過程登記軟件可通過預(yù)覽功能隨時查看所有學(xué)生實驗情況。能根據(jù)教師設(shè)置的各項成績比例快速生成成績匯總并顯示,如圖4 所示。因篇幅原因,圖4 僅截取部分顯示內(nèi)容。預(yù)覽采用github.com 上的開源項目TableFixHeaders 進(jìn)行表格顯示[13]。該開源項目中的表格支持固定表頭上下和左右兩個方向滾動,并能通過配色將每行的數(shù)據(jù)更清晰地顯示。使用TableFixHeaders 時需要設(shè)置表頭、表格中顯示記錄條數(shù)以及表格中需要顯示的數(shù)據(jù)。預(yù)覽生成前,用戶需要根據(jù)實驗大綱設(shè)置成績比例。表格中顯示的數(shù)據(jù)信息都是從數(shù)據(jù)庫中學(xué)生學(xué)習(xí)情況記錄表中提取,或按用戶設(shè)置比例計算得到。預(yù)覽平時成績時會根據(jù)當(dāng)前記錄以及用戶之前設(shè)置計算得出。預(yù)覽功能能查看學(xué)生各個項目學(xué)習(xí)情況,及時發(fā)現(xiàn)學(xué)習(xí)異常情況,方便督促學(xué)生學(xué)習(xí)。
Fig.4 Preview effect of registration form of experimental teaching process(part)圖4 實驗教學(xué)過程登記表預(yù)覽效果(部分)
(3)實驗教學(xué)過程登記表導(dǎo)出實現(xiàn)。實驗教學(xué)過程登記軟件可隨時導(dǎo)出符合存檔要求的電子版實驗教學(xué)過程登記表并存放到手機(jī)上。電子版實驗教學(xué)過程登記表導(dǎo)出采用github.com 上成熟的開源項目Android-Multiplefile-Selector-Dialog[14],該開源項目能在用戶指定位置創(chuàng)建文件夾并可同時選擇多個文檔進(jìn)行操作,從文件批量導(dǎo)入學(xué)生名單或批量導(dǎo)入學(xué)生平時實驗情況時也可使用。
JXL 和POI 都是常用的通過Java 操作Excel 表格的工具類庫,但在Android 平臺上因需導(dǎo)出的實驗過程登記數(shù)據(jù)量較大,如果直接使用現(xiàn)有的JXL 或者POI 會出錯。解決方案為先構(gòu)造網(wǎng)頁形式的教學(xué)過程登記表,再將其轉(zhuǎn)換為Excel 格式。
具體開發(fā)過程:先將符合存檔要求的實驗教學(xué)過程登記表模板保存為單個文件網(wǎng)頁類型,之后用記事本打開該文件進(jìn)行分析。該文件由3 部分組成,第一部分和第三部分都是有關(guān)文件格式的內(nèi)容,所有采用同樣模板格式的實驗教學(xué)過程登記表這兩部分內(nèi)容都是一樣的。文件中間部分是學(xué)生各實驗項目的學(xué)習(xí)情況記錄,每個實驗不一樣。因此,將相同的第一部分和第三部分單獨復(fù)制出來,分別命名為labfront.txt 和labrear.txt,并放到Android 應(yīng)用開發(fā)的assets 目錄中。當(dāng)用戶需要導(dǎo)出電子版的實驗教學(xué)過程登記表時,從數(shù)據(jù)庫的學(xué)生學(xué)習(xí)情況記錄表中提取出信息,通過程序循環(huán)生成文檔的第二部分,再與assets 目錄中保存的文檔第一部分和第三部分合并,最終生成符合存檔格式要求的電子表格文檔,并將最終文檔命名為xls 文檔。生成的電子表格文檔可像普通電子表格文檔一樣編輯使用。
基于Android 的實驗教學(xué)過程登記軟件能保存教師歷年指導(dǎo)的所有實驗課程記錄信息。教師實驗前先創(chuàng)建實驗課程,并將學(xué)生名單從教務(wù)系統(tǒng)或從存放有學(xué)生名單信息的文件導(dǎo)入。
教師在登記學(xué)生實驗完成情況時,可攜帶安裝本軟件的手機(jī)到學(xué)生座位處進(jìn)行記錄。軟件可單獨搜索需要登記實驗情況的學(xué)生和需要登記的實驗項目,并采用醒目方式顯示出來,相比傳統(tǒng)實驗教學(xué)過程登記表能避免登記錯行情況發(fā)生。同時,軟件能隨時預(yù)覽全體學(xué)生實驗情況,在預(yù)覽時能同步計算當(dāng)前學(xué)生平時成績,也能通過搜索方式查找學(xué)生,查看指定學(xué)生的學(xué)習(xí)情況。
教師可根據(jù)大綱為不同課程設(shè)置不同成績計算比例,平時成績和總評成績能根據(jù)用戶所設(shè)置的比例自動計算得出。同時軟件能進(jìn)行基本的成績統(tǒng)計,可在填寫各項分析數(shù)據(jù)時使用,教師也可隨時導(dǎo)出電子版實驗教學(xué)過程登記表用于存檔。
基于Android 的實驗教學(xué)過程登記軟件于2016 年初步設(shè)計完成并陸續(xù)在多門實驗課中使用,為規(guī)范實驗教學(xué)過程登記管理提供支持。軟件使用過程中,根據(jù)用戶建議不斷完善操作細(xì)節(jié)并增加一些功能。改進(jìn)后軟件操作簡便,能方便收集與統(tǒng)計基礎(chǔ)數(shù)據(jù),為工程教育專業(yè)認(rèn)證提供翔實的基礎(chǔ)數(shù)據(jù),并為實驗教學(xué)過程管理的規(guī)范化、數(shù)字化提供支持。未來可考慮繼續(xù)提升軟件使用靈活性,如根據(jù)用戶選擇導(dǎo)出多種樣式的過程登記表格,擴(kuò)大軟件適用范圍。