朱 斌
信息技术对社会的重要性不断提高,影响着生活的方方面面,新修订的《义务教育课程方案和课程标准》(2022版)也强调了在义务教育的过程中要加强“科学性,遵循学生认知规律,注重与学生生活、社会实际的联系”。在新的教育理念以及信息技术不断凸显其重要程度的背景下,开展信息技术的相关教育已经箭在弦上,不得不发。“Mind+”是一款专门应用于青少年编程教育的可视化编程软件,本研究将采用“Mind+”进行项目式教学研究,为编程教育的项目式教学提供经验指导。
项目式教学是一种以学生为中心的教学方式。师生选择项目主题,学生分配任务,小组对自己的课题进行探究性学习。学生自主地完成信息收集、调查研究、知识获取、方案探讨等过程,最终解决问题。项目式教学的突出特点在于“探究”和“合作”,学生并不是直接获得知识,而是通过同学合作、自主探究得到知识,这种学习方式使学生获得成就感,并积极主动去学习,构建自己的知识体系。
常见的编程软件一般是C++或是Python,这些编程软件功能齐全,但门槛较高,初学者使用困难。Mind+则是一款没有专业门槛的编程软件,适合青少年学习使用。Mind+的编程语言是一个个的图形化的积木,学生只需要将积木按照清晰的逻辑语言组合在一起就可以实现编程,Mind+模块资源丰富,有由浅及深的学习过程,适合青少年使用。
本研究以《黑白跑酷》为例进行项目式教学设计,以检验学生的综合能力成长情况。
教师要在课前对教材内容及课程内容进行解读,明确教学目标,并讲解Mind+中常见的操作,通过深入浅出的讲解,让学生对Mind+软件的陌生感消失,并引导学生产生想实际操作Mind+的兴趣。教师需要灵活准备PPT和相关的应用资料,随时方便共享。
项目式教学的项目主题应当是师生共选,这样才能兼顾可行性和趣味性。教师首先让学生自由思考,举例经典的休闲类游戏类型项目,学生的回答有下楼一百层、仓鼠球、大鱼吃小鱼、水果忍者、神庙逃亡等,教师进一步引申,鼓励学生自己创造游戏,以跑酷为主题激励学生思考实现方式。《黑白跑酷》项目的选择考虑到了市面上的跑酷游戏画面设计烦琐,只是场景换皮,游戏方式却千篇一律,缺乏特色。
确认项目后进一步确认主题,教师问跑酷的主人公应该是怎样的,每个孩子都有不同的答案,突出的是各自的兴趣爱好,比如男孩子多回答游戏角色,女孩子多回答电视中的角色等,教师再限定范围,说明选定了角色,就需要有配套的场景,场景要越简单越好,因此角色也要越简单越好,最后经过层层讨论,确定了方块人的角色方案,应用极简化的场景设计和游戏逻辑设计。项目逻辑简单却风格突出,可操作性强,设计简单方便。
在主题确认的过程中,学生明白了游戏设计中的统一性,即主题、角色、场景等的设计都是联系在一起的,每一步都需要慎重考虑,不能因为一个环节影响到其他环节。在进行后续设计时时常会有学生质疑“会不会和其他内容不搭配”,可见学生通过自我探究认识到了设计统一的重要性。
教师需要引导学生合理分析项目的逻辑,包括角色分析、功能分析、功能实现分析等。
1. 角色分析
在《黑白跑酷》中会出现的单位除了玩家操纵的黑色方块外,还会出现什么单位?教师先让各组同学进行讨论,再选一组讨论较深入的学生发言,其他小组补充,教师同时可以给予同类型游戏的提示等。有些学生主张从形状上加以区分,有些学生主张从颜色上加以区分,最后进行深入探究后发现,如果以形状进行区分,就会导致不论什么陷阱、机关都是一种形状,大大降低了难度和操作性,所以最后确定《黑白跑酷》中存在黑色、白色、浅蓝色、深蓝色、红色等五种颜色,对应五种不同的效果,通过简单颜色区分的方式凸显极简主义的风格。
2. 功能分析
参照同类型的游戏,跑酷游戏中常见的单位功能包括位移、死亡、伤害等,学生探究中还提到了变大变小、变色、变透明、加命等设定,经过商议后认为与主题关系不大,最终确定《黑白跑酷》中与黑色相反的白色为死亡,浅蓝色和深蓝色分别代表向上位移和向下位移两种位移方式,红色为伤害性机关。
3. 功能实现分析
在功能实现环节要对各个模块与场景之间的逻辑关系进行深入探讨,通过各功能之间的衔接实现游戏,学生要从整体上把握项目的实施逻辑和流程,注意到具体场景中应关注的现实细节,从而引导学生将知识体系融入数字逻辑之中。
通过对游戏逻辑的设计,学生对“单位”“功能”“逻辑”“效果”“条件”“结果”等逻辑词语有了更深层次的理解,在随机问答中学生基本能给出符合一般认知的回答,说明学生已经通过探究有了基础的逻辑思维。
Mind+的编程方法虽然是积木式,学生只需要拼接即可完成编程,但编程所讲究的逻辑性却不能忽视。教师需要教会学生画逻辑流程图,并检查逻辑的严谨性。例如主角单位的运动逻辑设置如图1所示:
图1 部分黑块运动逻辑
通过更换皮肤模型实现下蹲运动,通过坐标轴增减来实现X轴方向位移。教师让每个学生都按照自身的流程图在Mind+上进行演示,学生发现有些流程无法实现,便自己探究更改,有些学生则发现流程虽然实现,但结果与预期不符,教师解释原因,然后让学生继续更改,通过鼓励学生自主探究的方式,最终学生能够明白基础的逻辑转化为方块编程的过程。这些虽然是实际编程中常见的策略,但学生能够实现这种操作,足可见其已经掌握了基础的编程逻辑。
项目合作方案实施有准备、实施、验证等环节。
首先要进行项目分组准备,《黑白跑酷》项目涉及多个单位、多组功能、多个场景,经过项目整合之后确定该项目需要进行的任务包括单位逻辑设计、场景设计、场景切换逻辑设计、音效准备、皮肤设计,由于场景设计的场景较多,分为两个小组进行,分别负责前半段和后半段,最终确定分为六个小组合作完成项目。
其次进行项目实施,在方案实施过程中各小组需要先单独工作,如了解基本的编程方法,进行编程尝试,搜集本小组的资源等,接着小组要合作开展任务,以注意衔接,如负责音效的小组需要先确定整体音效风格,然后与其他小组沟通,了解他们所做的角色形象与场景情况后进行音效制作。
最后是验证,各组互相验证检验项目的完成度,确定最终成品的运行效果,发现项目中不足、编程忽视的问题,在教师指导下,各组学生二次合作,最终完成整个项目。许多学生还提出了一些更丰富的游戏逻辑,如增加鼓风机方块、渡船方块等的设计,还编写了配套的逻辑流程,但因项目时间有限,最终没能加入,表明学生的思维盒子已经打开,实现了将现实世界的灵感引入编程。
最终完成了《黑白跑酷》的编程作品设计,通过操纵主角黑块单元的运动实现跑酷过程,黑块的部分运动逻辑如图2所示。
图2 黑块运动逻辑
《黑白跑酷》中设计了总共48个场景,场景由不同的蓝色、白色和红色搭配方案实现关卡变换,如图3背景采用浅蓝色向上位移的方块和白色死亡的方块结合组成,黑块需要小心地远离蓝色方块才能通关。
图3 背景
编程学习之后对班级成员进行编程知识的基础问答并进行流程图的绘制测试,结果表明班级80%以上的成员都能够完成这些训练,说明项目式教学取得了一定的效果,但教学花费的整体时间较长、部分学生仍然知识掌握不足的问题同样存在。
《黑白跑酷》项目是一个日常轻松的游戏项目,与学生生活中常玩的如神庙逃亡、森林冰火人等经典游戏有一定的相通之处,但又有自己独特的风格,因此当学生能够亲自参与到游戏的设计中,体会到设计游戏的真实感时,普遍产生了较为浓厚的兴趣,在项目式教学的过程中都充满热情,能够主动探究知识,这验证了此次教学活动的成功。教学中也得出了如下启示:
第一,兴趣始终是教学的先导,信息知识从理论上讲离生活很远,但在实践上又与我们的日常生活息息相关,因此在教学中要从学生的生活入手,这样才能使他们对信息技术产生兴趣,为学生埋下求知的种子。
第二,讲究“知其所以然”的教学方法,信息技术讲究逻辑,讲究运用规则,学生不能仅仅理解单元需要怎样运动,还要理解运动的具体实现逻辑,当学生可以做到“知其所以然”,他就可以理解一类的现象。
第三,达到从探索到创新的目的,编程处在一个未能全知的领域,存在许多创新的空间,教师应该鼓励学生积极地创新解决问题,使学生思维模式得到内化提升。