任健

● 教学内容分析

计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。要培养学生的计算思维,设计真实的问题情境是必不可少的,而游戏开发就是一个非常好的载体,它符合问题解决的一般流程,而且游戏本身是学生比较感兴趣的项目,具有较强的实践体验。本课以App Inventor(以下简称AI)可视化编程软件制作打地鼠游戏为例,介绍如何使用程序语言解决游戏开发中面临的各类问题,体验用程序解决问题的过程,在实践中培养学生问题解决的意识与技能,提升学生的计算思维。

● 学情分析

本课是手机编程选修课中的一节内容,学生是来自高一各班对程序设计感兴趣的学生,有部分学生已经学习过C++、Pascal等程序语言。现代高中生是被称为“数字土著”的零零后,信息技术对他们的认知、态度及行为习惯的塑造是空前的,他们习惯在互联网上与同学、朋友交流分享信息,喜欢携带自己的移动设备进行学习和游戏。学生学习本课,无需动员便有很大的学习兴趣,有的学生还为游戏设计了一些新点子,如增加难度、增加互动等,教学中可以预留问题空间,留些时间让学生去发挥,有时会有出乎意料的效果。

● 教学策略

本课需要两节课的时间完成。在此之前,学生已经熟悉了AI的基本操作,学习了画布组件的相关操作,通过手指拖动在画布上画线,调整线条颜色和粗细等。在本课的教学设计中,按照软件开发的一般过程,通过问题需求分析、问题梳理、编程解决问题、分享展示等步骤展开教学。大部分学生玩过类似的游戏,他们很容易想到需要解决的一些问题,如如何随机产生“地鼠”等,接着师生一起用AI程序块去解决这些问题,通过运行、调试、运行不断改进程序,如果冒出新想法则启发他们进一步深入下去,对程序进行补充、修改,最后进行展示分享。在调试环节,为每位学生配备了一台安卓智能手机作为模拟器,程序可以在手机上立刻呈现效果。如果没有手机,电脑上也可以通过安装“AI伴侣”程序进行测试。

● 学科核心素养

①能够根据问题的需要,主动、合理地寻求恰当的方式获取与处理信息。(信息意识)②能够采用计算机科学领域的思想方法界定问题,抽象问题特征,建立结构模型,合理组织数据。(计算思维)③对信息技术创新所产生的新观念和新事物,具有积极学习的态度。(信息社会责任)

● 课程标准要求

①了解常用移动终端的类型和功能,描述移动终端的特征与组成。②在具体的移动应用设计实践中,了解移动应用的基本架构,理解基于图形化开发工具进行移动应用设计与开发的基本方法,能利用模拟器测试移动应用程序(APP)。③掌握移动应用设计与开发的思想方法,根据需要设计恰当的移动应用,创造性地解决日常学习和生活中的实际问题。

● 学业要求

①知道移动应用的特点,认识到信息社会中移动应用的价值。②能够基于移动终端的特点,利用图形化的设计开发工具,设计开发基于单台设备的移动应用。③开发基于真实任务的简单移动应用,设计基于移动应用的问题解决方案。

● 教学目标

①了解画布、精灵组件的特点和基本使用方法。②在实际运用中了解随机数的特点,并体会随机数在游戏中的作用。③根据游戏设计中的问题,抽象问题特征,合理设计程序结构,掌握AI编程技巧。④继续理解面向对象、事件驱动的编程原则,体会AI编程的一般流程。

● 教学重难点

教学重点:了解画布、精灵组件的特点和基本使用方法;根据游戏设计中的问题,抽象问题特征,合理设计程序结构,掌握AI编程的技巧。

教学难点:继续理解面向对象、事件驱动的编程原则,体会AI编程的一般流程。

● 教学过程设计

1.情境引课

师:前面学习了在画布组件上通过手指绘制线条,与图片组件只能用来显示不同,它还可以接受输入,允许手指、鼠标触摸、拖动等外部输入动作,是一种交互性很强的组件。今天,我们要利用这个组件制作一个“打地鼠”的游戏程序,同时还会用到一个新的交互式组件——精灵组件。

2.“打地鼠”游戏的制作

环节一:问题的提出(5分钟)

师:“打地鼠”游戏想必同学们看到过,玩过,有的同学可能还玩过实物游戏机,需要拿着小榔头敲击不断冒出来的“地鼠”。

学生们纷纷点头表示玩过。有的学生说敲到“地鼠”的时候,游戏机还会发出声音呢。有的学生说地鼠出来的位置都是固定的,不过从哪个洞里出来是随机不确定的。有的学生还说,获胜的关键要靠敏捷的反应力,“地鼠”出来又下去的速度很快啊……

设计意图:引入学习课题,调动学习兴趣,启发学生思考“打地鼠”游戏该如何设计。

环节二:问题的梳理(5分钟)

师:刚才同学们回答得很好,看来大家都是游戏玩家啊!今天,我们就要来设计一款手机上运行的“打地鼠”游戏。你们提到的几个问题,老师来梳理一下:①“地鼠”是怎么随机出现的?②用什么可以调节“地鼠”出现的速度?③打“地鼠”的动作怎么模拟?④次数要不要统计?怎么统计?

根据学生的知识储备,有的问题还不知道如何解决,但会有一些生活中的感性认识。第一问,有的学生知道要用随机函数;第二问,有学生反应出来可以用一个计时器组件;第三问中由于没有学过精灵组件,暂时答不上来;而第四问,学生知道计分一般用标签组件就可以了。

设计意图:根据游戏创设问题情境,通过梳理问题,建立与程序间的联系,帮助学生从具体问题转换到抽象程序。

环节三:编写程序解决问题(30分钟)

师:下面我们一起来使用AI软件开发这个游戏程序。大家在制作过程中如果有好点子、新想法可以提出来哦!AI程序开发主要分为界面设计和程序编写两大部分。在界面的设计中,刚才提到的画布、计时器、标签等组件都是需要用到的,同时还需要增加一个精灵组件,它代表了“地鼠”,我们只要用一张地鼠的图片作为它的显示图片就可以了。有学生提到,打到“地鼠”的时候最好有声音或者让手机振动一下,那就可以增加一个音效播放器组件。