一种基于游戏的高校程序语言课程学习工具

2024-04-11 12:55唐玄刘娟刘世军
商丘师范学院学报 2024年3期
关键词:服务端工具界面

唐玄,刘娟,刘世军

(蚌埠学院 计算机与信息工程学院,安徽 蚌埠 233000)

美国高等教育信息化协会(EDUCAUSE)在2021年4月推出了《2021年地平线报告:教学版》报告,该报告指出,由于新冠疫情而使未来的高等教育将一直依赖远程技术和数字学习[1].“在线学习联盟”(The Online Learning Consortium)在2020年2月发布的《数字学习演化趋势》报告指出,基于游戏的学习已经成为数字学习的七大主要趋势之一[2].“研究与市场”(Research and Markets)公司在2021年5月发布的《游戏学习市场:2021到2026年预测》报告指出,全球的基于游戏的学习市场在未来几年内将以20.07%的速度飞速增长[3].一些高校的课程教学中已经使用了基于游戏的学习,如病毒学课程中使用了“CD4 Hunter”移动游戏、分子生物学课程中使用了“Foldit”桌面游戏、有机化学课程中使用了 “PolyCraftWorld”——“我的世界”(MineCraft)修改版游戏[4].然而,程序语言课程作为高等教育中科学、技术、工程和数学(STEM)相关专业学生都必须学习的基础课程[5],更应该引入基于游戏的学习技术.在课程教学中使用基于游戏的学习技术,已经被证明比传统教学更加能够促进学生对计算机记忆概念的了解,更加具有激励性,同时无关性别[6].对国外一所大学本科生进行调查也显示了东亚学生能够积极接受基于游戏的学习[7].2011年,牟琴通过在《C语言程序设计》课程中引入“汉诺塔”“博弈”两个游戏验证“基于轻游戏的程序设计课程教学和学习模型”,结果表明,相对于传统教学方式获得了更高的赞同度和认可度[8]。2019年,肖志娇等开发了“基于游戏的面向对象程序设计课程实验系统”,将游戏开发任务引入面向对象程序设计实验之中,提高了学习者的学习效率和学习效果[9]。2021年,龚鑫等使用Armor Games制作的用于学习程序设计思想的Lightbot游戏将"基于游戏的体验式学习计算思维培养模型"应用于教学,结果表明可以提升学习者的计算思维,从而提高学习者学习效果[10]。因此,本文构建了一个基于游戏的高校程序语言课程学习工具,通过将该工具用于程序语言课程教学中,从而用来提高学生的学习积极性,最终获得良好的学习成绩.

1 现 状

2018年,Falco等在论文中指出,学生在学习程序语言的过程中,主要面临数学基础、解决问题、学习动机、语言语法等问题,教师则面临着方法和工具的选择问题[5].通常,教师会采用两种不同的方法来选取工具:使用现有的教育游戏、自主开发合适的应用程序.

常见基于游戏的程序语言学习工具有CodeCombat、CodinGame、CodeHunt、Screeps、Swift Playgrounds、FMSLogo、Scratch等[11,12],它们的名称和特性如表1所示.

表1 基于游戏的程序语言学习工具

然而这些工具存在很多缺点.有的工具没有开源程序代码或者需要价格高昂的商业授权,教师无法针对学生的实际情况创建合适的游戏项目;有的工具不支持中文,增加了部分教师和学生的使用难度;有的工具支持的语言有限,不适合高校五花八门的程序语言课程教学;有的工具没有移动版本和离线版本,无法适应现在比较流行的移动学习和线上线下混合学习;有的工具采用积木式、绘图式编程,相对于高校学生太过于简单;有的工具采用了答题、字符等较为简单的游戏界面,趣味性不强,不能很好地增强学生的学习主动性.

部分研究者或教师自主开发了学习工具.2009年,Jiau等人基于PyGame框架开发了一种三维战棋类桌面游戏,帮助学生学习程序语言,促使学生进行自我激励[13].2017年,Hooshyar等人开发了基于网页的棋盘策略类游戏帮助学生学习程序设计导论课程,并且增强了学生解决网络问题的能力[14].2020年,Priyaadharshini 等人开发了支持简单拖放以及选择题的移动游戏应用,并使用该应用帮助学生学习Python语言,激发学生的好奇心,更好地学习和理解程序语言相关概念[15].然而,这些自主开发的工具依赖于桌面、移动、网页平台之中的一种,不能适应多种平台;另外,使用编程语言原生库或轻量级框架进行学习工具开发,具有较高的技术门槛,不利于普通教师根据实际情况修改程序,影响了研究结果的推广.

2 问题

为了解决以上问题,本文将立足于实际,解决以下两个关键问题:

Q1:如何开发一个方便教师使用、修改的学习工具?

Q2:学习工具对学生的学习是否有促进作用?

3 方法

3.1 研究方法

分别针对Q1和Q2采用以下方法:

(1)针对问题Q1,本文设计并实现了一种基于游戏的程序语言学习工具——TXProg系统.

该工具基于C/S、B/S混和结构,使用HTTP协议通信,系统总体架构部署如图1所示.用户可以使用桌面或移动设备运行客户端程序,通过局域网或互联网访问服务端程序.为了保证高可用性,服务端可以部署成单个或多个节点多个实例.

图1 TXProg系统总体架构部署图

系统服务端程序采用纯C语言开发,支持多种操作系统平台,在Windows XP SP3、FreeBSD 12.3、Debian 8.11、CentOS 6.10操作系统环境下通过了测试;客户端程序采用Godot[16]游戏(版本:3.2.3)引擎工具开发,支持移动端、桌面端、网页端等多种操作系统平台,在Android 4.4、FireFox 78.11、Chromium 73.0.3683.75环境下通过了测试.

运行服务端程序前,将安装包解压到任意目录,然后确保编译程序所在目录被添加到搜索路径,使用命令行运行服务端程序,默认端口为1980.服务端程序界面如图2所示.

图2 TXProg系统服务端程序界面

运行客户端程序后,进入程序主界面.主界面沿水平方向分为两个区域:“游戏地图”“控制面板”.左边的“游戏地图”区域为二维像素风格游戏地图,采用32像素的正方形地砖,分辨率为640×480像素.右边的“控制面板”区域为选项卡风格的面板窗口,选择选项卡能够分别显示“账号”“任务”“设置”“帮助”四个面板.移动、网页、桌面的客户端程序界面分别如图3、4、5所示.

图3 TXProg系统移动客户端程序界面

图4 TXProg系统网页客户端程序界面

图5 TXProg系统桌面客户端程序界面

“帮助”面板显示系统使用方法,如图6所示.游戏主角叫做英雄(Hero),可使用聊天(Chat)、移动(Move)、攻击(Chop)3种指令控制它完成任务.每个任务隐藏一个问题,根据游戏描述猜出问题,并且完成3件子任务:使用聊天指令说出隐藏问题答案、使用移动指令收集游戏地图上的所有金币、使用攻击指令打败游戏地图上的所有怪物.

图6 TXProg系统“帮助”面板界面

“设置”面板用于配置系统 的网络服务器地址、界面语言、声音开关,如图7所示.

图7 TXProg系统 “设置”面板界面

用户通过“账号”面板登录成功后,会显示用于安全授权的会话编号,并且自动切换至“任务”面板,如图8所示.

图8 TXProg系统“任务”面板界面

“任务”面板主要用来管理程序问题、程序代码等相关信息,内容如下:

a.“编号”下拉菜单中显示程序问题编号,用户可以通过选择其他编号切换程序问题.“名称”文本框、描述文本框分别显示程序问题的标题、正文.

b.“语言”下拉菜单中显示程序语言类型,当前版本支持5种编程语言,分别为汇编、C、Python、Java、Shell.

c.“文件”文本框显示服务端程序代码文件名称,格式为“_tx_task_会话编号_程序问题编号.语言后缀”,不同语言有不同的后缀.

d.“源码”文本框用于显示和编辑程序代码.

e.“输入”文本框显示程序问题的输入文本,每行代表一个游戏角色,格式为“角色类型 角色横坐标 角色纵坐标”,角色类型包括:英雄(h)、金币(c)、火焰(f)、怪物(o),横坐标和纵坐标取值范围分别为[0,19]、[0,14].

f.“输出”文本框显示程序编译运行结果.用户编写程序代码后,选择“运行”按钮,服务端程序开始编译或解释运行程序,读取输入文本输出多行指令,然后校验输出文本是否匹配程序问题答案,从而判断是否完成任务并返回结果给客户端,客户端则根据程序运行结果控制游戏角色执行相应的指令,从而驱动游戏运行.

g.“重置”按钮用于将“游戏地图”恢复到任务初始状态.

h.“切换”按钮用于将“控制面板”区域在全屏和还原之间切换,方便用户专注于编写代码.

i.“运行”按钮将程序源码提交至服务器编译执行.

系统内置了5个默认任务,涵盖了程序语言课程的5个基本知识点,如表2所示.

表2 TXProg系统任务与知识点关系

(2)针对问题Q2,采用了随机抽样的前测后测控制分组实验设计方法,将实验对象分为控制组和实验组,控制组学生采用传统学习技术进行学习,实验组学生使用TXProg系统,即采用基于游戏的学习技术进行学习.对实验对象使用两种测量工具进行前测后测,从而确定TXProg系统作为基于游戏的学习工具对程序语言学习是否有促进作用.

3.2 抽样方法

本文最终以自然班级为抽样单位,选择了我院本学期学习“Java程序设计”课程的两个班级作为实验对象.控制组和实验组班级人数分别为55、56.经过专家评估,当前样本容量能够控制统计误差.

3.3 测量方法

本文基于自我效能(Self-Efficacy)理论[17]制订了5分“程序语言学习自我效能”量表.该量表共12题,涵盖3个维度——量级、一般、强度,克隆巴赫信度系数为0.93,以高分的方式体现高自我效能,从而有助于增强学习动机、提高学业成绩[18].

本文从课程试题库中挑选了TXProg系统相关知识点的8道选择题,组成了每题2分、共16分的测验试卷,用于测量学生的知识掌握程度.

4 结 果

4.1 研究结果

实验结束后,经过筛选去除不合格数据,共获得了控制组38份、实验组42份有效的自我效能问卷和测验试卷.

4.2 结果分析

(1)针对问题Q1,TXProg系统客户端采用Godot游戏编辑器制作程序,大大地降低了制作游戏地图的难度,支持了移动、桌面、网页全平台,内置的类似Python脚本也降低了深层次修改的难度.

(2)针对问题Q2,使用了GNU PSPP (版本:0.10.2)统计分析软件对问卷和测验试卷进行了研究.

对自我效能问卷、测验试卷进行描述统计,各组p值均小于0.05,表明具有显著性差异.对比控制组和实验组,均值均有提高,采用基于游戏的学习技术明显比传统学习技术更加能够增强学生自我效能、提高学生学业成绩,如表3、4所示.

表3 自我效能问卷统计分析结果

表4 测验试卷统计分析结果

5 讨 论

TXProg系统可以达到目标,然而仅针对本校两个专业学生、一门程序语言课程进行了分析,没有仔细分析样本之间差异性,样本数量仍然较小,争取以后推广到其他专业、课程TXProg系统服务端、客户端程序可以在http://tang.chat网站中下载,因缺少macOS,TXProg系统暂未提供iOS版本移动客户端,知识点涉及面较小,以后将优化系统 ,进一步增强易用性、增加任务.

猜你喜欢
服务端工具界面
波比的工具
波比的工具
国企党委前置研究的“四个界面”
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
在Windows Server 2008上创建应用
“巧用”工具
人机交互界面发展趋势研究
手机界面中图形符号的发展趋向