探索游戏式实践活动与编程教学的融合模式

2019-10-16 05:58徐欣彦王振强
人民教育 2019年6期
关键词:桌游编程游戏

徐欣彦 王振强

《新一代人工智能发展规划》提出,要“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育”,落实到日常教学活动中,目前还面临一些问题和困难。比如在课堂教学中,教师更多的是开展某一种编程语言的具体操作教学,忽略为学生营造一种“编程环境”,包括共享编程乐趣、协作开展学习交流、用学生感觉轻松愉快的方式感知算法、理解概念等,而这正是可以超越有限的课堂教学时间,持续吸引学生自觉主动学习编程的有效途径。

游戏式实践活动是一种引导学生主动参与学习的手段与方法,承载的是建立学科核心概念、丰富学科知识、提高问题解决能力、培养学科思维的任务。游戏式实践活动与游戏的区别在于:前者是通過游戏实现教学目的,后者更多的是享受游戏本身带来的乐趣。在开展游戏式实践活动之前,需要解决好“谁来玩”“为何玩”“玩什么”“怎样玩”等一系列问题。

游戏式实践活动与编程教学融合的模式,简单概括就是在编程教学过程中,结合学生特点,加入渗透了教学目标的游戏式实践活动,使得难以理解或比较枯燥、抽象的概念、原理、方法等教学内容,能够在愉快的学习氛围和有意思的活动中被学生接受和运用,同时在融合的过程中,对学生的思维品质、实践能力和行为意识等多方面进行培养。

“游戏式实践活动+编程教学”促进从技术成长到思维成长的教育理念进化

新时代的编程教育更注重对思维的培养,以及主动、灵活地运用所学发现、分析、解决实际问题能力的培养。游戏式实践活动可以帮助学生更好地掌握解决问题的方法和主动获取新知识的能力,强调编程思维的培养,而不是单纯的编程知识和技能。

将自然语言转换为程序语言,中间需要有抽象化这一重要步骤。抽象化是编程教学的核心,即学生能够用自然语言完成解决问题思路和主要方法的描述,再经过游戏式实践活动获得对算法的理解,完成抽象化过程,并将其正向迁移到编程中,最后用程序语言或编程工具中的模块进行实现。这一过程,实际就是学生思维成长的过程。

典型案例:我们都是机器人

全班学生两人_组,其中A扮演机器人(蒙上眼睛),一人扮演遥控So遥控者每次发出的指-必须使用“WHEN……DO……(‘当……时,做……事,微软酷豆3D可视化编程工具中的语句)”或“IF……THEN……(‘如果……那么……Scratch模块化编程工具中的条件判断模块)”等语句来表达。比如:如果没有碰到障碍物,那么—直走;如果碰到椅子,那么向右转;如果障碍物很低,就爬过去,否则就向左转绕过去……学生不断地调整指令,使之既准确又简练。在这个过程中,学生会在学习编程之前就体会到,如何在解决问题的过程中使用条件判断对问题进行加工处理,去掉不必要的细节,体会抽象化带来的效果,为后续在编程教学中顺利使用“IF……THEN……”等模块或其他程序语言打下基础。

“游戏式实践活动+编程教学”促进学习兴趣的保持与升华

亲身体验和交互活动会使学生产生更多兴趣,但如果没有更高层次的行为产生,兴趣就会下降,甚至可能对学生学习的作用是无效的。需要注意的是,活动本身不是目的,引发学生的深层兴趣,以及在活动中推向学习的根本性问题才是重要的。与以往的教学模式相比,在“游戏式实践活动+编程教学”模式下,学生的学习可以在简单、轻松、有意思的氛围中进行,学生的学习成果和学习体验可以在活动中主动地分享给更多的人,学生的学习兴趣也可以通过更多的方式得以保持和提升。

典型案例:排队的秘密

第一层问题:全班学生分成4组、每组10人,打乱身高顺序站好,每次只能有两个学生移动,看看哪个组能用最少的次数把本组同学按照从大到小的顺序排好队。第二层问题:选出最快完成的两种方法,每组20人再次进行排队测试,选出排队最快的一组。第三层问题:全班打乱顺序进行排队,学生比较不同的排队方法,交流自己的感受和发现;教师总结程序设计中常见排序方法的简单情况,比如:冒泡排序、鸡尾酒排序、选择排序、插入排序等。学生在初步理解之后,可以自己通过实际排队活动再次体会不同排序法的情况和优劣,为后续理解算法并用编程语言实现做好准备。

“游戏式实践活动+编程教学”促进个体学习与合作学习的融合

传统小学编程教学多以学生一人_机的方式进行,学生的学习相对独立。教育活动是帮助学生成长为一棵棵充满活力的树,而不是毫无生命力的水泥电线杆。因此在编程教学中,根据小学生的年龄、心理特点,将游戏有机地融入实践活动中,采用具有人际交流实际需求的游戏式实践活动,更有利于提高学生的参与意识、合作意识与合作交流能力的培养。

有些学生不擅长编写程序,对编程也缺乏兴趣,但是在编写故事、绘画、造型等方面非常有兴趣和能力,如何让这些学生也能愉快地感受、接受、理解、运用编程教学的内容,继而对编程产生兴趣呢?答案很简单,就是让这些学生在游戏式实践活动中与同伴进行交流和合作,领会概念,体会运用概念解决实际问题,激发他们参与编程学习的动力,并在编程教学的过程中有所收获。学生开始可能不喜欢编程,但是只要他们参与游戏式实践活动,在玩中也可以学到各种知识、技能和思想方法,思维得到发展。

典型案例:制作主题桌游

1.活动准备阶段

(1)学生自由分组,每组4人,为本小组起组名;(2)确定需要制作的桌游主题与名称;(3)小组成员进行分工;(4)根据主题与分工进行桌游设计图的绘制与游戏规则的制定;(5)教师与小组成员一起讨论、完善设计图;(6)小组成员设计立体桌游的结构;(7)为学生提供底板、彩纸、超轻黏土。

2.活动实施阶段(课余时间1个月)

(1)学生自由分组,设计一款自定主题的桌游项目;(2)根据小组分工绘制桌游设计图,编写游戏规则(游戏规则中需要包含:掷骰子决定走的步数、在某一点上触发动作、触发后去某一点、根据情况走不同路线、额外使用答题卡、根据触发加减分数……);(3)根据设计图使用超轻黏土制作立体实体桌游,并在制作过程中不断修改;(4)根据学生制作的桌游情况,渗透随机数、循环、分支、事件触发、子程序调用、变量、路径等相关计算思维、编程思维中的常用概念。

在这一活动过程中,生生、师生问的交流与合作贯穿始终。

计算机科学家迪杰斯特拉曾经说过,计算机科学不只是关于计算机,正如天文学不只是关于望远镜。越来越多的研究表明,通过参与各种活动能更好地帮助学生从多个角度和多种方式来理解计算机科学,包括计算机基础知识、程序设计技能、计算机学科思想方法等内容,拓展学生的眼界,提升创造力,也为学生今后的社会活动打好基础。在“游戏式实践活动+编程教学”模式下,学生学习过程中的大部分时间可能不是在计算机旁度过的。游戏式实践活动与编程教学的有机融合,聚焦趣味性、多样性教学方式的创设,学生通过亲身体验不同类型的课内外学习活动,达到培养思维、理解概念、体会过程、收获成功的效果,这是很多小学信息技术教育工作者的共同追求。

(徐欣彦单位系北京市第一七一中学附属青年湖小学,王振强单位系北京教育科学研究院)

责任编辑 邢星

猜你喜欢
桌游编程游戏
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
数独游戏
疯狂的游戏
爆笑游戏
第八章直接逃出游戏
桌游吧“关门劫”
与企鹅来一场桌游约会DICE、Rachel做客腾讯桌游社