李欣,文欣秀,程 凱,丁樂為
(1.華東理工大學 化工學院,上海 200237;2.華東理工大學 信息科學與工程學院,上海 200237)
隨著信息化技術的飛速發展,高等學校的化工實驗教學越來越需要依靠網絡技術和計算機技術支持其進一步發展。經過對化工學院師生大量的調研分析,實驗教學過程中主要存在以下需求[1-2]:
(1)為了提高對知識的理解程度和減少實驗的危險系數,師生希望可以在進入實驗室前進行在線虛擬仿真實驗[3],而不是僅僅理論學習或者直接進入實驗室對化工裝置進行操作。
(2)目前,學生主要通過手工計算完成實驗報告,計算過程中出現的精度問題會導致實驗結果出現較大誤差,需要利用計算機進行精密計算,本系統可以基于B/S架構提供接口使用。此外,在化工實驗教學中對于圖像法的應用要求較高,手繪圖像所產生的誤差經常會使實驗功虧一簣。本系統可以基于數據自動進行計算機繪圖,特別是在對數坐標系等特殊坐標系下的精度遠超手工繪制。
(3)化工實驗題目公式復雜且解題步驟繁瑣,在有限的教學時間內教師很難幫助全部學生理解各類題目,學生期望題目有詳細的答案和解析,可以隨時隨地進行復習。
(4)課堂點名、實驗資料分發、實驗結果收集等耗費教師過多精力,教師希望有一體化管理平臺實現教學過程管理。
為了解決以上實際問題,研發了基于Django框架[4]、采用MySQL數據庫的Chemaid化工實驗教學平臺。該平臺包括實驗仿真模擬、實驗報告生成、實驗過程管理、在線自主學習等功能模塊。進一步,為了方便師生隨時隨地通過瀏覽器或手機進行訪問,同時開通了微信公眾平臺。系統主要功能模塊如圖1所示。

圖1 系統功能模塊
實驗仿真模擬以雷諾實驗[5-6]為例。雷諾實驗為化工原理課程中的一個基礎實驗,本實驗通過改變水在管內的流速,觀察在不同雷諾數下流體流動的形態:流體做層流流動時,其質點做平行于管軸的直線運動;湍流時流體質點在沿管軸流動的同時還做著雜亂無章的隨機運動。仿真效果如圖2所示。

圖2 雷諾實驗仿真效果
雷諾實驗仿真的3D實驗模型主要包括物體模型構建、動畫效果構建、事件初始化和WebGL渲染[7]4個步驟,主要使用策略模式進行算法的封裝。首先,搭建所需要使用的物體模型,并保留可以復用設置的參數作為函數的形式參數;其次,將構建好的物體模型進行實例化,將物體三維坐標位置與旋轉方向角度等設置好,將動畫效果綁定到物體實例上;進一步利用TWEEN.js將動畫效果進行鏈式綁定,完善事件邏輯,實現事件初始化;最后,由WebGL進行相關的渲染,在瀏覽器上顯示。
實驗報告包括對流給熱系數的測定實驗、流體實驗、離心泵、吸收塔等化工常用實驗的報告設計及下載。以給熱系數的測定實驗為例:在工業生產和科學研究中經常采用間壁式換熱裝置來實現物料的加熱或冷卻,換熱過程通過傳熱設備中傳熱元件的固體壁面進行熱量交換,傳熱過程機理十分復雜。
(1)實驗原理
為了便于理解,對流給熱系數的測定實驗以流程圖形式描述其實驗原理,如圖3所示。

圖3 對流給熱系數測定實驗流程
(2)數據存儲
結合Word中的域與Python中的docx-mailmerge庫,將實驗報告中計算得出的數據填入指定的Word表格中,從而實現實驗報告自動生成的功能。
(3)動態作圖
本實驗利用Echarts和最小二乘法[8]、牛頓切線法等算法擬合數據動態繪制出相應的曲線。曲線清晰,讀數方便,且提供下載服務以便打印粘貼在實驗報告中,避免用戶下載、安裝擬合曲線相關插件的麻煩。
(4)下載標準實驗報告
使用Django的FileResponse進行文件傳輸。在報告的預置部分是實驗內容、實驗目的和實驗基本原理等規范內容,在實驗原始數據和實驗計算部分,根據用戶的數據計算后填寫,最終以實驗名+學號的形式提供下載。
教學過程管理包括簽到、測驗等。簽到板塊主要采用了教師對教學班的學生微信掃碼簽到或教師端網頁點擊學生姓名進行簽到,簡單實用,方便快捷。教師可以通過本系統將學生批量導入,一鍵開啟簽到,即可令學生微信綁定網頁進行掃碼簽到,或教師點擊學生姓名完成簽到。教師在網頁端發布簽到,學生在微信公眾號掃碼完成簽到,二維碼會定時刷新,簽到前微信賬號需在公眾號內綁定學號,以此防止代簽行為[9]。用戶界面友好方便,在簽到環節增加了微信公眾號方便使用。
簽到算法:以“課程編號(唯一標識)+#+當前時間哈?!弊鳛閿祿啥S碼,并以課程編號為鍵存入Django.cache(服務器緩存、鍵值對形式),對Ajax請求以Base64編碼形式將二維碼傳給前端,網頁再使用Base64碼顯示出二維碼。微信端掃描二維碼后將數據傳給網站,后端提取“#”前的課程編號,尋找以此編號作為鍵的緩存值,再與微信端傳來數據進行比對,若成功,則簽到成績+1,并將“已簽到標識”置1。二維碼每隔一定時間自動刷新。
系統不僅包括基于知識圖譜的各類書籍推薦,還收集了化工原理上、化工原理下、考研模擬等經典習題供學生使用,如圖4所示。點擊化工原理上,在左側可以進行章節的選擇,例如:流體流動、流體輸送機械、過濾、顆粒的沉降和流態化等。在自主學習環節,每道題目后面均存在4個按鈕,即:答案、隱藏、選擇文件、上傳。在未完成的狀態下,題目相關答案不可以查看。點擊選擇文件,選擇需要上傳的作業圖片,點擊上傳。顯示已完成,即可查看相關答案。登錄教師賬號,教師可以查看教學班學生作業完成情況,能夠親自批閱反饋。

圖4 在線自主學習
將題目和答案放入數據庫中,其中公式以截圖的方式存入相應的文件夾用以調用。題目需要先提交才能查看答案,從而保證學習的效率和自主性[10]。同時,每道題目后面增加答案的一鍵顯示與隱藏,方便查閱。
高?;I的實驗教學是人才培養的重要組成部分[11],通過現代化信息手段減少實驗的危險性,提高實驗準確性,強化實驗過程科學化管理,豐富學生的知識獲取途徑,有助于培養學生分析解決問題的能力及專業創新實踐能力。本文從我?;W院師生實際需求出發,介紹了基于Django框架的化工實驗教學平臺的研究與設計過程,平臺實現了化工實驗的規范化教學,增強了學生的動手能力和知識理解能力,潛移默化中提高了實驗教學質量。