張勝輝
(華東理工大學,上海 200237)
進入21世紀以來,隨著計算機和網絡技術突飛猛進,日新月異的發展,特別是近幾年來人們對學生學習的進一步重視,基于網絡的輔助教學得到了前所未有的發展。形形色色的在線學習系統層出不窮[1]。
高效的教學是當代師生共同的需求,教師需要一個平臺來一鍵上傳學習資料,自動批改試卷來節約教學成本,學生希望有一個平臺能快速獲取分數答案,下載資料,同時他們也需要一個在線交流平臺來縮短師生距離,同學距離,降低溝通成本,快速解決問題,提高學習效率。微信,就很好地通過了公眾號平臺來解決這個問題。
在微信公眾號上構建移動學習系統具有以下優勢:
(1)目標用戶幾乎不存在下載成本,絕大多數師生已經在使用微信了。
(2)驚人的超高的使用頻率,有足夠理由相信移動學習系統的任何更新都會被用戶迅速察覺,完全符合高效教學的理念。
(3)扎實的平臺基礎便于開發且能支持本系統的所有需求。
(4)碎片化的傳播內容,移動端使用方式,讓學生時時能抽出時間學習。
(1)當今大多數輔助學習系統是基于計算機開發的,雖然有部分學習輔助系統推出了app版本,但用戶下載成本較高,同時基于計算機的教學輔助系統大大限制了學生進行在線自主學習的地點和時間[2]。
(2)當今大多數輔助學習系統缺少教師向學生推送的手段,現如今大多數學習系統的使用一般分為三個階段,首先,教師需要向學生說明要下載的資料或者需要學生進行作答的習題,接著,學生進入該輔助學習系統進行搜索,找到老師布置的任務。最后學生確認該目標習題無誤后再進行作答。這樣的操作完全可以簡化,教師完全沒有必要通過輔助學習系統以外的平臺進行通知,學生也不必每次都要自己去找課件或者教師布置的習題。
(3)當今大多數輔助學習系統缺少檢驗功能,很少提供在線作答,即時批改的能力,這不利于學生及時發現問題并快速改正[3]。
基于微信的移動學習系統針對當今教學輔助系統的不足做了很大程度的優化,首先針對PC端的教學輔助系統會限制學生的學習時間和地點這一點,移動學習系統基于微信微信公眾號設計,學生可以使用手機,pad等移動端設備進行訪問,使得學生能夠做到隨時隨地的學習;其次,由于移動學習系統是基于微信微信公眾號的,因此教師能夠直接通過公眾號向學生推送需要其下載的資料或者作答的習題,免去了教師通知和學生搜索課件的煩惱;最后,移動學習系統提供在線作答、即時批改的能力,幫助學生及時發現問題并快速改正。
基于微信的課程移動學習系統的主要任務是建立完善的師生溝通交流的橋梁,主要用戶有兩類:教師和學生,兩者有著不同的需求,教師作為教學內容的提供者希望能上傳資料,習題。學生作為教學內容的使用者希望能夠下載資料,在線完成習題獲取答案,因此該系統有需要拆分成兩個部分,教師使用的PC端管理員系統,學生使用的移動端用戶系統,兩者通過公眾號串聯起來,由公眾號分發教師上傳的內容,學生在公眾號上獲取內容,兩者組成一個完整的課程移動學習系統[4]。
該學習系統是傳統信息管理系統與新穎的微信公眾號分發系統的結合,其開發主要包括前端界面交互的開發、后臺數據庫的建立和微信公眾號的搭建三個方面。對前端界面要求有良好的用戶交互和簡潔美觀的界面,對后臺數據庫要求數據的完整性、一致性和安全性,對微信公眾號要求有完整的信息分發能力。三者結合以給用戶更好的使用體驗。
本系統運用JavaScript編寫,利用Nuxt.js框架幫助我們快速搭建一個完整的橫跨前后端的項目,本系統的編寫思路如下:
(1)梳理系統的主要功能點。
(2)將功能點化為模塊,盡量一模塊對應一頁面,減少模塊間的耦合。
(3)細化模塊至組件,盡可能做到組件的服用,使系統精簡[5]。
基于微信公眾號的移動學習系統是傳統信息管理系統與新穎的微信公眾號分發系統的結合,系統分為PC端教師課件習題管理模塊、移動端學生課件習題管理模塊和微信公眾號分發模塊三大模塊。PC端教師課件習題管理模塊又分為首頁模塊、習題新建模塊、習題編輯模塊、課件上傳模塊、課件編輯模塊5個模塊;移動端學生課件習題管理模塊又分為首頁模塊、習題作答模塊、習題批改模塊、課件下載模塊4個模塊;微信公眾號分發模塊作為平臺系統能力是一個獨立的大模塊。
系統的功能模塊圖如圖1所示。
各模塊間邏輯關系如圖2所示。

圖2 模塊間邏輯關系圖
系統主要模塊的流程如圖3所示。

圖3 主要模塊流程圖
按照功能分析,數據庫設計采用MongoDB,使用時輔以mongoose和Robo3T方便開發[6]。mongoose是nodeJS提供連接mongodb的一個庫。Robo3T是一款數據庫客戶端圖形界面管理工具,使用它們能使開發過程更加便捷。
運用Axure對本系統進行UI設計,Axure RP是一款專業的快速原型設計工具[7]。Axure代表美國Axure公司;RP則是Rapid Prototyping(快速原型)的縮寫。
開發者們使用Axure RP能夠快速創建Web網站或應用軟件的流程圖、線框圖、原型和規格說明文檔,設計產品的基本界面和將產品的具體交互細節呈現在團隊和用戶面前。
Node.js就是運行在服務端的JavaScript,它可以完成幾乎所有其它后臺語言能完成的工作[8]。Node.js是一個基于Google的V8引擎的事件驅動I/O的服務端JavaScript環境,V8引擎執行JavaScript的性能非常好,速度相當快[9]。
本系統旨在解決傳統教學模式下教師批改作業工作量大,不能及時反饋,資料傳播方式單一(打印,既不能長期保存,也不能快速定位),師生溝通成本大,學生不能及時獲取答案,改正錯誤等問題。打造新一代的基于微信公眾號的輕量化高效移動學習系統,為教師的教學資料管理和學生的學習自測提供更多的便捷。