国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于游戲的高校程序語言課程學(xué)習(xí)工具

2024-04-11 12:55:30唐玄劉娟劉世軍
關(guān)鍵詞:服務(wù)端工具界面

唐玄,劉娟,劉世軍

(蚌埠學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,安徽 蚌埠 233000)

美國高等教育信息化協(xié)會(huì)(EDUCAUSE)在2021年4月推出了《2021年地平線報(bào)告:教學(xué)版》報(bào)告,該報(bào)告指出,由于新冠疫情而使未來的高等教育將一直依賴遠(yuǎn)程技術(shù)和數(shù)字學(xué)習(xí)[1].“在線學(xué)習(xí)聯(lián)盟”(The Online Learning Consortium)在2020年2月發(fā)布的《數(shù)字學(xué)習(xí)演化趨勢(shì)》報(bào)告指出,基于游戲的學(xué)習(xí)已經(jīng)成為數(shù)字學(xué)習(xí)的七大主要趨勢(shì)之一[2].“研究與市場(chǎng)”(Research and Markets)公司在2021年5月發(fā)布的《游戲?qū)W習(xí)市場(chǎng):2021到2026年預(yù)測(cè)》報(bào)告指出,全球的基于游戲的學(xué)習(xí)市場(chǎng)在未來幾年內(nèi)將以20.07%的速度飛速增長[3].一些高校的課程教學(xué)中已經(jīng)使用了基于游戲的學(xué)習(xí),如病毒學(xué)課程中使用了“CD4 Hunter”移動(dòng)游戲、分子生物學(xué)課程中使用了“Foldit”桌面游戲、有機(jī)化學(xué)課程中使用了 “PolyCraftWorld”——“我的世界”(MineCraft)修改版游戲[4].然而,程序語言課程作為高等教育中科學(xué)、技術(shù)、工程和數(shù)學(xué)(STEM)相關(guān)專業(yè)學(xué)生都必須學(xué)習(xí)的基礎(chǔ)課程[5],更應(yīng)該引入基于游戲的學(xué)習(xí)技術(shù).在課程教學(xué)中使用基于游戲的學(xué)習(xí)技術(shù),已經(jīng)被證明比傳統(tǒng)教學(xué)更加能夠促進(jìn)學(xué)生對(duì)計(jì)算機(jī)記憶概念的了解,更加具有激勵(lì)性,同時(shí)無關(guān)性別[6].對(duì)國外一所大學(xué)本科生進(jìn)行調(diào)查也顯示了東亞學(xué)生能夠積極接受基于游戲的學(xué)習(xí)[7].2011年,牟琴通過在《C語言程序設(shè)計(jì)》課程中引入“漢諾塔”“博弈”兩個(gè)游戲驗(yàn)證“基于輕游戲的程序設(shè)計(jì)課程教學(xué)和學(xué)習(xí)模型”,結(jié)果表明,相對(duì)于傳統(tǒng)教學(xué)方式獲得了更高的贊同度和認(rèn)可度[8]。2019年,肖志嬌等開發(fā)了“基于游戲的面向?qū)ο蟪绦蛟O(shè)計(jì)課程實(shí)驗(yàn)系統(tǒng)”,將游戲開發(fā)任務(wù)引入面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)之中,提高了學(xué)習(xí)者的學(xué)習(xí)效率和學(xué)習(xí)效果[9]。2021年,龔鑫等使用Armor Games制作的用于學(xué)習(xí)程序設(shè)計(jì)思想的Lightbot游戲?qū)?基于游戲的體驗(yàn)式學(xué)習(xí)計(jì)算思維培養(yǎng)模型"應(yīng)用于教學(xué),結(jié)果表明可以提升學(xué)習(xí)者的計(jì)算思維,從而提高學(xué)習(xí)者學(xué)習(xí)效果[10]。因此,本文構(gòu)建了一個(gè)基于游戲的高校程序語言課程學(xué)習(xí)工具,通過將該工具用于程序語言課程教學(xué)中,從而用來提高學(xué)生的學(xué)習(xí)積極性,最終獲得良好的學(xué)習(xí)成績.

1 現(xiàn) 狀

2018年,Falco等在論文中指出,學(xué)生在學(xué)習(xí)程序語言的過程中,主要面臨數(shù)學(xué)基礎(chǔ)、解決問題、學(xué)習(xí)動(dòng)機(jī)、語言語法等問題,教師則面臨著方法和工具的選擇問題[5].通常,教師會(huì)采用兩種不同的方法來選取工具:使用現(xiàn)有的教育游戲、自主開發(fā)合適的應(yīng)用程序.

常見基于游戲的程序語言學(xué)習(xí)工具有CodeCombat、CodinGame、CodeHunt、Screeps、Swift Playgrounds、FMSLogo、Scratch等[11,12],它們的名稱和特性如表1所示.

表1 基于游戲的程序語言學(xué)習(xí)工具

然而這些工具存在很多缺點(diǎn).有的工具沒有開源程序代碼或者需要價(jià)格高昂的商業(yè)授權(quán),教師無法針對(duì)學(xué)生的實(shí)際情況創(chuàng)建合適的游戲項(xiàng)目;有的工具不支持中文,增加了部分教師和學(xué)生的使用難度;有的工具支持的語言有限,不適合高校五花八門的程序語言課程教學(xué);有的工具沒有移動(dòng)版本和離線版本,無法適應(yīng)現(xiàn)在比較流行的移動(dòng)學(xué)習(xí)和線上線下混合學(xué)習(xí);有的工具采用積木式、繪圖式編程,相對(duì)于高校學(xué)生太過于簡單;有的工具采用了答題、字符等較為簡單的游戲界面,趣味性不強(qiáng),不能很好地增強(qiáng)學(xué)生的學(xué)習(xí)主動(dòng)性.

部分研究者或教師自主開發(fā)了學(xué)習(xí)工具.2009年,Jiau等人基于PyGame框架開發(fā)了一種三維戰(zhàn)棋類桌面游戲,幫助學(xué)生學(xué)習(xí)程序語言,促使學(xué)生進(jìn)行自我激勵(lì)[13].2017年,Hooshyar等人開發(fā)了基于網(wǎng)頁的棋盤策略類游戲幫助學(xué)生學(xué)習(xí)程序設(shè)計(jì)導(dǎo)論課程,并且增強(qiáng)了學(xué)生解決網(wǎng)絡(luò)問題的能力[14].2020年,Priyaadharshini 等人開發(fā)了支持簡單拖放以及選擇題的移動(dòng)游戲應(yīng)用,并使用該應(yīng)用幫助學(xué)生學(xué)習(xí)Python語言,激發(fā)學(xué)生的好奇心,更好地學(xué)習(xí)和理解程序語言相關(guān)概念[15].然而,這些自主開發(fā)的工具依賴于桌面、移動(dòng)、網(wǎng)頁平臺(tái)之中的一種,不能適應(yīng)多種平臺(tái);另外,使用編程語言原生庫或輕量級(jí)框架進(jìn)行學(xué)習(xí)工具開發(fā),具有較高的技術(shù)門檻,不利于普通教師根據(jù)實(shí)際情況修改程序,影響了研究結(jié)果的推廣.

2 問題

為了解決以上問題,本文將立足于實(shí)際,解決以下兩個(gè)關(guān)鍵問題:

Q1:如何開發(fā)一個(gè)方便教師使用、修改的學(xué)習(xí)工具?

Q2:學(xué)習(xí)工具對(duì)學(xué)生的學(xué)習(xí)是否有促進(jìn)作用?

3 方法

3.1 研究方法

分別針對(duì)Q1和Q2采用以下方法:

(1)針對(duì)問題Q1,本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于游戲的程序語言學(xué)習(xí)工具——TXProg系統(tǒng).

該工具基于C/S、B/S混和結(jié)構(gòu),使用HTTP協(xié)議通信,系統(tǒng)總體架構(gòu)部署如圖1所示.用戶可以使用桌面或移動(dòng)設(shè)備運(yùn)行客戶端程序,通過局域網(wǎng)或互聯(lián)網(wǎng)訪問服務(wù)端程序.為了保證高可用性,服務(wù)端可以部署成單個(gè)或多個(gè)節(jié)點(diǎn)多個(gè)實(shí)例.

圖1 TXProg系統(tǒng)總體架構(gòu)部署圖

系統(tǒng)服務(wù)端程序采用純C語言開發(fā),支持多種操作系統(tǒng)平臺(tái),在Windows XP SP3、FreeBSD 12.3、Debian 8.11、CentOS 6.10操作系統(tǒng)環(huán)境下通過了測(cè)試;客戶端程序采用Godot[16]游戲(版本:3.2.3)引擎工具開發(fā),支持移動(dòng)端、桌面端、網(wǎng)頁端等多種操作系統(tǒng)平臺(tái),在Android 4.4、FireFox 78.11、Chromium 73.0.3683.75環(huán)境下通過了測(cè)試.

運(yùn)行服務(wù)端程序前,將安裝包解壓到任意目錄,然后確保編譯程序所在目錄被添加到搜索路徑,使用命令行運(yùn)行服務(wù)端程序,默認(rèn)端口為1980.服務(wù)端程序界面如圖2所示.

圖2 TXProg系統(tǒng)服務(wù)端程序界面

運(yùn)行客戶端程序后,進(jìn)入程序主界面.主界面沿水平方向分為兩個(gè)區(qū)域:“游戲地圖”“控制面板”.左邊的“游戲地圖”區(qū)域?yàn)槎S像素風(fēng)格游戲地圖,采用32像素的正方形地磚,分辨率為640×480像素.右邊的“控制面板”區(qū)域?yàn)檫x項(xiàng)卡風(fēng)格的面板窗口,選擇選項(xiàng)卡能夠分別顯示“賬號(hào)”“任務(wù)”“設(shè)置”“幫助”四個(gè)面板.移動(dòng)、網(wǎng)頁、桌面的客戶端程序界面分別如圖3、4、5所示.

圖3 TXProg系統(tǒng)移動(dòng)客戶端程序界面

圖4 TXProg系統(tǒng)網(wǎng)頁客戶端程序界面

圖5 TXProg系統(tǒng)桌面客戶端程序界面

“幫助”面板顯示系統(tǒng)使用方法,如圖6所示.游戲主角叫做英雄(Hero),可使用聊天(Chat)、移動(dòng)(Move)、攻擊(Chop)3種指令控制它完成任務(wù).每個(gè)任務(wù)隱藏一個(gè)問題,根據(jù)游戲描述猜出問題,并且完成3件子任務(wù):使用聊天指令說出隱藏問題答案、使用移動(dòng)指令收集游戲地圖上的所有金幣、使用攻擊指令打敗游戲地圖上的所有怪物.

圖6 TXProg系統(tǒng)“幫助”面板界面

“設(shè)置”面板用于配置系統(tǒng) 的網(wǎng)絡(luò)服務(wù)器地址、界面語言、聲音開關(guān),如圖7所示.

圖7 TXProg系統(tǒng) “設(shè)置”面板界面

用戶通過“賬號(hào)”面板登錄成功后,會(huì)顯示用于安全授權(quán)的會(huì)話編號(hào),并且自動(dòng)切換至“任務(wù)”面板,如圖8所示.

圖8 TXProg系統(tǒng)“任務(wù)”面板界面

“任務(wù)”面板主要用來管理程序問題、程序代碼等相關(guān)信息,內(nèi)容如下:

a.“編號(hào)”下拉菜單中顯示程序問題編號(hào),用戶可以通過選擇其他編號(hào)切換程序問題.“名稱”文本框、描述文本框分別顯示程序問題的標(biāo)題、正文.

b.“語言”下拉菜單中顯示程序語言類型,當(dāng)前版本支持5種編程語言,分別為匯編、C、Python、Java、Shell.

c.“文件”文本框顯示服務(wù)端程序代碼文件名稱,格式為“_tx_task_會(huì)話編號(hào)_程序問題編號(hào).語言后綴”,不同語言有不同的后綴.

d.“源碼”文本框用于顯示和編輯程序代碼.

e.“輸入”文本框顯示程序問題的輸入文本,每行代表一個(gè)游戲角色,格式為“角色類型 角色橫坐標(biāo) 角色縱坐標(biāo)”,角色類型包括:英雄(h)、金幣(c)、火焰(f)、怪物(o),橫坐標(biāo)和縱坐標(biāo)取值范圍分別為[0,19]、[0,14].

f.“輸出”文本框顯示程序編譯運(yùn)行結(jié)果.用戶編寫程序代碼后,選擇“運(yùn)行”按鈕,服務(wù)端程序開始編譯或解釋運(yùn)行程序,讀取輸入文本輸出多行指令,然后校驗(yàn)輸出文本是否匹配程序問題答案,從而判斷是否完成任務(wù)并返回結(jié)果給客戶端,客戶端則根據(jù)程序運(yùn)行結(jié)果控制游戲角色執(zhí)行相應(yīng)的指令,從而驅(qū)動(dòng)游戲運(yùn)行.

g.“重置”按鈕用于將“游戲地圖”恢復(fù)到任務(wù)初始狀態(tài).

h.“切換”按鈕用于將“控制面板”區(qū)域在全屏和還原之間切換,方便用戶專注于編寫代碼.

i.“運(yùn)行”按鈕將程序源碼提交至服務(wù)器編譯執(zhí)行.

系統(tǒng)內(nèi)置了5個(gè)默認(rèn)任務(wù),涵蓋了程序語言課程的5個(gè)基本知識(shí)點(diǎn),如表2所示.

表2 TXProg系統(tǒng)任務(wù)與知識(shí)點(diǎn)關(guān)系

(2)針對(duì)問題Q2,采用了隨機(jī)抽樣的前測(cè)后測(cè)控制分組實(shí)驗(yàn)設(shè)計(jì)方法,將實(shí)驗(yàn)對(duì)象分為控制組和實(shí)驗(yàn)組,控制組學(xué)生采用傳統(tǒng)學(xué)習(xí)技術(shù)進(jìn)行學(xué)習(xí),實(shí)驗(yàn)組學(xué)生使用TXProg系統(tǒng),即采用基于游戲的學(xué)習(xí)技術(shù)進(jìn)行學(xué)習(xí).對(duì)實(shí)驗(yàn)對(duì)象使用兩種測(cè)量工具進(jìn)行前測(cè)后測(cè),從而確定TXProg系統(tǒng)作為基于游戲的學(xué)習(xí)工具對(duì)程序語言學(xué)習(xí)是否有促進(jìn)作用.

3.2 抽樣方法

本文最終以自然班級(jí)為抽樣單位,選擇了我院本學(xué)期學(xué)習(xí)“Java程序設(shè)計(jì)”課程的兩個(gè)班級(jí)作為實(shí)驗(yàn)對(duì)象.控制組和實(shí)驗(yàn)組班級(jí)人數(shù)分別為55、56.經(jīng)過專家評(píng)估,當(dāng)前樣本容量能夠控制統(tǒng)計(jì)誤差.

3.3 測(cè)量方法

本文基于自我效能(Self-Efficacy)理論[17]制訂了5分“程序語言學(xué)習(xí)自我效能”量表.該量表共12題,涵蓋3個(gè)維度——量級(jí)、一般、強(qiáng)度,克隆巴赫信度系數(shù)為0.93,以高分的方式體現(xiàn)高自我效能,從而有助于增強(qiáng)學(xué)習(xí)動(dòng)機(jī)、提高學(xué)業(yè)成績[18].

本文從課程試題庫中挑選了TXProg系統(tǒng)相關(guān)知識(shí)點(diǎn)的8道選擇題,組成了每題2分、共16分的測(cè)驗(yàn)試卷,用于測(cè)量學(xué)生的知識(shí)掌握程度.

4 結(jié) 果

4.1 研究結(jié)果

實(shí)驗(yàn)結(jié)束后,經(jīng)過篩選去除不合格數(shù)據(jù),共獲得了控制組38份、實(shí)驗(yàn)組42份有效的自我效能問卷和測(cè)驗(yàn)試卷.

4.2 結(jié)果分析

(1)針對(duì)問題Q1,TXProg系統(tǒng)客戶端采用Godot游戲編輯器制作程序,大大地降低了制作游戲地圖的難度,支持了移動(dòng)、桌面、網(wǎng)頁全平臺(tái),內(nèi)置的類似Python腳本也降低了深層次修改的難度.

(2)針對(duì)問題Q2,使用了GNU PSPP (版本:0.10.2)統(tǒng)計(jì)分析軟件對(duì)問卷和測(cè)驗(yàn)試卷進(jìn)行了研究.

對(duì)自我效能問卷、測(cè)驗(yàn)試卷進(jìn)行描述統(tǒng)計(jì),各組p值均小于0.05,表明具有顯著性差異.對(duì)比控制組和實(shí)驗(yàn)組,均值均有提高,采用基于游戲的學(xué)習(xí)技術(shù)明顯比傳統(tǒng)學(xué)習(xí)技術(shù)更加能夠增強(qiáng)學(xué)生自我效能、提高學(xué)生學(xué)業(yè)成績,如表3、4所示.

表3 自我效能問卷統(tǒng)計(jì)分析結(jié)果

表4 測(cè)驗(yàn)試卷統(tǒng)計(jì)分析結(jié)果

5 討 論

TXProg系統(tǒng)可以達(dá)到目標(biāo),然而僅針對(duì)本校兩個(gè)專業(yè)學(xué)生、一門程序語言課程進(jìn)行了分析,沒有仔細(xì)分析樣本之間差異性,樣本數(shù)量仍然較小,爭取以后推廣到其他專業(yè)、課程TXProg系統(tǒng)服務(wù)端、客戶端程序可以在http://tang.chat網(wǎng)站中下載,因缺少macOS,TXProg系統(tǒng)暫未提供iOS版本移動(dòng)客戶端,知識(shí)點(diǎn)涉及面較小,以后將優(yōu)化系統(tǒng) ,進(jìn)一步增強(qiáng)易用性、增加任務(wù).

猜你喜歡
服務(wù)端工具界面
波比的工具
波比的工具
國企黨委前置研究的“四個(gè)界面”
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
在Windows Server 2008上創(chuàng)建應(yīng)用
“巧用”工具
讀者(2017年18期)2017-08-29 21:22:03
人機(jī)交互界面發(fā)展趨勢(shì)研究
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
龙州县| 杭州市| 南溪县| 易门县| 陵川县| 吉木乃县| 聂荣县| 射阳县| 子长县| 平顺县| 永春县| 禹州市| 博湖县| 广灵县| 兴城市| 武义县| 闽清县| 禹城市| 乐业县| 谷城县| 牙克石市| 上蔡县| 永城市| 中江县| 梁山县| 乌兰察布市| 肇东市| 内江市| 板桥市| 钟祥市| 吴忠市| 龙游县| 舞阳县| 精河县| 阿勒泰市| 荆州市| 班玛县| 曲阳县| 奉贤区| 容城县| 黄大仙区|