基于Web的游戏化编程平台设计与开发
2023-04-14缑娟娟王婧雯李怡静潘以锋
缑娟娟 王婧雯 李怡静 潘以锋
摘要:随着教育信息化的不断推进,利用技术促进学习者有意义的学习逐渐引起教育研究者们的注意。有意义学习旨在让学习者建构的、深层次的进行学习,可以有效地实现以学生为本的教育,促进学生的良好发展。研究基于有意义学习理论,从深度学习准备、知识建构迁移、深度评价反思三个阶段出发,以培养学生学习主动性、元认知能力、沟通协作能力以及问题解决能力为整体目标,构建了基于有意义学习的游戏化编程平台的基本框架。根据该框架进行平台的设计和开发,并提出了基于此系统的学习途径。
关键词: 有意义学习;游戏化编程平台;系统设计开发
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2023)06-0033-06
开放科学(资源服务)标识码(OSID):
1 引言
《教育信息化2.0行动计划》指出要继续推进教育平台空间等的建设[1],以便促进教育模式改革以及教育资源的高效利用。特别是在新冠疫情期间,响应“听课不停学”的号召,线上教学平台更是得到了蓬勃的发展。此外,近年来编程教育也不断地蓬勃发展,培养学生的计算思维是高校的培养目标之一,編程类课程作为高校培养学生计算思维的主要方式,其良好发展受多种因素的制约,具体表现在学生学习兴趣不高,对知识点的掌握不熟练等[2],此外,目前编程教学的形式还是以班级为单位开展,对于学生的个性化发展不够充分。设计和开发能够促进学生积极参与且保证学生个性化发展的编程平台成为当前亟待解决的问题之一。可见,信息技术为教育提供了有力的支撑。然而,信息技术在便利了知识的获取的同时,加速了知识学习的过程,导致学习机械化和表层化。
有意义学习旨在让学习者建构的、深层次的进行学习,而非机械记忆的、浮于表面的学习[3]。因此为激发学生学习兴趣,优化教学效果,学界将游戏化和个性化的理念引入教学,遵循有意义学习的特点,实现以学生为本的教育,促进学生的良好发展。
2 文献综述
2.1 有意义学习
有意义的学习虽然早在20世纪60年代就已经被提出[4],但是至今不存在一个统一的定义。美国认知教育心理学家戴维·保罗·奥苏贝尔(David Pawl Ausubel)提出了“有意义学习”理论(Meaningful Learning)的概念,他认为:如果学习任务与学习者现有的知识结构有关联,且并非一种特定的答案,那么有意义的学习就会发生[5] 。梅耶(Richard E. Mayer)则认为有意义的学习是符合建构主义理论的[6],它的表现形式是良好的记忆和良好的迁移能力[7]。
乔纳森(David H. Jonassen)的有意义学习理论也是讨论得比较广泛的理论之一。其将有意义的学习视为对于学生十分重要的学习方法。规定了它的5种属性:主动的、有意图的、建构的、真实的和合作的。他认为当学习活动同时具有这5个属性,那么学习者更容易开始有意义的学习[8],该5种属性的如下:
1)主动的:有意义的学习是主动的,即学习者在自然的环境下进行学习时,需要主动参与学习活动或操作学习工具,在此过程中不断进行反思以进行知识的建构和内化[8]。主动参与是有意义学习的前提条件。
2)真实的:有意义的学习是真实的[8],即在实际的问题或情境中进行知识或技能的学习,以防学习者理论与实践分离,也更加便于知识的迁移。
3)建构的:有意义的学习是建构的,即学习者在学习过程进行观察和反思,反思使得新的知识与旧的知识得以整合,从而达到知识的建构和内化[8]。
4)合作的:有意义的学习是合作的,即学习者在学习过程中需要互相合作交流,沟通以达成共识,促进知识内化,完成协同意义建构[8]。
5)有意图的:有意义的学习是有意图的,即学习活动应该具有明确的目标,学生应该知道要学什么,学会了什么,并反思学习过程,以便及时进行调整[8]。
2.2 游戏化编程平台现状
Venter(2020)[9]分析了2014年到2019年游戏化系统在高等教育编程教学中的使用情况,发现最受欢迎的游戏化元素依次是排行榜、积分以及徽章。研究表明游戏化对学生动机有积极影响。此外,编程教学中执行游戏化最常见的有两种方法,利用已有的游戏化平台或开发新的游戏化平台。
2.2.1 自主开发的游戏化编程平台/系统
游戏化目前已经成为一种新的编程概念教学方法[10],具体是指在非游戏化的环境中加入游戏设计的理念、元素、方法和机制等[11],例如勋章、排行榜等,从而帮助学生提升学习动机,促进学生主动参与。
综上研究可见:1)这些自主研发的游戏化编程平台都从解决编程问题开始,很少会进行编程知识的学习。2)对于反思与师生之间的反馈机制还有欠缺。
2.2.2 已有的游戏化编程平台/系统
随着教育信息化的不断推进和游戏化教学的价值被发掘,许多的国内外游戏化编程平台应运而生,笔者对目前被广泛用于研究的游戏化编程平台进行分析,按照适用对象和适用范围对平台进行比较。
从表1可发现:1)多为编程游戏;2)模块化的方式使得代码的编写很有局限性;3)缺乏交流互动机制和个性化学习机制;4)缺乏对编程知识的系统介绍。
当前大学生的学习主动性越来越强,并且会进行反思性学习,来促进自身进行深度学习[16]。在研究中显示教学方式方法的效果、学生主动学习、学业任务以及时间分配会对大学生的学习成果产生显著的积极影响[17] 。由此可以看出当代大学生是学习目的明确,注重学习效率的学习主体。
通过对上述平台的分析并结合大学生的学习特点,设计基于有意义学习的游戏化编程平台应该注意:1)平台中加入游戏元素,一方面采用加入游戏元素的形式而不是游戏的形式,注重对编程知识的掌握,另一方面游戏元素的加入可以提升学习者的学习兴趣。2)提供高互动的对话机制。平台注意师生、生生之间的相互交流,有利于意义建构。3)自动评分与及时反馈机制。良好的及时反馈有利于学生积极状态的保持。4)自我监控相关机制。
3 基于有意义学习的游戏化编程平台功能分析
結合对有意义学习的理解,本文将有意义学习定义为:学生主动参与学习过程,明确整个学习过程以及每个阶段的学习目标,在学习过程中能够积极参与讨论进行知识建构,并在课后及时反思以完善知识建构体系,以达到能够综合、灵活运用所学知识的一种学习过程。编程学习是非常有必要的[12],但编程学习的趣味性相对而言并不高,特别是在班级化的教学环境中,编程学习的迁移应用是一个很大的问题。综上,本研究将有意义学习编程平台设计为课前有意义学习准备、课中主动参与建构过程以及反思与评价阶段,其针对学生四个方面的培养:学习主动性、元认知能力、沟通合作能力以及问题解决能力。
编程平台的功能设计需要实现对学生四个方面培养的要求,即根据学生培养的要求来设计编程平台的功能,表3是对四个培养要求的具体描述以及功能设计。
3.1 学习主动性
学习主动性也就是促进学习者参与到课堂的学习活动中来,学习者只有参与课堂活动,才能从中学到知识,完成知识的建构与内化。促进学习者参与是有意义学习的前提。在编程课程的学习中,最常见的问题是学生学习动机不高,然而有学者证明游戏化确实可以提升学生的学习动机并促进学生的主动参与[18-19],因此可以考虑在编程平台中加入游戏化。穆肃[20]等学者的研究表明大多数的学习者认同在线协作同伴会对自己产生积极的影响。据此,针对学习主动性的培养,系统设计如下:1)加入排行榜、积分、徽章以及关卡等游戏元素,提升学习兴趣;2)创设协同交流学习空间,支持协同学习;3)对学习过程进行及时的评价与反馈,维持学生主动参与。
3.2 元认知能力
元认知是学习者对自身学习情况的了解,表现为学习进度确定、学习行为调节以及学习结果反思[21]。有研究分析了54篇国外关于元认知的实验与准实验的研究,研究表明元认知对学生的学习存在积极影响,研究还提出学生对学习进程的计划、监督与反思都能够较好的提升学生的学习[22]。 可见,针对元认知的培养,系统的设计应考虑:1)跟踪学习行为,学习进程与成就可见;2)学习数据可视化,监控学习状态;按照学习情况个性化推荐题目;教师适当干预,调节学习过程;3)协作交流,促进意义建构;实时评分与及时反馈,促进反思。
3.3 沟通协作能力
21世纪教育的本质已经由简单的知识传递转向多元化能力的培养,“4C能力”(Critical Thinking, Communication, Collaboration, Creativity),即批判性思维、沟通能力、协作能力、创新创造能力,作为21世纪学生必备的四项能力,为培养未来社会发展所需人才指明了方向[23]。有效的表达是有意义学习的一个方面,也是学生未来进入社会必不可少的一个能力。系统要培养学生的沟通协作能力,应该从基于项目的学习方式入手,创建项目小组以及组内、组件交流空间,并建立同伴互评机制。
3.4 问题解决能力
问题解决是指问题解决者与动态的任务环境之间成功交互的过程[24]。随着现代社会对非常规工作需求的增加,复杂问题解决能力已成为胜任未来工作的关键能力之一[24]。PISA结合前人研究,将问题解决分为四个阶段[25],本平台依据此四阶段来设计:1)探索和理解,即观察问题情景,理解信息;2)表征,将问题与先验知识联系;3)计划和执行,设计解决方案并执行;4)监测与反馈,监测学习进程,系统跟踪学习行为,通过数据反映学习情况。
4 编程平台设计与开发
编程学习平台的设计与开发过程包括前期分析、平台设计与开发两个部分,如下所示。
4.1 前期分析
本平台面向上海某高校Web编程课程的初学者,为提高学生学习兴趣、促进编程知识迁移应用以及促进学生交流协作而设计,通过对任课教师的了解,得出以下结论:学生感觉编程有点无聊,上课注意力难以集中;对所学编程知识难以灵活综合的运用。希望平台能够帮助他们提升学习兴趣,提高对知识迁移运用的能力。
4.2 平台设计与开发
经过对有意义学习以及平台功能的分析,游戏化编程平台将按照准备阶段、迁移建构阶段和反思评价阶段三个阶段来设计,平台主要围绕基础知识学习、小组项目以及个人中心三个模块展开,基础知识模块主要提供编程知识的学习以及测试,小组项目模块针对某个项目进行小组合作学习,个人中心主要提供教学监控和调整。所有的设计都围绕学习主动性以及其他三项能力的培养展开,具体如图1所示。
从图 1可以看出基于有意义学习过程的游戏化编程平台面向学生的学习主动性、元认知能力、沟通协作能力以及解决问题能力的促进和培养。游戏化编程平台主要包括三个板块:基础知识学习、小组项目以及个人中心,以下将分为三个阶段进行介绍:
4.2.1准备阶段
准备阶段,学生需要在基础知识学习板块进行视频学习,并完成游戏化冲关测试,完成测试可以获得徽章,并且个人战绩会在排行榜中显示,这也是知识储备阶段;在小组项目方面,学习者在此阶段需要进行学习小组划分,确定小组项目主题,完善小组信息;学习者在此过程中出现疑问可以在平台上对学生或教师提问,也可回答别人提出的问题,而学习者的这些行为也都会被记录下来,学习者可以在个人中心进行查看。
4.2.2 迁移建构阶段
迁移建构阶段,平台会记录学习者在基础知识学习板块的学习和测试情况并反馈给教师,教师则根据系统的反馈情况对学生进行重难点的讲解和学习,且平台能够根据学习者的测试情况进行个性化题目的推荐,以此保证学习者基础编程知识的学习;同一小组的学生通过讨论确定好项目主题后,需要确定项目计划和所涉及到的知识点,并在班级内进行项目进度汇报;学习者的学习情况和进度可以在个人中心中查询,如图 2所示,知识点学习情况会在知识图谱中反映出来,红色代表熟练掌握,黄色代表初步掌握,蓝色代表未掌握。
4.2.3 反思评价阶段
在最后的反思评价阶段,学生可以在平台提交自己的个人作业,别的学生可以进行点赞和评论;在小组项目方面,本阶段需要学习小组上传小组项目成果并进行汇报,然后教师进行点评,组间进行互评;此外,在最后的反思评价阶段,需要学生上传关于个人和小组学习情况的反思,教师可基于此进行下一阶段教学的调整。
4.3 平台开发
根据上述分析,本研究对平台进行技术实现。采用关键技术是基于Web API标准接口的后台数据管理系统、信息检索系统和服务接口,以具有跨平台能力的.Net Core为开发框架,前端框架采取HTTP、CSS、JavaScript、Require JS技术,此外,本平台还加入游戏化冲关测试和个性化推荐功能,便于学习者有兴趣的、针对性的进行学习。
平台的主界面有“基础知识、知识测评、冲关游戏、成就激励、知识图谱、习题集、作业、学习社区和系统设置”九大板块,如图3所示。
冲关游戏是按照课程内容安排游戏关卡如图4,让学生完成选择题、操作题等之后,学生可以立即获得分数和反馈,且会按照分数显示学习者的排名情况,学习者也可以将冲关的情况展示在学习社区,其他学生可以进行点赞和评论。
5 思考与结语
本研究希望通过游戏化编程平台提高学生的学习兴趣和编程的迁移能力,基于有意义学习进行了游戏化编程平台的设计和开发,当然信息技术手段的使用也应该配合相应的教学设计才能够发挥作用、体现最大价值,据此,笔者认为基于此平台的学习应该以有意义学习为主要的学习方法、以基于项目的学习为主要的学习方式、以深度学习的三个阶段为主要的学习过程、通过行为数据监控学习行为、以多元评估方式评估学习结果以及利用个性化推荐和及时反馈的方式促进学习者反思。
5.1 以有意义的学习为主要的学习方法
乔纳森(David H. Jonassen)认为有意义学习是教育的目标,同时有意义学习也是学习的主要方式[9];此外综合有意义学习的观点,其体现在课程学习中就是明确学习目标、促进学生的参与、基于问题或案例或项目的分析、促进师生或生生交流协作以及促进学习者的反思这五个方面。本系统采用知识图谱的方式,帮助学习者明确学习目标和进程;采用游戏化的相关元素来提升学习兴趣,从而促进学生的主动参与;采用基于项目的学习方式,培养学生交流协作、解决问题的能力;创建组内、组件、师生以及生生之间的交流空间和成果分享的展示空间,促进交流;通过系统行为数据反馈、个性化出题以及及时评分机制促进学习者反思,从而及时调整学习状态与进程。
5.2 以基于项目的学习为学习方式
基于项目的有意义学习更加易于学习者理解且更加有利于学习者进行迁移[9],同时也是进行有意义学习较为常见的方式。元认知能力、沟通协作能力以及解决问题能力都是通过小组项目的学习方式来达成,项目小组也相当于一个学习共同体。本系统在小组项目模块中,通过创建项目小组,进行组内在线交流与小组分工;通过组内沟通协作以及联系所学知识进行项目主题确定,并制定项目计划,最终产出小组项目成果,整个过程中组内成员不断交流协作,共同完成意义建构;对项目结果进行展示,教师、组间进行评分,及时反馈能够促进学习的良性循环[26],这不仅锻炼了学习者的表达能力,促进其反思,同时也是对学习者元认知能力的培养;最后,从发现项目主题到最后项目产出结果的这个过程中,学习者的问题解决能力也得到了培养。
5.3 以深度学习三个阶段为学习过程
本研究将有意义学习定位于课前意义学习准备、课中意义建构迁移以及课后评价反思三个阶段,并依据三个阶段的具体内涵,设计并实现游戏化编程平台的功能。
课前有意义学习准备阶段主要是完成学习前的准备工作,为后续知识建构提供基本条件。基础知识模块的视频课程可以用于课前预习,以便对课堂内容有所了解,游戏化测试模块可用于学生课前学习后进行测试,提升对编程的兴趣,此模块也可以在平時的编程练习中使用,提升学习动机;小组项目模块开始要创建项目小组、考虑项目主题等;个人中心需要录入个人班级学号等信息,便于之后行为数据统计与分析。
课中意义建构迁移阶段主要实现知识的建构和迁移理解,也是有意义学习的核心阶段。编程课程学习中需要针对知识点进行学习、挖掘重难点、进行知识点练习以及迁移运用;小组项目中需要联系所学的知识点以及迁移运用的启发,不断构思和完善项目方案并制定计划,最终产出项目成果;个人中心主要负责跟踪学习行为产出学习数据,以便促进学生反思和培养学生的元认知能力。
课后评价反思阶段则主要关注于学生与教师之间的评价、点赞、打分等操作以及学生的自我监控。
5.4 以数据统计分析监控学习行为
游戏化编程平台跟踪学生行为,统计其学习数据,主要用来实现学习者对自我学习的监控、调节和反思。知识图谱(反映学生对知识点的掌握情况以及学习进程)、分数排行(在游戏化测评中的得分情况)、个人行为数据查看(评论数、点赞数等)以及根据学习者大体情况个性化出题等相关内容,学习者通过查看并分析自己参与学习的相关历程,监督自我学习行为;教师通过查看班级学生学习情况,对学生合理干预和监督。
5.5 以多元评价方式评估学习结果
基于有意义学习的编程平台是学习共同体一起参与实现问题解决的过程,且元认知能力的培养要求多元的评价方式。因此,游戏化编程平台的评价方式也采用多元评价的模式,小组项目的评价方式包括同伴之间互评和教师评价,评价内容主要是对学习共同体的学习活动、学习结果评价、点赞、打分等;个人的评价方式综合学习行为数据、同伴互评、积分排行榜徽章等。
5.6 以个性化推荐和及时反馈的方式促进学习反思
在编程学习过程中,每个人对于不同知识点的理解能力和掌握程度都是不同的,因此,个性化推荐与反馈显得尤为重要。游戏化编程平台会根据学习者答题的情况以及知识点的学习情况进行题目的个性化推荐,帮助学习者掌握比较薄弱的知识点;此外平台会及时对学习者答题情况做出反馈,便于学习者明确知识点,促进学习者反思。
有意义学习的理论为编程教育平台的设计开发提供了一个理论基础,本文通过分析有意义学习的相关理论,总结了有意义学习的教学过程的主要表现:学生主动参与学习过程,明确整个学习过程以及每个阶段的学习目标,在学习过程中能够积极参与讨论进行知识建构,并在课后及时反思以完善知识建构体系,以达到能够综合、灵活运用所学知识的一种学习过程。并结合学习者中心设计的理念进行了有意义学习的游戏化变成平台的设计与开发,面向学习者学习主动性、元认知能力、沟通协作能力以及解决问题能力的促进和培养。从技术层面上帮助学习者提高学习兴趣,从而主动的参与课堂活动和小组交流讨论,并通过技术手段为学习小组的构建与学习过程提供支架,注重个人学习和小组学习,从而真正达到有意义学习。此外,本文还基于此平台就学习方法、学习行为、学习数据、学习过程以及学习反思提出了相应的建议:以有意义学习为主要的学习方法、以基于项目的学习为主要的学习方式、以深度学习的三个阶段为主要的学习过程、通过行为数据监控学习行为、以多元评估方式评估学习结果以及利用个性化推荐和及时反馈的方式促进学习者反思。最后,本研究设计和开发了游戏化编程平台并基于此提出了一些学习建议,但学习的最终结果如何应该在实际的教学中进行检验,因此之后本研究会将此进行实践,以期能够对编程学习有所贡献。
参考文献:
[1] 教育部. 教育部关于印发《教育信息化2.0行动计划》的通知[EB/OL].[2021-10-22].http://www.moe.gov.cn/srcsite/A16/s3342/201804/t20180425_334188.html
[2] 胡燕翔,赵晶,李骊,等.网络教学平台在《计算机组成原理》教学中的應用探析[J].高教学刊,2019(13):64-66.
[3] 何克抗,李克东,谢幼如,等.“主导—主体”教学模式的理论基础[J].电化教育研究,2000,21(2):3-9.
[4] 李恒.在线教育生态系统及其演化路径研究[J].中国远程教育,2017(1):62-70.
[5] Ausubel D P.The facilitation of meaningful verbal learning in the classroom[J].Educational Psychologist,1977,12(2):162-178.
[6] Mayer R E.Rote versus meaningful learning[J].Theory into Practice,2002,41(4):226-232.
[7] Mayer R E.Learning strategies for making sense out of expository text:the SOI model for guiding three cognitive processes in knowledge construction[J].Educational Psychology Review,1996,8(4):357-371.
[8]戴维·乔纳森, 简·豪兰. 学会用技术解决问题: 一个建构主义者的视角[M]. 任友群, 李妍, 施彬飞,译.2版.北京:教育科学出版社, 2007.
[9] Venter M.Gamification in STEM programming courses:state of the art[C]//2020 IEEE Global Engineering Education Conference (EDUCON).April 27-30,2020,Porto,Portugal.IEEE,2020:859-866.
[10] Maiga J.Gamification for teaching and learning Java programming for beginner students—a review[J].Journal of Computers,2019,14(9):590-595.
[11] Ibá?ez M B,Di-Serio ?,Delgado-Kloos C.Gamification for engaging computer science students in learning activities:a case study[J].IEEE Transactions on Learning Technologies,2014,7(3):291-301.
[12] Polito G,Temperini M.A gamified web based system for computer programming learning[J].Computers and Education:Artificial Intelligence,2021,2:100029.
[13] Rojas-López A,Rincón-Flores E G,Mena J,et al.Engagement in the course of programming in higher education through the use of gamification[J].Universal Access in the Information Society,2019,18(3):583-597.
[14] Layth Khaleel F,Sahari Ashaari N,Tengku Wook T S M.An empirical study on gamification for learning programming language website[J].Jurnal Teknologi,2019,81(2): 151-162.
[15] Figueiredo J,García-Pe?alvo F J.Increasing student motivation in computer programming with gamification[C]. 2020 IEEE Global Engineering Education Conference (EDUCON).April 27-30,2020,Porto,Portugal.IEEE,2020:997-1000.
[16] 郭啸,杨立军,刘允,等.第一代大学生的学习特征差异分析[J].高教发展与评估,2020,36(3):90-97,113.
[17] 吴凡.我国研究型大学本科生学习成果的影响机制——兼论大学生学习经验的特殊性[J].高等教育研究,2017,38(9):56-64.
[18] Malamed C.Book review:‘the gamification of learning and instruction:game-based methods and strategies for training and education by karl kapp[J].eLearn,2012,2012(5): 201-206.
[19] Maia R F,Graeml F R.Playing and learning with gamification:an in-class concurrent and distributed programming activity[C]. 2015 IEEE Frontiers in Education Conference (FIE).October 21-24,2015,El Paso,TX,USA.IEEE,2015:1-6.
[20] 穆肅,雷艳,刘海星.学习者了解在线协作学习吗?——在线协作学习感知分析[J].开放教育研究,2016,22(3):71-81.
[21] 汪玲,郭德俊.元认知的本质与要素[J].心理学报,2000,32(4):458-463.
[22] 刘哲雨,王媛,杨慕娴.技术支持视角下元认知策略对中小学生学业成绩的影响研究——基于54篇相关外文文献的元分析[J].现代教育技术,2021,31(8):60-66.
[23] 赵慧勤,王兆雪,张天云.面向智能时代“4C能力”培养的创客课程设计与开发——基于STEAM理念的实施路径[J].远程教育杂志,2019,37(1):104-112.
[24] 李一茗,黎坚.复杂问题解决能力的概念、影响因素及培养策略[J].北京师范大学学报(社会科学版),2020(5):36-48.
[25] PISA 2012 Results:Creative Problem Solving (Volume V) StudentsSkills in Tackling Real-Life Problems[M].Paris:OECD Publishing,2014.
[26] 毛刚.学习分析作为元认知反思支架的效能研究[J].电化教育研究,2018,39(9):22-27.
【通联编辑:王力】