APP下载

STEAM教育理念下高中游戏编程设计与反思

2024-07-25周波

中国信息技术教育 2024年13期

摘要:本文介绍了STEAM教育理念的内涵,并探讨了如何结合Python编程和Minecraft游戏环境设计融合多学科知识的高中游戏编程课例,为高中学校开展编程教育提供了新的途径。

关键词:STEAM;基于游戏的学习;编程教育;Python

中图分类号:G434 文献标识码:A 论文编号:1674-2117(2024)13-0052-03

STEAM教育理念与高中游戏编程的联系

在高中编程教学中,Python已经成为必学的内容,但是对于Python的学习大多以程序填空或抄写代码为主,并没有追根溯源,让学生了解代码背后的原理。而基于Minecraft游戏的Python教学可以解决这个问题。在Minecraft游戏环境下,结合数学、美术、信息技术、通用技术等多学科知识进行课程设计,可以让学生了解代码背后的原理,提升学生的学习兴趣。[1]

STEAM教育理念在游戏编程中的体现,就是既有设计的美,又有理科知识的学习。本研究开发的校本课程同时具备以上特征,课程中的成果展示是具体的建筑,在设计中注重美观性和实用性,有利于从艺术(Arts)角度进行跨学科学习。STEAM是对STEM的发展和升级,在理工科学习中融合人文艺术的学习,与本课例特点高度契合。

基于Minecraft游戏的Python教学设计

1.目标设计

结合STEAM的学科素养要求,目标设计从五大要素课程目标来阐述。其中,要素S(科学)的目标为学习计算机编程的知识;要素T(技术)的目标为具备写代码的能力、建筑设计的能力;要素E(工程)的目标为具备工程思维,明确一项工程项目完成前所需考虑的问题和历经的程序步骤;要素A(艺术)的目标为在建筑设计过程中培养欣赏美和创造美的能力,了解建筑历史培养人文精神;要素M(数学)的目标为能够运用数学方法解决遇到的问题。也就是说,课程的总体目标为初步掌握Python语言基础,可以独立编写代码和设计建筑,提高审美能力,培养科学探究能力和问题解决能力。

2.内容设计

本课程内容参考了电子工业出版社出版的《MINECRAFT编程:使用Python语言玩转我的世界》[2]一书和高中信息技术、通用技术、美术、数学等学科的内容,并结合项目式学习理念和任务驱动法,设计了7个项目,根据任务难度和数量,每个项目需要1~3课时。经过该课程的学习,学生会形成一份完整的作品集,每一幅作品都有设计图、Python代码以及作品效果图。在前6个课时中,学生会设计五座建筑,骰子的平面构成图、由长方体造型组成的建筑体、由重复结构组成的建筑体、随着玩家移动自动生成的建筑体、显示点阵汉字的建筑。在后2个课时中,学生会设计火箭和还原当地地标性建筑,在设计火箭时会对长征系列运载火箭的历史,以及不同火箭的结构和外观有全新的认识,在还原当地地标性建筑时,会对当地有名的建筑设计历史有全新的认识。具体课程内容如右表所示。

3.流程设计

基于STEAM教育理念的编程教学,属于工程教育范畴,所以本项目实施过程引入CDIO工程教育模式。CDIO工程教育模式是由MIT和瑞典几所大学在Wallenburg基金会的资助下,经过几年的研究、探索和实践,于2004年创立的。[3]根据该教育模式,笔者将本项目实施过程分为如上页图1所示的四步。

基于Minecraft游戏的Python教学案例——地标建筑

1.明确问题,提出想法

教师通过PPT展示苏州各类地标建筑的原始图和三视图,学生在对应的过程中体会平面和立体的关系。接着,教师以东方之门、伦敦塔桥为例,让学生查阅且分享该建筑的设计历史,随后提出本项目的任务——绘制某地标建筑的草图,并通过编程实现搭建。

2.设计草图,讨论修改

在草图设计的过程中,学生讨论将建筑拆成长方体或平面,接着在三维坐标系中或Excel中绘制草图(小组成员进行讨论,不断修改)。东方之门作为苏州最有名的地标建筑,闻名全国,所以有多个小组进行东方之门的设计,如图2所示为某小组的东方之门设计图,他们将东方之门拆解成长方体,并标注出长方体对角的坐标和选用的材料。

3.调试代码,编程实现

在设计图成型后,需要找到适合的编程方法,如二维表、循环语句、生成函数等,学生可以自主讨论选用。由于东方之门的设计图是由长方体构成的,所以可以使用setBlocks()和setBlock()两个生成函数不断地赋值和生成一个个方块和长方体,在小组讨论后,学生编写出了代码,并且在观察效果图之后对一些细微之处进行返修。如图3所示为东方之门代码截图以及效果图。

4.作品评估,小组评价

本项目拓展性较强,地标建筑的选择既考验学生的空间想象力,同时也要求学生对可行性进行分析。小组在完成作品后在班级进行作品展示,教师及其他小组学生从选材、结构、美观方面对作品进行打分及分析,随后小组进行自我反思,从设计到编程进行再次完善。

反思

首先,本课例在实施过程中激发了学生学习的主动性,拓宽了学生的知识面。在学习过程中,学生不是在照葫芦画瓢,而是可以进行自主创新。例如,在设计火箭一课中,课堂任务要求学生编程实现搭建立体结构的火箭,但是有学生通过循环实现火箭的上升,加入判断语句实现了火箭尾焰的变化。

其次,本课程具有完整性和适用性。课程中的编程知识来源于普通高中教材,具有充分的理论支撑和完整的课程设计,具有可推广性。而且本课程可以在学生初学Python时开设,经过本课程的学习,学生可掌握Python的基本知识,能写出完整的二三十行代码的程序。

最后,本课程可以促进学生综合能力的发展。本课程以STEAM的教育理念为源泉,基于Minecraft游戏的学习环境进行Python学习,结合了通用技术课程中的设计思维、数学学科中的空间思维,以及美学素养,共同编程建造建筑。在这个过程中,综合利用了多学科知识,促进学生各学科素养的落实,有助于培养当今社会需要的科技创新人才。

参考文献:

[1]乔江江.基于设计思维的高中游戏编程教学设计与实践[D].武汉:华中师范大学,2022.

[2]Craig Richardson.MINECRAFT编程:使用Python语言玩转我的世界[M].北京:电子工业出版社,2020.

[3]Crawley E, Malmqvist J, Ostlund S, et al. Rethinking engineering education-the CDIO approach[M].Berlin: Springer,2014.

作者简介:周波,南京师范大学苏州实验学校,研究方向为信息技术教学。

基金项目:江苏省教育学会“十四五”教育科研规划2022年度立项课题“基于Minecraft游戏的结对编程教学实践研究”(22A04JSSZ254)。