安夢生
摘要:隨著互聯(lián)網(wǎng)的發(fā)展,“微課”進(jìn)入課堂等信息技術(shù)已經(jīng)滲透到教育的方方面面,移動設(shè)備進(jìn)入課堂形成常態(tài)化指日可待。學(xué)生的多元化學(xué)習(xí)需求,已經(jīng)不能完全滿足學(xué)生的個性化學(xué)習(xí)需要。根據(jù)翻轉(zhuǎn)課堂的需求,基于Android開發(fā)技術(shù)和移動Web開發(fā)技術(shù)設(shè)計并實現(xiàn)了I-Clicker答題功能模塊,使Moodle網(wǎng)絡(luò)教學(xué)平臺具有手機考勤、答題等功能。
關(guān)鍵詞:翻轉(zhuǎn)課堂;移動開發(fā);I-Clicker
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)28-0048-02
Design and Implementation of I-Clicker Function Based on Moodle Platform
AN Meng-sheng
(School of Computer Science and Technology, Huaiyin Normal University, Huai'an 223300, China)
Abstract: With the development of the Internet, information technology such as “micro-courses” entering the classroom has penetrated into all aspects of education, and it is just around the corner that mobile devices enter the classroom to form a normal state. The diverse learning needs of students can no longer fully meet the individualized learning needs of students. According to the needs of the flipping classroom, the I-Clicker answering function module is designed and implemented based on the Android development technology and the mobile web development technology, so that the Moodle network teaching platform has functions such as mobile phone attendance and answering questions.
Key words: flipped classroom; mobile development; I-Clicker
1 背景
Moodle是一個免費開源的課程管理系統(tǒng),界面簡單,具有很強的易用性 [1]。Moodle以其簡單的使用方式,靈活的擴(kuò)展功能贏得了廣大教師的青睞。教師可以根據(jù)課程需要添加或刪除課程內(nèi)容,實時調(diào)整上課內(nèi)容,真正實現(xiàn)教學(xué)的有效性[2]。Moodle為網(wǎng)絡(luò)化學(xué)習(xí)提供了一種重要學(xué)習(xí)平臺,同時為E-learning、網(wǎng)絡(luò)學(xué)習(xí)搭建了合適的網(wǎng)絡(luò)教學(xué)情境,并且Moodle具有教學(xué)管理功能和二次開發(fā)特性[3],該文對其二次開發(fā)增加課堂互動I-Clicker功能。
2 I-Clicker功能模塊需求分析
2.1 I-Clicker功能模塊簡介
I-Clicker是國外流行的課堂投票表決器也稱為課堂互動反饋系統(tǒng)[4]。它是一款巴掌大的互動教學(xué)工具,具有點名簽到、答題、為課堂評分等功能。在教學(xué)過程中具有很強的實用性與便捷性,如當(dāng)老師講解某個知識點時,可以臨時出題,學(xué)生可以用I-Clicker進(jìn)行答題,后臺可以統(tǒng)計學(xué)生的答題情況,教師就能很快地判斷出學(xué)生對知識點是否掌握。教師也可以通過預(yù)先編制的PPT展示問題,學(xué)生通過I-Clicker按鍵作答,在學(xué)生按鍵完畢后幾秒之內(nèi),教師可以得到課堂信息的反饋及分析。
2.2 需求分析
根據(jù)教師的課堂教學(xué)需求,為了充分掌握學(xué)生的學(xué)習(xí)情況,該文將利用相關(guān)技術(shù)對平臺加以二次開發(fā),增加I-Clicker功能模塊,是對Moodle的功能進(jìn)行擴(kuò)展,這樣做既不會對原有的網(wǎng)絡(luò)教學(xué)系統(tǒng)產(chǎn)生影響,同時也對學(xué)生學(xué)習(xí)起到了推動作用。通過移動設(shè)備實現(xiàn)了I-Clicker的功能,學(xué)生可以通過手機或者平板進(jìn)行答題,而教師則通過后臺管理模塊導(dǎo)入測試題目。因此I-Clicker模塊具有的功能如圖1所示。
3 模塊設(shè)計與實現(xiàn)
3.1 模塊架構(gòu)設(shè)計
I-Clicker模塊分成三個部分:學(xué)生客戶端模塊、教師后臺管理模塊、服務(wù)器模塊。學(xué)生客戶端模塊的主要功能是與服務(wù)器交互,實現(xiàn)從服務(wù)器獲取題目,并在答題結(jié)束后提交結(jié)果;教師后臺管理模塊的主要功能是對題庫管理以及查看學(xué)生的答題情況;而服務(wù)器模塊的功能則是提供接口給學(xué)生客戶端,包括獲取題目的接口、上傳題目的接口。同時在后臺處理學(xué)生上傳題目的結(jié)果。因此教師只需要和教師后臺管理模塊進(jìn)行交互,學(xué)生只需要和學(xué)生客戶端模塊進(jìn)行交互,而服務(wù)器模塊的功能主要是將前面兩個模塊提供的交互結(jié)果由Highcharts呈現(xiàn)。教師后臺管理模塊和學(xué)生客戶端模塊都要和Moodle網(wǎng)絡(luò)系統(tǒng)進(jìn)行交互,完成題庫和成績的更新、存儲和檢索等功能。因此可以將I-Clicker功能模塊概括為在Moodle平臺的服務(wù)器上有兩個站點,一個是教師后臺管理的站點,一個是移動客戶端訪問的站點。
3.2 教師后臺管理功能設(shè)計
教師后臺管理主要由三個部分組成:題庫管理、課堂測試管理和結(jié)果反饋管理。教師通過題庫管理可以將課堂要測試題目上傳到數(shù)據(jù)庫中,目前課堂測試主要應(yīng)用于單項選擇題,因此該模塊的題庫管理只需要提供選擇題操作接口。PHP支持HTML混合編寫,因此管理界面布局用HTML設(shè)計,提交表單交給PHP處理[5]。
課堂測試管理只需要教師選擇需要測試的題目類別,系統(tǒng)自動將屬于這個類別的題目顯示到頁面上。而答案則不顯示,學(xué)生只有通過客戶端登錄才可以看到選項。而在每次測試前,會隨機地生成四位數(shù)的密碼,并保存到數(shù)據(jù)。學(xué)生答題之前也必須輸入這個密碼,這樣就保證了題目的安全性。
結(jié)果反饋模塊則是調(diào)用Highcharts,HighCharts能夠很方便地在Web網(wǎng)站或是Web應(yīng)用程序中添加可交互圖表,目前HighCharts支持的圖表類型主要有曲線圖、區(qū)域圖、柱狀圖、餅狀圖、散點圖和一些綜合圖表[6]。調(diào)用Highcharts關(guān)鍵的地方則是數(shù)據(jù)傳送。該文采用的是柱狀圖顯示學(xué)生的答題情況。在課堂測試過程中,學(xué)生提交的答案,保存在數(shù)據(jù)庫中。查看Highcharts柱狀圖(column)的API接口,其中數(shù)據(jù)列的格式為:數(shù)值數(shù)組。配置數(shù)組中的數(shù)值代表Y值,X值則根據(jù)X軸的配置, X值就是categoies配置,該模塊X值就是題目的數(shù)量。而數(shù)據(jù)的獲取則需要調(diào)取數(shù)據(jù)庫,并轉(zhuǎn)換成Highcharts需要的格式。
3.3 Android客戶端功能設(shè)計
學(xué)生端與服務(wù)器端交互主要通過JSON協(xié)議,JSON是JavaScript對象表示法的簡稱,它源自JavaScript腳本語言的對象持久化表示法[7]。學(xué)生端發(fā)送HTTP請求,使用GET方式將輸入的隨機密碼發(fā)送到服務(wù)器。先構(gòu)造HttpGet對象,使用HttpClient對象的execute方法來發(fā)送請求并獲取HttpResponse返回對象。服務(wù)器接受到參數(shù)查詢數(shù)據(jù)庫,將查詢的結(jié)果轉(zhuǎn)換成JSON格式,返還給客戶端。客戶端則實現(xiàn)JSON的解析,而在JSON協(xié)議中,基本的數(shù)據(jù)結(jié)構(gòu)有兩種:第一種就是數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)類似于PHP中的列表數(shù)組。第二種是對象結(jié)構(gòu),該結(jié)構(gòu)類似于PHP中的散列數(shù)組。I-Clicker模塊中要返回的是所有要測試的選擇題,包括題目編號、題目內(nèi)容、選項A、選項B、選項C、選項D、和答案,因此使用的是將上面兩種結(jié)構(gòu)組合起來的形式即對象數(shù)組。
在Android系統(tǒng)中也提供了強大的JSON庫,主要包括兩個JSON解析類:JSONObject和JSONArray類。該文則采用第二個類將接受的把數(shù)組型的JSON數(shù)據(jù)轉(zhuǎn)化成JSONArray對象,提交給數(shù)據(jù)處理的模型對象。
Android由于沒有專門的UI組件顯示題目,因此學(xué)生端要通過ListView組件,重寫其適配器,在ListView列表中顯示一個文本框、一個RadioGroup組件。同時還要監(jiān)聽RadioGroup中的選擇事件。
3.4 移動web應(yīng)用功能設(shè)計
基于移動web應(yīng)用實現(xiàn)了I-Clicker答題功能。學(xué)生只要打開瀏覽器輸入答題地址和隨機密碼,就可以進(jìn)入相應(yīng)的頁面進(jìn)行答題。采用HTML5+PHP設(shè)計移動應(yīng)用,其中關(guān)鍵地方就是PHP的分頁技術(shù)[8]。所謂分頁顯示,也就是將數(shù)據(jù)庫中的結(jié)果集人為的分成一段段的來顯示,這里需要兩個初始的參數(shù),每頁多少條記錄和當(dāng)前是第幾頁。在本系統(tǒng)中設(shè)計的是每頁只顯示一題,因此每頁的$page就用題號來區(qū)分。
通過MySQL查詢語句查出總題目數(shù),以及第一題的題號,當(dāng)點擊下一題的時候先將答案保存,使用$_SERVER['PHP_SELF']獲取當(dāng)前頁面的地址并將當(dāng)前頁數(shù)加一附加給當(dāng)前地址。
3.5 服務(wù)器端設(shè)計
課堂測試模塊中服務(wù)器主要負(fù)責(zé)消息的傳遞和接收。當(dāng)服務(wù)器獲取到客戶端的HTTP協(xié)議的GET請求的時候,則將數(shù)據(jù)從數(shù)據(jù)庫中提取出來并轉(zhuǎn)換成JSON格式對象,其中隨機密碼作為GET參數(shù)。
當(dāng)學(xué)生提交答案的時候,服務(wù)器負(fù)責(zé)接收答案并保存在數(shù)據(jù)庫中。I-Clicker功能模塊則要接收三個參數(shù):學(xué)號、題目編號、答案??蛻舳藢⑼ㄟ^POST方式將三個參數(shù)發(fā)送到服務(wù)器,因此在服務(wù)器端先將學(xué)生提交的數(shù)據(jù)保存,然后返回JSON消息給客戶端,提示學(xué)生是否上傳成功。
4 結(jié)束語
針對Moodle網(wǎng)絡(luò)教學(xué)平臺無法提供課堂互動功能,將移動學(xué)習(xí)融入教學(xué)系統(tǒng)中,I-Clicker功能設(shè)計改變了傳統(tǒng)的教學(xué)模式,教師不在一味地自己講授,而是通過課上的互動,學(xué)生答題反饋情況,實時的講解學(xué)生不懂的知識點。利用I-Clicker功能模塊,教師還可以課后統(tǒng)計學(xué)生出勤情況,既省略了點名時間,又能檢測學(xué)生學(xué)習(xí)情況,提高了教學(xué)質(zhì)量與效率。
參考文獻(xiàn):
[1] 解繼麗. 基于Moodle平臺的網(wǎng)絡(luò)學(xué)習(xí)評價系統(tǒng)的設(shè)計與開發(fā)[D]. 成都: 電子科技大學(xué), 2010.
[2] 張雪云, 馬志強. 國內(nèi)Moodle平臺研究綜述[J]. 開放教育研究, 2008, 13(6): 96-99.
[3] 陳雪花, 胡貞華. Moodle平臺的二次開發(fā)與應(yīng)用[J]. 韶關(guān)學(xué)院學(xué)報, 2018(6).
[4] Christopherson R W, Hall P, Thomsen C E. Introduction to Physical Geography[J]. Montana, 2012, 24(8): 117-121.
[5] 趙鶴芹. 設(shè)計動態(tài)網(wǎng)站的最佳方案:Apache+PHP+MySQL[J]. 計算機工程與設(shè)計, 2007, 28(4): 933-934.
[6] 楊士卿. 《動態(tài)網(wǎng)頁設(shè)計》課程HighCharts數(shù)據(jù)可視化教學(xué)設(shè)計[J]. 電腦知識與技術(shù), 2018(14).
[7] 龔成瑩, 邢敬宏, 胡銀保. 基于JSON的Android移動終端與PHP及MySQL數(shù)據(jù)通信[J]. 工業(yè)儀表與自動化裝置, 2013(1): 63-65.
[8] 章斕. 基于HTML5的Web App的開發(fā)與探索[J]. 長沙大學(xué)學(xué)報, 2015(5): 50-53.
【通聯(lián)編輯:謝媛媛】