面向高中生计算思维培养的 Python游戏化编程教学设计研究
2021-12-14岳彦龙袁亚娜张学军
岳彦龙 袁亚娜 张学军
摘 要:利用编程教学培养计算思维已成为业界共识,数字游戏和编程能够有效结合,因此,游戏化编程教学不仅可以培养计算思维,还能够有效避免传统编程教学的局限性。文章在分析计算思维要素、Python五大核心概念及数字游戏要素的基础上,构建了三者之间的关系模型,进一步提出了面向高中生计算思维培养的Python游戏化编程教学模型,并基于该教学模型,以“贪吃蛇”游戏为例,介绍了具体教学设计方法。
关键词:计算思维;Python;DGBL;教学设计;高中生
中图分类号:G434;TP314 文献标志码:B 文章编号:1673-8454(2021)22-0093-04
一、问题的提出
《普通高中信息技术课程标准(2017年版)》(以下简称《2017年课标》)将计算思维列为信息技术学科核心素养之一[1],可见智能时代计算思维对人才创新和科技创新的重要性。
计算思维(Computational Thinking)的提出可以追溯到20世纪50年代[2],2006年美国卡内基·梅隆大学的周以真教授给出了较为公认的界定,她认为计算思维需要通过借鉴计算机科学的基本概念来解决问题、设计系统和理解人类行为[3]。Shute认为可以通过编程、机器人、游戏以及非数字干预等手段或方法来培养计算思维[4]。虽然编程技能与计算思维技能是不相同的,但是会编程是能够进行计算思维的一个前提条件,因此,通过编程教学培养计算思维已成为共识。
然而在传统的编程教学中利用编程语言教学,容易使学习变得枯燥、乏味,从而导致学习效果不佳,当然也就无法谈及计算思维的培养。Kazimoglu通过对自愿参加的25名被试学生的反馈分析,结果证明通过玩数字游戏在学习编程的过程中培养计算思维是有效的[5]。但人们的关注大多在如何培养计算思维上,是在做实证研究,对于利用游戏化编程教学培养计算思维的教学设计研究寥寥无几。所以,本研究尝试在该方面做一些探索。
二、基于数字游戏的学习
那么,什么是数字游戏呢?Prensky[6]将数字游戏等同于电脑游戏,而Deniz[7]认为数字游戏是一种新媒介,数字游戏是对现实的一种改造,它是通过符号系统对阅读系统进行编码,再加上声音来创造和传递信息。数字游戏不仅包括电脑游戏,还包括雅达利游戏、手机游戏、游戏机游戏等,因此,本研究赞同Deniz的说法。从某种意义上来说,数字游戏是一种个人媒体,它包含了新媒体的数字化、交互性、虚拟性、多样性、模块化等特征,并将这些特征融入到游戏的行为中。虽然基于实体的传统游戏概念被数字制作的游戏媒介所取代,但是数字游戏还是保留了传统游戏的要素,即场景、角色、交互、规则、挑战。
基于数字游戏的学习(Digital Game-Based Learning,简称“DGBL”)是由Prensky[6]提出的,是指任何教育内容与数字游戏相结合进而产生学习的一种学习方式。但是该方式是基于一定的假设,即教育内容要能够和数字游戏进行结合或融合,这样一来才能实现与传统学习方法一样甚至更好的效果。
那么,基于数字游戏的学习是否真的有效?答案是肯定的。基于数字游戏的学习有效的三个主要原因如下:①将学习融入游戏环境能够增加参与度,这是相当重要的,尤其是對于那类厌恶学习的人来说;②基于数字游戏的学习是互动的,因为它要求学生自己动手做;③基于数字游戏的学习是解决问题的过程,能够激发学生的创造力。通过对上述原因的分析可以发现,基于数字游戏的学习是有效的也是可行的。但是,难点在于如何将数字游戏和学习结合在一起。Prensky[6]从参与和学习两个视角进行考虑基于数字游戏的学习的有效性,如图1所示。他根据参与和学习两个维度,将游戏化学习分为三类:基于数字游戏的学习(DGBL)、纯游戏、基于计算机的训练(CBT)。当低投入/低学习(第三象限)时是基于计算机的训练,而当高参与性/低学习性 (第二象限)时就只是纯游戏,只有当参与性和学习性都很高(第一象限)时,基于数字游戏的学习才会发生。因此,需要选择或创造一种能够吸引玩家的游戏风格和一种能够教授玩家所需要的内容的学习风格,然后以某种方式将两者融合在一起。此外,还需要考虑环境、技术和可用资源。
三、Python游戏化编程教学模型
1.计算思维、Python、数字游戏之间的关系模型
计算思维、Python及数字游戏之间的关系是构建Python游戏化编程教学模型的基础。本研究根据三者要素之间的关联建构了如图2所示的关系模型。该模型主要分为三层,由里到外依次是计算思维、Python和数字游戏。
最内层是计算思维,也是要实现的最终目标。本研究依据Google公司2018年推出的面向全球教育者的计算思维课程,将计算思维分为分解、模式识别、抽象和算法四个要素[8]。
中间层为近几年兴起的编程语言Python,Python依靠其强大的第三方库在网络爬虫、数据分析、文本处理、用户图形界面、Web开发以及游戏开发等方面展现出强大的功能[9],也是计算思维培养的有效方式之一。Python作为面向对象的语言,具有类、对象、属性、方法、事件五大核心概念。
最外层是继承了传统游戏要素(即场景、角色、交互、规则、挑战)而形成的数字游戏,作为一种个人媒介,具有数字化、交互性、虚拟性、多样性、模块化等特征,能够和学习内容按照某种方式结合,并通过参与和学习两个视角形成基于数字游戏的学习。
三者呈现这种关系的原因是,三者各要素之间存在某种天然的联系,即各要素之间能够直接映射,进而能够通过游戏化编程教学从四个方面对计算思维进行培养。
2.Python游戏化编程教学模型
在对计算思维、Python及数字游戏之间关系梳理的基础上,结合教学设计相关内容构建了如图3所示的面向高中生计算思维培养的Python游戏化编程教学模型。
该教学模型主要分为两部分:
一是教师活动。在教师活动中,教师首先要确定教学目标(这里的教学目标包括:数字游戏制作情况的目标、Python编程语言掌握情况的目标以及计算思维培养情况的目标)、分析学习者(高中生)现有的基础和认知水平以及分析教学内容(所教Python知识点与数字游戏等内容),然后要向学生告知本节课的学习目标;其次,创设数字游戏教学情境需要的对话并设置相应的问题;再次,对Python知识点进行讲解,并根据计算思维的要素对数字游戏进行分析。在课堂上,教师要时刻观察学生的反应并提供及时的指导;最后,教师针对学生做出的数字化游戏进行点评并总结本节课的学习内容。
二是学生活动。在学生活动中,首先,正式上课之前学生要明确依据自己的学习情况制定合理的学习目标,目标能够给学生学习的动力,接着学生要感知并熟悉本节课的学习或教学情境,明确所要解决的问题;其次,在教师讲解的同时,要将理解转化为知识,并思考数字游戏的制作;再次,学生要利用计算思维中分解、模式识别、抽象、算法等要素,并结合所学的Python知识点分析问题、提出解决方案并实施方案;最后,在课堂上对自己的数字化游戏进行分享并对他人制作的数字化游戏进行交流。与此同时,学生在分析问题、提出解决方案、实施方案、分享与交流等环节,要善于进行反思与总结,并及时调用教师所讲的内容进行总结,以达到提升学生计算思维的目的,避免在日后的学习中走弯路。
四、“贪吃蛇”游戏的教学设计
1.教学目标
无论是一节课的教学或是单元教学,甚至是一门课程,教学目标是必要的,而且教学目标的高低会直接影响到学生的学习效果。按照维果茨基的“最近发展区”理论,教学目标的设定不能超过其潜在水平,也不能低于其现有水平,而是要着眼于学生的最近发展区设置合适的教学目标,并根据学生的学习情况及时调整教学目标,逐步进行下一个发展区的发展,不断逼近学生的潜在水平。
本研究中“贪吃蛇”游戏案例的教学目标主要有三个方面:计算概念、计算实践和计算观念[10]。每一方面又分别对应计算思维的培养目标、Python编程知识目标、数字游戏的目标。按照三者之间的关系模型设置了以下的教学目标,如表1所示。
2.学习者分析
学习者既是教学对象,也是学习的主体,对于学习者的分析應从学习者的现有基础、认知水平、学习风格等维度进行。如本研究案例中学习者为高中一年级学生,在第一学期学生已经学习过Python编程,对Python中的变量、列表、判断、循环、函数等知识有一定掌握,但是对于Python编程的类、对象、属性、方法、事件五大核心概念并不了解。高中生的逻辑思维、抽象思维等有了进一步的发展,有利于计算思维的培养,并且高中生对游戏感兴趣,更倾向于基于数字游戏的学习。
3.教学内容分析
教学内容是为了实现教学目标,是要求学习者系统学习的知识、技能和思想、行为的总和。教学内容分析的目的在于揭示教学目标规定的且需要学生形成的能力或倾向的构成成分及其层次关系,并据此确定促使这些能力或倾向习得的有效教学条件[11]。本研究案例中的教学内容主要是用Python编程实现“贪吃蛇”游戏,涉及到的Python知识主要是类、对象、事件、属性、方法五大核心概念,同时根据图2所示的三者之间的关系模型,分析计算思维的四要素、Python的五大核心概念、游戏的五要素之间具体的对应关系,分析结果如表2所示。
4.教学流程
教学流程即按照一定的规则先后展开教学活动的程序。在实际的教学中,教学流程会随着教学活动发生改变,因此要设计合理的教学流程,并要根据教学情况及时调整或者修改教学流程。
本研究“贪吃蛇”案例中,首先,教师要告知学习者学习目标,在学习者明确学习目标的基础上,教师提出两个问题:①Python中的五大核心概念成为解决问题通用概念的原因是什么?②“贪吃蛇”游戏是如何利用这五大核心概念来实现的?然后通过展示“贪吃蛇”游戏的代码视图以及调试游戏创设基于数字游戏学习的情境;其次,教师需要对制作该游戏,所需要的Python编程知识(即五大核心概念:类、对象、事件、属性、方法)进行精讲,并根据表2中的分析结果和计算思维的四要素对“贪吃蛇”游戏进行分析,揭示“贪吃蛇”游戏制作的过程及运行原理;再次,教师指导学生分析前面提出的相关问题,提出相应的解决方案并实施;最后,组织学生进行作品的展示与交流,并针对学生的学习做总结和点评。
五、结语
国内外利用编程教学培养计算思维已成为共识。Python作为一门强大的编程语言,能够和数字游戏有效结合,由于传统编程教学存在一定的局限性,因此,通过游戏化编程教学培养计算思维是一种较好的选择。自《2017年课标》发布以来,如何利用信息技术各模块的内容培养信息技术学科核心素养,进而促进新课标的落地已成为当下的研究热点,要实现新课标的落地就要对信息技术教学理论和实践不断探索。本研究对通过Python游戏化编程教学培养计算思维的教学设计进行研究,希望能给研究者和一线教师带来借鉴和启示。
参考文献:
[1]中华人民共和国教育部.普通高中信息技术课程标准(2017年版)[M].北京:人民教育出版社,2018:6.
[2]Matti Tedre,Peter J.Denning. The long quest for computational thinking[A].Proceedings of the 16th Koli Calling International Conference on Computing Education Research[C].Koli:ACM Press,2016:120-129.
[3]Jeannette M.Wing.Computational thinking[J].Communications of the ACM,2006,49(3):33-35.
[4]Valerie J Shute,Chen Sun,Jodi Asbell-Clarke.Demystifying computational thinking[J].Educational Rese arch Review,2017(22):142-158.
[5]Cagin Kazimoglu,Mary Kiernan,Liz Bacon,et al.Learning Programming at the Computational Thinking Level via Digital Game-Play[J].Procedia Computer Science,2012(9):522-531.
[6]Marc Prensky.Digital Game-Based Learning[M].New York,NY:McGrawHill,2001:141-163.
[7]Deniz Yengin.Digital game as a new media and use of digital game in education[J].The Turkish Online Journal of Design,Art and Communication,2011,1(1):20-25.
[8]谷歌(2018).Google面向教育者的計算思维课程[EB/OL].(2019-07-28)[2021-04-10].https://max.book118.com/html/2019/0711/8030031065002034.shtm.
[9]张学军,董晓辉.高中人工智能课程项目案例资源设计与开发[J].电化教育研究,2019,40(8):87-95.
[10]Brennan K,Resnick M.New frameworks for studying and assessing the development of computational thinking[A].Proceedings of the 2012 Annual Meeting of the American Educational Research Association[C].Vanco uver,2012:1-25.
[11]南国农.信息化教育概论(第2版)[M].北京:高等教育出版社,2011:73-76.
(编辑:李晓萍)