劉建粉 張海博
摘 要:為方便實施數據結構課程線上線下混合教學模式,基于微信小程序設計并實現了數據結構移動學習平臺。該系統前臺具有個人中心、微課視頻、實訓案例、試題擂臺、社區論壇等功能,后臺具有賬戶管理、資源管理、統計分析等功能。運行結果表明,該平臺節省內存,使用流暢,方便學生利用智能手機和零碎時間隨時隨地學習,提高了學習效果。
關鍵詞:微信小程序;數據結構;學習平臺
中圖分類號:TP311;G642文獻標識碼:A
1 緒論
隨著4G和WIFI技術發展,智能手機用戶不斷增加,高校學生利用手機進行移動學習需求不斷增加。相應的,高校也在不斷改革教學模式,很多老師對翻轉課堂、慕課、微課等新的教學模式進行了探索和實踐。[1-3]
數據結構是物聯網工程專業的專業基礎必修課,在物聯網工程課程體系中具有舉足輕重的地位。然而由于該課程涉及的算法有些比較抽象,實驗操作又要求學生具備較強的動手能力,學生在學習過程中容易遇到困難和問題,導致學生自信心受挫,學習興趣下降,學習主動性不足。再一個就是傳統的課堂教學模式中,學生是被動接受,且一節課容量較多,學生不容易消化,時間一長也會導致學生興趣下降,因此導致教學效果不理想。基于以上事實,決定采用線上線下混合教學模式,將相關知識點分散,制作成微課、動畫、習題等各種豐富資源,學生可以根據自身需要通過線上隨時隨地學習,老師提供多種方式與學生互動,及時答疑解惑,從而提高學生學習效果。
微信小程序是一種基于微信平臺開發應用APP的新技術,具有無需安裝、即開即用、不占內存、交互速度快等優點。它提供一種新的開放能力,開發者可以快速地開發一個小程序。小程序可以在微信內被便捷地獲取和傳播,同時具有出色的使用體驗。[4]而微信是一款日登陸用戶超過8 億的手機應用,微信小程序的易推廣性顯而易見。[5]
基于微信用戶多、微信小程序開發快體驗好的特點,采用微信小程序開發數據結構移動學習平臺,可以滿足教師應用、推廣新的教學模式,也可以滿足學生利用智能手機和碎片時間隨時隨地學習。
2 需求分析
該移動學習平臺用戶是教師和學生,因此需要分別對教師和學生的需求進行收集整理。需求調查主要采用問卷和訪談的方式進行,最后將調查結果進行匯總整理。教師需求主要為:(1)無需安裝,使用方便;(2)界面簡潔,功能齊全;(3)即時交流,交互方便;(4)數據分析,實時監控。學生需求主要為:(1)少內存,少流量;(2)界面美觀,學習方便;(3)交互方便;(4)有趣味。
教師和學生需求的共同部分主要是關于數據結構學習平臺能提供的資源共享、師生交流和數據分析部分。資源共享與數據結構課程內容相關,應根據課程特點來設計課程內容和對應的資源。師生交流是移動學習平臺非常重要的功能,它是課程學習不可缺少的手段,使得為學生提供個性化學習更加便利。考慮到經常有不同學生求教相同問題,為減少教師工作量,避免重復回答,可考慮論壇的形式。這樣教師就可根據具體情況,發起問題討論、或將問題置頂或將問題刪除,從而更方便的管理論壇,引導學生參與討論、分享經驗、保持學習興趣。數據分析是教師掌控整個教學過程的必備工具,通過它可以對教學數據進行采集,對學生的線上學習進行監控,量化學生學習情況,分析課程數據,從而幫助教師更精準地教學。
3 課程資源設計
數據結構主要學習線性結構、樹形結構和網狀結構的邏輯結構特性、存儲結構定義及其基本運算的實現。但數據結構課程學習并不是件輕松的事,其中有些知識內容較抽象,算法實現對學生的編程能力有較高要求。因此在設計數據結構移動學習平臺時,需要重新設計教學內容和形式,將教學知識點分散化,呈現形式多樣化,應用案例豐富化,從而方便學生利用手機和零碎時間隨時隨地學習,并保持較持久的學習興趣。
采用模塊化思路,將數據結構知識點進行分塊整理和細化。考慮到有些學生的C語言基礎薄弱,將數據結構中經常用到的結構體、指針、函數以及實驗環境VC++6.0中新建工程、文件和調試的方法也添加進去。最后整理出10塊共74個知識點,如下表所示。每個知識點根據需要可提供多種形式的學習資源,如順序表的插入算法,提供有微課視頻、課件、動畫以及隨堂測試,學生可根據需要靈活選取自己學習的形式。考慮到學生要求的趣味性,測試題設計成打擂臺的形式,將參與學習的學生進行評比排序,以激勵學生相互監督,共同進步。
4 學習平臺設計
基于前面的需求分析,決定采用微信小程序進行數據結構移動學習平臺開發,可以滿足師生即開即用、無需下載、使用方便的要求,同時設計了面向學生的前臺模塊和面向教師及管理員的后臺模塊,前后臺分別又劃分為滿足功能需求的若干小模塊。通過頁面上的“我是老師”和“我是學生”的導航欄,可以進入不同的頁面。下面介紹具體設計。
4.1 系統架構設計
該平臺是基于微信小程序的框架,面向開發用戶的是兩層,即:視圖層(View)和邏輯層(App Service),其實背后還有一個隱層,即系統層,該層被微信小程序的MINA框架封裝起來了,其中包括客戶端的文件系統、任務管理、數據安全以及網絡通信等功能,對于上層提供了一套完整的JavaScript API,方便開發者快速構建起一個應用。[4]系統架構如圖1所示。
視圖層由一系列頁面組成,可以通過WXML標簽語言來構建頁面的視圖結構,通過WXSS樣式文件來控制頁面的樣式。邏輯層主要進行事務邏輯處理,使用JavaScript來實現頁面交互處理、網絡請求等操作。框架的核心是一個響應的數據綁定系統,讓數據和視圖保持同步,在修改數據時只需要在邏輯層修改,視圖層就會做出對應的更新。
4.2 功能模塊設計
該平臺功能主要分為前臺和后臺,其中前臺功能有:個人中心、課程課件、微課視頻、動畫演示、實訓案例、試題擂臺、實訓練習、通知公告、社區論壇、資源共享;后臺功能有:賬號管理、資源管理、公告管理、論壇管理、統計分析。前臺功能模塊圖如圖2所示,后臺功能模塊圖如圖3所示。
(1)個人中心:包括注冊、登錄、修改個人信息以及個人學習情況。
(2)課程課件:按內容模塊及相應知識點組織課件,支持PPT、PDF、WORD等文件格式。
(3)微課視頻:按知識點設計組織,一般時長不超過15分鐘。
(4)動畫演示:對某些操作過程設計動畫進行演示。
(5)實訓案例:結合實際,提供從分析、抽象、設計到實現的全過程說明及代碼實現。
(6)試題擂臺:為強化知識點掌握,提高學習興趣,將試題庫做成擂臺賽形式,讓學生間進行比賽排名,相互激勵。
(7)實訓練習:提供實訓題目,學生可上傳實訓代碼。
(8)通知公告:通知更新的學習內容、注意事項等,如上課時間和地點的變更、考試安排等。
(9)社區論壇:學生和老師交互的平臺,學生可以發帖,也可以回帖。
(10)資源共享:為學生提供更多的學習資源,如優秀的慕課、學習技巧等。學生也可以上傳自己的資源,通過管理員審核后,可發布。
(11)賬號管理:對注冊用戶的管理。
(12)資源管理:對數據結構課程所有資源的增、刪、改等操作,下面又可按不同媒體分別管理。
(13)公告管理:對公告的增、刪、改、查操作。
(14)論壇管理:對論壇的審核及刪除等操作。
(15)統計分析:對知識點測試題、調查問卷的發布與查看,以及對學生用戶學習過程中產生的數據統計和分析。
學生端的學習導航欄按學習內容模塊以樹型結構呈現,不同知識點提供不同媒體呈現形式,如有多種方式,則并列提供。如赫夫曼樹的構建,提供有微課視頻、課件、動畫以及隨堂測試,學生可以根據自身需求,靈活選擇學習方式。
4.3 數據庫設計
將數據結構學習平臺中涉及的數據進行整理,設計了用戶表、課件表、微課表、動畫表、案例表、試題表、實訓練習表、公告表、發帖表、其他資源表、擂臺表、實訓代碼表、測試成績表共13個數據表,并將這些數據存放在學校的服務器中,使得通過學校的網絡課程和移動學習平臺均可訪問。
出于安全考慮,微信小程序不能直接連接數據庫進行數據操作。首先在服務器端寫一個web應用程序,提供https接口讓小程序調用。然后在小程序端通過wx.request向服務器發起請求,再由服務端程序來對數據庫進行數據操作。在數據返回微信端顯示時,還要轉換成微信能讀取的json樣式。也就是微信小程序和數據庫間的交互都是通過JS腳本進行的。
5 結語
微信小程序提供了一種開放能力,利用它用戶可以快速地開發出自己的應用,相比較傳統的手機APP開發,更快捷便利。基于微信小程序開發的數據結構移動學習平臺具備了線上教學基本功能,滿足了學生和教師的需求,為我校開展數據結構課程線上線下混合教學模式奠定了基礎。在今后的運行過程中,通過老師和學生反饋以及采集的數據分析,還可進一步改進。
參考文獻:
[1]渠慎明,劉珊,王青博,等.數據結構課程中的翻轉課堂教學模式研究[J].計算機時代,2018(9):66-68.
[2]趙媛,王杰,周立軍,等.以計算思維為導向的C語言程序設計MOOC建設[J].實驗技術與管理,2018,35(4):147-150.
[3]趙海冰,李瑛,邢翠芳,等.計算機程序設計課程教學中的微課程案例設計[J].計算機工程與科學,2016(11):55-57.
[4]微信公眾平臺|小程序.小程序介紹[EB/OL].(2017-1-9)https://developers.weixin.qq.com/miniprogram/introduction/index.html?t=18120420.
[5]涂相華,薛錫雅,曾志平,等."WECO課堂":基于微信小程序的師生交互系統[J].現代教育技術,2018,28(5):109-114.
作者簡介:劉建粉(1972-),女,漢族,河南西峽縣人,碩士,教授,主要研究方向:網絡信息處理。