通过玩电脑游戏学习面向对象范式:概念优先的方法外文翻译资料

 2023-03-14 11:50:33

本科生毕业设计(论文)外文资料译文

( 2022届)


一、译文文本要求

1.外文译文不少于3000汉字;

2.外文译文本文格式参照论文正文规范(标题、字体、字号、图表、原文信息等);

3.外文原文资料信息列文末,对应于论文正文的参考文献部分,标题用“外文原文资料信息”,内容包括:

1)外文原文作者;

2)书名或论文题目;

3)外文原文来源:

□出版社或刊物名称、出版时间或刊号、译文部分所在页码

□网页地址

二、外文原文资料(电子文本或数字化后的图片):

1.外文原文不少于10000印刷字符(图表等除外);

2.外文原文若是纸质的请数字化(图片)后粘贴于译文后的原文资料处,但装订时请用纸质原文复印件附于译文后。

信息科学与技术学院教务科

外文资料译文规范说明

指导教师意见:

指导教师签名: 年 月 日

一、外文资料译文:

通过游戏学习面向对象的范例

电脑游戏:概念优先

关键词:基于游戏的学习,面向对象编程,概念优先的方法

自从90年代中期以来,大学教师们一直在努力想出更有效的教学方法。在这方面进行了大量的研究。本文将提出一个解决方案,通过玩计算机游戏来教授和说明面向对象范例的基本概念。在这种方法中,我们在面向对象编程(OOP)课程开始时教授基本原则,如类、对象及其关系,并将特定目标语言的学习推迟到以后。此外,我们还利用电脑游戏的吸引力来提高学生的学习动机,从而提高学生的学习成绩。

1.介绍

面向对象的范例通常更适合使用,而编程领域由构成问题域的对象组成。因此,这两个领域之间的映射应该简单明了。

最近,我们在反思OOP课程的教学方式。在整个课程中,我们一直在寻找提高学生对对象范式理解和学习成绩的方法。学习一门新课程的问题在于,我们必须改变思考问题的方式。另一个问题是,复杂的范例由许多重叠的部分组成概念。一次性解释所有这些概念几乎是不可能的。

我们以Java语言为例。尽管学生们正在学习面向对象编程,但Java甚至不包含“object”关键字。学生们面对的不是物体,而是“课堂”。所以,在一开始,我们必须首先解释类,它们被用来做什么,对象和类之间的关系是什么,等等。

在本文中,我们将描述我们开发的方法。我们将这种方法称为“概念优先”方法。我们正在定义这种方法的基本原则,解释导致这种方法的情况,并将我们的方法与其他编程教学方法进行比较,尤其是对象优先法。

2程序设计教学方法

2.1. 首先是对象概念

最近使用的最流行的方法之一是一种称为“对象优先”的方法。这种方法可以解释为学生早期接触对象范式的基本原理。

在过渡到对象优先方法之前,本课程首先介绍语言语法和语言相关特性。OOP基础知识的解释是通过部分示例进行的,通常以代码的形式进行。

向对象优先法的转变表明,学生的学习成绩有所提高,对对象范式的理解也有所提高。

2.2. 基于游戏的学习

另一种越来越流行的编程教学方法是基于游戏的学习(GBL)。基于游戏的学习可以定义为一种游戏,它定义了学习结果。

尽管面向对象方法的好处是,面向对象的软件系统与现实世界密切相关,但它并不完全正确。实际上,软件包含许多内部类,这些类没有对任何真实世界实体进行建模,甚至软件中的外部概念也远没有这些概念的物理表示。

在游戏中,学生可以观察游戏或软件世界中的对象。这些对象已经是相应现实世界对象的抽象,并且存在于“计算机”中。

电脑游戏是学生熟知的领域也是展示OOP原理的好例子。它们有丰富的对象和相互作用。动作和冒险游戏包含模仿现实生活对象的对象,可以用来演示如何将真实对象转移到计算机世界。

在编程教育中使用电脑游戏的其他形式

近年来,我们在OOP课程中以学生作业的形式使用电脑游戏。学生们将各种类型的游戏作为他们的最终任务。这种在编程教育中使用游戏的形式很常见,但不能归类为基于游戏的学习。

3.概念第一

3.1. 为什么首先是概念?

对象优先法是基于顺序的,在这个顺序中,对象范式的概念被介绍给学生。它建议从对象开始,然后转移到类,然后继续使用其他不太特定于对象范例的概念。它没有具体说明其他基础知识。我们认为一开始就关注范式的概念是正确的。

当我们思考如何改进我们的课程时,我们觉得学生在尝试设计之前,应该了解范式所基于的思维方式。在专注于细节之前,他或她应该从一开始就理解概念存在的背景。

3.2. 执行建议

我们就如何在OOP课程中实现我们的方法制定了一套建议。这些建议基于我们教授OOP的经验,以及与其他讲师和学生一起咨询和测试我们的想法。

bull;了解该领域。学生应熟悉所用示例或项目的领域。这样,他们就可以专注于重要的事情,而不是从未知的领域找出流程。

bull;使用复杂的例子。在更大的背景下解释所有概念,不要孤立它们。

bull;隐藏代码。不要让学生接触他们还不懂的语言,以及他们还不懂的概念。

bull;提供即时响应。或者至少以最小的延迟。对于学生来说,能够改变他们正在观察的解决方案并观察其对解决方案的影响是很重要的。不要强迫学生“在他们的头脑中”执行它们。

bull;使用电脑游戏。学生熟悉游戏,游戏足够复杂,并能提供即时反馈。他们也有自己的世界,抽象的对象与现实世界相似。

4.实施第一种方法的概念

4.1. 学习目标

对于所提出方法的第一次实验实现,我们的目标是:在使用已实现的解决方案后,学生将理解一组对象范式的基本概念,并讨论它们在范式语境中的作用。我们选择了以下6个基本概念,它们构成了我们的学习目标:

1.反对,

2.课堂,

3.属性,

4.操作,

5.封装,

6.继承。

我们希望学生们了解对象在计算机程序中的作用,现实生活中的对象和“计算机内部”的对象之间的区别,如何在计算机中对真实对象进行建模。

4.2. 将学习内容与游戏相结合

作为我们解决方案的基础,我们选择了1991年Amiga动作冒险游戏的简化Java翻拍版。这是一款俯视2D游戏,玩家必须找到下一关的出口才能继续,同时通过敌人的外星人射击。我们将更多动作片段与冒险部分交织在一起,玩家需要在动作技巧和快速决策中思考解决方案。那些冒险的部分是真正的学习发生的地方。

4.3. 穿行场景

我们创建了3个游戏关卡。学习目标被分为几个层次,这样可以最大限度地提高学习效率,最大限度地减少对学生的影响。如果我们在短时间内增加太多的学习任务,会对游戏的乐趣产生负面影响,从而影响学生完成任务。最后,我们通过实验得出了学习与玩3个游戏级别的平衡。

第一关相对容易。这个级别只包含一个主要的游戏目标——完成它——而没有学习目标。因为我们想在一开始就引起学生的注意,激发他的积极性。同时,学生将熟悉游戏机制——如何控制玩家的角色,如何进入下一个级别。

第二个层次是大部分学习发生的地方。它包含5个游戏目标和3个学习目标。在这一关开始时,玩家发现自己处于一种故意太难、不可能解决的境地。

在第三关,玩家可以获得更多的自由。它包含两个游戏目标和一个学习目标。在解释了所有定义的OOP概念之后,玩家被分配了一个最终任务,但没有提供任何说明。他必须利用获得的知识和技能,自己找出解决办法。我们希望学生们在完成游戏时能给人留下这样的印象:它更像是一个游戏,而不是一个教育工具。

我们可以将场景方案概括为四个步骤:

1.解释游戏机制,

2.解释OOP概念,

3.通过自由游戏任务验证获得的技能,

4.验证游戏外获得的知识(通过最终问卷)。

5.对象访问工具

当玩家在游戏中选择一个对象时,他所属的类在类图中被选中,该类的所有实例都显示在实例列表中。

6.教育游戏架构

我们希望使我们的解决方案可重复使用,并且易于修改,以用于不同的游戏和场景。我们解决方案的体系结构由以下模块组成:

bull;基于光滑平铺地图的2D游戏库。我们的库使用Slick-2D java游戏库处理游戏图形渲染,因此学生在实现游戏时不必处理它。

bull;基于2D游戏库的动作冒险游戏实现。

bull;用于与游戏交互的OAT。OAT和目标应用程序之间的通信需求是基于适配器设计模式以接口的形式定义的。

bull;以XML文件和HTML编写的教程形式定义的场景。场景由任务组成,任务包含较小的操作。每个动作都以HTML和事件的形式定义了教程,从而触发移动到下一个动作。OAT包含预定义的可用事件集,如在指定区域获得玩家角色、完成游戏级别、创建类等。

该体系结构允许在3个不同级别上修改呈现的教育游戏解决方案。最简单的修改是为现有游戏级别创建新的漫游场景。要实现这一点,必须以HTML格式编写新的教程,并对场景进行新的XML定义。

我们可以将创建全新教育游戏的过程总结为三个步骤:

1.使用2D游戏库实现新游戏,

2.在平铺中创建新级别(使用新纹理),

3.编写新场景(XML定义 HTML教程)。

7.评估

已创建工具的评估分为三个连续阶段:

初步测试

在第一阶段,计算机系的教师和博士生对该工具进行了评估。他们强调了教程中的错误以及OOP原理解释中的潜在问题。在第一轮之后,我们重写了教程,增加了更多的游戏级别,并在它们之间分配了学习目标。

第二次评估是在一组二年级学生中进行的,他们已经通过了之前的OOP课程。他们对我们的解决方很感兴趣。玩完游戏后,他们填写了一份调查问卷。我们根据他们的评论调整了教程、游戏以及游戏和学习部分之间的平衡。

第三轮评估由14名学生组成,他们在科希策技术大学学习信息学课程。所有学生在实验期间都参加了程序编程课程。这些学生没有面向对象编程的经验,只有两名学生有过面向对象编程的经验。

7.1. 数据收集

第三次评估后,我们从两个来源收集数据。一个来源是学生完成游戏后填写的问卷,另一个来源是对实验本身的观察。该问卷旨在评估学生获得的知识和对OOP概念的理解水平。

7.2. 后果

对实验的观察揭示了一些问题。其中一个原因是学生不喜欢阅读文本,解释任务和学习内容。另一个原因可能是游戏种类原因。与冒险游戏和RPG游戏不同,动作游戏中通常不会出现较长的文本,这会干扰玩家的游戏。第三个可能的原因是游戏机制中的学习内容整合不足。

根据学生的分数和答案,我们将他们分为三组:

bull;来自测试组的5名学生在多项选择题中获得90%以上的分数。我们可以假设这些学生至少掌握了面向对象编程和设计的基本知识,所以可以说我们取得了明确的学习成果。

bull;另外三名学生回答了一些问题,也试着回答需要解释的问题。对于这些学生,我们假设他们至少理解了一些主题,但也获得了一些误解。

bull;另外两名学生忽略了那些他们必须自己解释概念的问题。另外四名参与实验的学生没有提交问卷。对于这些学生来说,建议的工具未能达到既定的学习结果。

进一步评估

我们推测,测试是在OOP课程之外进行的,研究OOP并不是受试者的主要兴趣,这一事实会影响测试结果。为了进一步评估,我们将在本校OOP课程的下一次迭代中使用所提出解决方案的更新版本,并测量其对学生表现的影响。

8.相关工作

正如我们之前提到的,为了将我们的“概念优先”教学方法付诸实践,我们开发了一个OAT工具。它属于对象工作台工具的范畴。

类似地,面向动画和游戏领域的场景是一个名为Alice的IDE。它是在3D环境中教授计算机编程的教育软件[15]。尽管非常成功,但这些IDE在功能上无法与工业IDE相比。根据我们使用这些工具的经验,学生们更希望使用专业的IDE。由于这一事实,以及在某些情况下对特定应用领域的定位,我们决定开发自己的独立对象平台库。

9.结论

本文介绍的工具设计用于OOP课程的第一课,即学生了解OOP概念的阶段。在第一课中完成教育游戏后,学生们应该开始在更大的、已经可以工作的解决方案中添加功能的示例任务。他们将创建新类,并使用OAT对它们进行实例化。

我们相信,通过实施竞争性

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[596391],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。