李欣,文欣秀,程 凱,丁樂為
(1.華東理工大學 化工學院,上海 200237;2.華東理工大學 信息科學與工程學院,上海 200237)
隨著信息化技術(shù)的飛速發(fā)展,高等學校的化工實驗教學越來越需要依靠網(wǎng)絡(luò)技術(shù)和計算機技術(shù)支持其進一步發(fā)展。經(jīng)過對化工學院師生大量的調(diào)研分析,實驗教學過程中主要存在以下需求[1-2]:
(1)為了提高對知識的理解程度和減少實驗的危險系數(shù),師生希望可以在進入實驗室前進行在線虛擬仿真實驗[3],而不是僅僅理論學習或者直接進入實驗室對化工裝置進行操作。
(2)目前,學生主要通過手工計算完成實驗報告,計算過程中出現(xiàn)的精度問題會導致實驗結(jié)果出現(xiàn)較大誤差,需要利用計算機進行精密計算,本系統(tǒng)可以基于B/S架構(gòu)提供接口使用。此外,在化工實驗教學中對于圖像法的應(yīng)用要求較高,手繪圖像所產(chǎn)生的誤差經(jīng)常會使實驗功虧一簣。本系統(tǒng)可以基于數(shù)據(jù)自動進行計算機繪圖,特別是在對數(shù)坐標系等特殊坐標系下的精度遠超手工繪制。
(3)化工實驗題目公式復雜且解題步驟繁瑣,在有限的教學時間內(nèi)教師很難幫助全部學生理解各類題目,學生期望題目有詳細的答案和解析,可以隨時隨地進行復習。
(4)課堂點名、實驗資料分發(fā)、實驗結(jié)果收集等耗費教師過多精力,教師希望有一體化管理平臺實現(xiàn)教學過程管理。
為了解決以上實際問題,研發(fā)了基于Django框架[4]、采用MySQL數(shù)據(jù)庫的Chemaid化工實驗教學平臺。該平臺包括實驗仿真模擬、實驗報告生成、實驗過程管理、在線自主學習等功能模塊。進一步,為了方便師生隨時隨地通過瀏覽器或手機進行訪問,同時開通了微信公眾平臺。系統(tǒng)主要功能模塊如圖1所示。
圖1 系統(tǒng)功能模塊
實驗仿真模擬以雷諾實驗[5-6]為例。雷諾實驗為化工原理課程中的一個基礎(chǔ)實驗,本實驗通過改變水在管內(nèi)的流速,觀察在不同雷諾數(shù)下流體流動的形態(tài):流體做層流流動時,其質(zhì)點做平行于管軸的直線運動;湍流時流體質(zhì)點在沿管軸流動的同時還做著雜亂無章的隨機運動。仿真效果如圖2所示。
圖2 雷諾實驗仿真效果
雷諾實驗仿真的3D實驗?zāi)P椭饕ㄎ矬w模型構(gòu)建、動畫效果構(gòu)建、事件初始化和WebGL渲染[7]4個步驟,主要使用策略模式進行算法的封裝。首先,搭建所需要使用的物體模型,并保留可以復用設(shè)置的參數(shù)作為函數(shù)的形式參數(shù);其次,將構(gòu)建好的物體模型進行實例化,將物體三維坐標位置與旋轉(zhuǎn)方向角度等設(shè)置好,將動畫效果綁定到物體實例上;進一步利用TWEEN.js將動畫效果進行鏈式綁定,完善事件邏輯,實現(xiàn)事件初始化;最后,由WebGL進行相關(guān)的渲染,在瀏覽器上顯示。
實驗報告包括對流給熱系數(shù)的測定實驗、流體實驗、離心泵、吸收塔等化工常用實驗的報告設(shè)計及下載。以給熱系數(shù)的測定實驗為例:在工業(yè)生產(chǎn)和科學研究中經(jīng)常采用間壁式換熱裝置來實現(xiàn)物料的加熱或冷卻,換熱過程通過傳熱設(shè)備中傳熱元件的固體壁面進行熱量交換,傳熱過程機理十分復雜。
(1)實驗原理
為了便于理解,對流給熱系數(shù)的測定實驗以流程圖形式描述其實驗原理,如圖3所示。
圖3 對流給熱系數(shù)測定實驗流程
(2)數(shù)據(jù)存儲
結(jié)合Word中的域與Python中的docx-mailmerge庫,將實驗報告中計算得出的數(shù)據(jù)填入指定的Word表格中,從而實現(xiàn)實驗報告自動生成的功能。
(3)動態(tài)作圖
本實驗利用Echarts和最小二乘法[8]、牛頓切線法等算法擬合數(shù)據(jù)動態(tài)繪制出相應(yīng)的曲線。曲線清晰,讀數(shù)方便,且提供下載服務(wù)以便打印粘貼在實驗報告中,避免用戶下載、安裝擬合曲線相關(guān)插件的麻煩。
(4)下載標準實驗報告
使用Django的FileResponse進行文件傳輸。在報告的預置部分是實驗內(nèi)容、實驗?zāi)康暮蛯嶒灮驹淼纫?guī)范內(nèi)容,在實驗原始數(shù)據(jù)和實驗計算部分,根據(jù)用戶的數(shù)據(jù)計算后填寫,最終以實驗名+學號的形式提供下載。
教學過程管理包括簽到、測驗等。簽到板塊主要采用了教師對教學班的學生微信掃碼簽到或教師端網(wǎng)頁點擊學生姓名進行簽到,簡單實用,方便快捷。教師可以通過本系統(tǒng)將學生批量導入,一鍵開啟簽到,即可令學生微信綁定網(wǎng)頁進行掃碼簽到,或教師點擊學生姓名完成簽到。教師在網(wǎng)頁端發(fā)布簽到,學生在微信公眾號掃碼完成簽到,二維碼會定時刷新,簽到前微信賬號需在公眾號內(nèi)綁定學號,以此防止代簽行為[9]。用戶界面友好方便,在簽到環(huán)節(jié)增加了微信公眾號方便使用。
簽到算法:以“課程編號(唯一標識)+#+當前時間哈?!弊鳛閿?shù)據(jù)生成二維碼,并以課程編號為鍵存入Django.cache(服務(wù)器緩存、鍵值對形式),對Ajax請求以Base64編碼形式將二維碼傳給前端,網(wǎng)頁再使用Base64碼顯示出二維碼。微信端掃描二維碼后將數(shù)據(jù)傳給網(wǎng)站,后端提取“#”前的課程編號,尋找以此編號作為鍵的緩存值,再與微信端傳來數(shù)據(jù)進行比對,若成功,則簽到成績+1,并將“已簽到標識”置1。二維碼每隔一定時間自動刷新。
系統(tǒng)不僅包括基于知識圖譜的各類書籍推薦,還收集了化工原理上、化工原理下、考研模擬等經(jīng)典習題供學生使用,如圖4所示。點擊化工原理上,在左側(cè)可以進行章節(jié)的選擇,例如:流體流動、流體輸送機械、過濾、顆粒的沉降和流態(tài)化等。在自主學習環(huán)節(jié),每道題目后面均存在4個按鈕,即:答案、隱藏、選擇文件、上傳。在未完成的狀態(tài)下,題目相關(guān)答案不可以查看。點擊選擇文件,選擇需要上傳的作業(yè)圖片,點擊上傳。顯示已完成,即可查看相關(guān)答案。登錄教師賬號,教師可以查看教學班學生作業(yè)完成情況,能夠親自批閱反饋。
圖4 在線自主學習
將題目和答案放入數(shù)據(jù)庫中,其中公式以截圖的方式存入相應(yīng)的文件夾用以調(diào)用。題目需要先提交才能查看答案,從而保證學習的效率和自主性[10]。同時,每道題目后面增加答案的一鍵顯示與隱藏,方便查閱。
高校化工專業(yè)的實驗教學是人才培養(yǎng)的重要組成部分[11],通過現(xiàn)代化信息手段減少實驗的危險性,提高實驗準確性,強化實驗過程科學化管理,豐富學生的知識獲取途徑,有助于培養(yǎng)學生分析解決問題的能力及專業(yè)創(chuàng)新實踐能力。本文從我?;W院師生實際需求出發(fā),介紹了基于Django框架的化工實驗教學平臺的研究與設(shè)計過程,平臺實現(xiàn)了化工實驗的規(guī)范化教學,增強了學生的動手能力和知識理解能力,潛移默化中提高了實驗教學質(zhì)量。