摘要:近年来“游戏化 ”在教育邻域发展特别快,随着社会的发展进步和高中的教学要求,第八次新课标改革重点聚焦“核心素养”,而计算思维是核心素养的重要构成要素,因此本文以“摩擦游戏”为案例,设计了在高中python课程中游戏化教学模型,希望能为计算思维的培养提供一定的教学参考以及优化建议。
关键词:游戏化教学;计算思维;python;高中生;
一、研究背景
游戏在教育中的实际应用源远流长,《孔子》很久以前就提出“知识胜于善,善胜于乐”,“乐学”才是学习的最高境界,苏格拉底 ,古希腊哲学,强调教育是一个孩子的游戏,让儿童在愉悦的教育环境中成长,杜威的实用主义教育学更是强调在“做中学”中建立经验与知识的关系,还建议将游戏纳入学校课程,幼儿教育的创始人福禄贝尔也认为游戏可以顺应儿童发展的需要,幼儿教育要与游戏结合。从哲学、教育学、社会学角度的分析可以看出游戏至少在儿童的身心和认知发展上有着重要作用。利用游戏来学习,其非技术根源在过去已经根深蒂固,随着计算机的兴起,已经成为未来的学习浪潮。[1]
二、“摩擦游戏”培养高中生计算思维的python编程教学模型
计算思维有四个重要概念:分解、模式识别、抽象、算法;游戏有目标、规则、反馈、自愿参与;编程有类、对象、属性、方法、事件。在游戏中玩家的终极任务就是实现这个目标,在实现目标的进程中会受到规则的约束,当玩家完成游戏中的某一个部分,他就会获得游戏奖赏并告诉他最终的距离还有多远,目标、规则、反馈都是玩家的意志自由参与,保证了他们的游戏自由。编程将游戏中的各种角色、环境、属性等都以算法的形式呈现在学生眼前,游戏中的目标设置、强弱升级、珍物招收、即时反馈、奖励设置、竞赛机制等都是要解决的复杂问题,而这些问题都需要分解成一个个简单的事件,事件再次细分成一个个方法,又或者抽象成一个个类和对象,这些类、对象、事件和方法需要算法语言来描述,这是一个逐步深化思考的进程。学生需要对游戏中的所有环节展开全面分析,根据问题找出解决方案,并不断调试修改,最终写出可行的程序指令。
“摩擦游戏”蕴涵的计算思维
计算思维 “摩擦游戏” python
分解 游戏可分解为:游戏进行碰撞检测、异常处理、计时器、自定义事件、播放声音、更换鼠标样式、限制鼠标移动范围等等事件。 # 判断小球是否在坑内
for each in group:
if each.control:
for i in ho
if i[0] <= each.rect.left <= i[1] and i[2] <= each.rect.top <= i[3]:
模式识别 学习了对小球上下控制的原理后就发现了如何控制小球左右移动。
if self.rect.right <= 0:
self.rect.left = self.width
elif self.rect.left >= self.width:
self.rect.right = 0
elif self.rect.bottom <= 0: self.rect.top = self.height
elif self.rect.top >= self.height:
self.rect.bottom = 0
抽象 面向對象五大核心关键词:类、对象、属性、方法、事件。 class Ball(pygame.sprite.Sprite):
def __init__(self, grayball_image, greenball_image, position, speed, bg_size, target):
算法 显示并控制玩家小球移动算法,显示并控制玩家小球移动速度算法,显示玩家小球碰撞到黑洞的算法,玩家小球击中黑洞的判断及处理算法,游戏结束判断及处理算法等。 # 1 秒检查 1 次鼠标摩擦摩擦产生的事件数量
MYTIMER = USEREVENT + 1 pygame.time.set_timer(MYTIMER, 1000)
限制鼠标只能在玻璃内摩擦摩擦
glass.mouse_rect.left, glass.mouse_rect.top = pygame.mouse.get_pos()
if glass.mouse_rect.left < glass.glass_rect.left:
glass.mouse_rect.left = glass.glass_rect.left
if glass.mouse_rect.left > glass.glass_rect.right - glass.mouse_rect.width:
三、讨论与分析
当前针对中小学能开展编程教育的工具和方式有很多,每种工具或软件都有它自身的特色,教师在选择的时候要根据不同年龄段学生的认知特征以及学习风格和具体的教学目标进行筛选。[2] 同时,要对计算思维教育教学方法有所创新和突破,关照学生的主体地位,比起单向度的向学生讲授计算思维知识,采用不同的教学方法,例如利用游戏学习和探究学习,帮助学生提高兴趣,要善于引导学生来主动积极的建构知识,彰显学生的主体地位。
参考文献
[1] Marc Prensky. Digital Game-Based Learning. Paragon House Publishers,2007-03.
[2]熊秋娥,葛越.Scratch游戏化编程培养小学生计算思维的实证研究[J].基础教育,2019,16(06):27-35.