APP下载

中学程序设计课程培养计算思维的策略与方法

2018-06-30胡秋萍

中小学信息技术教育 2018年6期
关键词:怪兽迷宫程序设计

胡秋萍

近年来,随着信息技术核心素养概念逐步清晰,计算思维在中小学信息技术教学中的地位和作用越来越突出,培养学生的计算思维和问题求解能力也已成为程序设计课程的核心目标。为此,程序设计课程必须从过去的单纯将程序设计作为一种编程工具、以讲解语法和程序设计方法为主向培养学生的计算思维和问题求解能力转变。但在实际教学中,计算思维培养如何有效落地到程序设计教学实践中,也就成了信息技术教师十分关注和研究的重要内容。

计算思维与Scratch程序设计

周以真认为,计算思维是运用计算机科学的基本概念进行问题求解、系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动。计算思维的本质是抽象和自动化,如同所有人都具备“读、写、算”能力一样,计算思维是必须具备的思维能力。而程序设计主要是基于语言级的问题求解,相比抽象级和系统级层次的问题求解,从抽象程度以及理解难度上讲,学习语言级的问题求解方法是最适宜、最容易理解的计算思维。由此可见,程序设计不等于计算思维,也不是计算思维的全部,但是,程序设计是培养计算思维能力的重要内容,学习程序设计方法是理解计算思维、培养计算思维能力的最好途径和方法。2013年,南安普敦大学的Cynthia Selby博士和John Woollard博士提出计算思维包括算法思维(Algorithmic Thinking )、评估(Evaluation)、分解(Decomposition)、抽象(Abstraction)、概括(Generalisation)这五个方面的要素。结合程序设计的教学流程,我根据Scratch课程的特点和教学目标,筛选出计算思维中的抽象、分解、算法、纠错和归纳五个核心要素,以Scratch迷宫程序设计为例,谈谈Scratch实例教学中渗透培养计算思维本质教育的几个常用的策略与方法。

针对案例需求细化任务流程

无论是现实中的迷宫游戏,还是网页游戏中的迷宫,都吸引着大批的迷宫爱好者参与其中。你能使用Scratch编程语言设计一款独特的迷宫游戏吗?

研究有关迷宫游戏的描述,我们会发现除了从图上可以有所理解,文字上很难看出具体的要求。依据计算思维的核心五要素,基于问题解决的思路,任务实现可具体分解为三个阶段(图1):审题,建立模型;分层细化,功能设计;编程实现,测试评估。

渗透培养计算思维的策略与方法

1.将复杂问题简单化,尝试构建简单模型,渗透抽象思维培养

所谓抽象,是指通过忽略可有可无的细节来降低难度,将一个现实问题转变成为计算机可以处理的最小问题。抽象是选择案例后实施编程前的一项重要工作,学会抽象可以更容易找到Scratch编程的切入点,更好地理清游戏的运行规则。

对于迷宫任务来说,规则就是角色从迷宫入口出发,到达迷宫的某处位置,即为完成任务。迷宫可能是各种各样的,具体规则相当复杂。抽象就是将复杂问题简单化,尝试从最特殊的情况入手:如果迷宫是一条笔直的通道。这样一来,问题显而易见,角色从起点移动到终点即可。这样,我们很容易选定角色,确定作品中出场的角色有哪些,分别为这些角色分配不同的功能。

2.分解细节,抓住关键问题,促进分解思维培养

计算思维中分解的概念是把一个看起来困难的问题重新阐释成我们知道怎样去解决的问题。经过分解后,这些零散的部分才能够被理解和解决,从而降低大型实例的设计难度。学生通过分解问题,理清每个角色的动作与编程思路,将难点进行分解并突破,从而从无序状态中脱离出来,找到解决问题的关键点。简化问题后发现,迷宫任务整体实现的关键条件是角色行走和碰到墙壁后的处理。

(1)如何控制角色行走?

通过分析我们发现,如果是单个角色,可以使用键盘的上下左右箭头按键控制行走方向;如果是多个角色,还需要用到键盘上的其他按键来控制其他角色的行走。那么多个角色,如何使用鼠标控制呢?带着这个问题,引领学生进行更为深入的思考,从而找到答案。

(2)角色碰到迷宮墙壁,将被遣返到迷宫入口。

如果舞台背景是迷宫地图,可以使用条件判断:如果角色碰触到迷宫墙壁的颜色时,位置发生改变,回到入口处;但如果迷宫地图是某个角色组合而成,那需要判断:如果碰到某个角色,位置发生改变,回到入口处(图2)。

3.增加行走迷宫的难度,添加怪兽角色等行为,培养学生的创新能力

角色如果被怪兽攻击成功,游戏直接结束;或者角色的体力值下降,直到体力值为零,游戏才结束。怪兽角色可能是原地不动,也可能在迷宫中随机移动位置。角色的策略可以选择绕开怪兽,也可以使用武器攻击怪兽,直到怪兽消失;同理,还可以为怪兽设计各种攻击技能。

4.设计互动环节,不同关卡策划,渗透算法思维

通关的游戏设置很吸引大众玩家,因此,要为游戏设置不同难度的关卡,吸引玩家的参与。不同关卡,舞台背景、角色造型,应有不同,充分发挥想象力,在不同关卡中设计递进的难度。例如增加角色的体力值、增加角色的攻击技能、可以使角色直接到达终点等。在迷宫的某个位置固定放置神秘物品,碰到会有大惊喜,或者不定时出现在迷宫的任意位置上。

通过上面的分析,将迷宫游戏的规则细化到每个小细节,最后通过Scratch脚本,实现以上的全部功能。

从多个侧面分析寻找必要条件,把问题分解,根据各部分的本质联系,将各方面的必要条件综合起来使用。还要考虑各种细节,例如拓展迷宫类型,设计不同难度,如单迷宫、复迷宫。增加作品的艺术性,为作品设计不同的故事背景,如重走希腊神话背景米诺斯迷宫、解救盘丝洞中的唐僧、海底探险寻找美人鱼、宇宙大探秘等等。迷宫中也可以设置多个入口和出口,实现多人互动比赛等。

5.程序实现,关注过程的纠错调试,强化纠错思维

纠错是计算思维重要的方面,也是Scratch教学中另一个重要的环节,贯穿了整个课程的学习过程。从学生设计脚本程序时,纠错的行为就始终伴随着,更体现了“摆弄”的重要性。学生在调试作品时,需要像计算机执行程序一样去思考执行语句,理解执行每一步模块应该出现的现象,并与实际的执行结果进行比较。当发现效果与预想的有偏离时,就要不断地纠错、调整程序,采用不同的算法实现效果,在“构思—编程—测试—调试”的过程中进行纠错,反复磨练,这样学生不仅在知识、技能上会有进步,在计算思维上也会有所提升。

在中学信息技术程序设计教学中,教师对于命令语句和程序基本结构的相关知识一般都能较正确地把握,在教学中融入计算思维的理念,将教学重心从计算机语言、语法和规则等的讲解转移到以培养计算思维能力为核心,还需要很长的路要走。所幸这一命题引起了许多有识之士的兴趣,也有了很多策略和方法可以借鉴;本文我参考了有关工作文件,结合了自己的教学实践,总结了粗浅认识,与大家共同探讨。

参考文献

李峰,王吉庆. 计算思维:信息技术课程的一种内在价值[J]. 中国电化教育,2013(8).

陈杰华. 程序设计课程中强化计算思维训练的实践探索[J]. 电化教育研究,2009(10):84-85.

中华人民共和国教育部. 普通高中技术课程标准(实验)[M]. 北京: 人民教育出版社,2003:16,20,25,39.

猜你喜欢

怪兽迷宫程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
有一个怪兽
从细节入手,谈PLC程序设计技巧
失眠这个小怪兽
大迷宫
高职高专院校C语言程序设计教学改革探索
迷宫
捕网迷宫
创造独一无二的迷宫
PLC梯形图程序设计技巧及应用