【摘要】本文是以《Scratch鼠标画图》一课为例,以趣味编程为起点,结合小学生逻辑思维发展特点、认知特点、已有的认知水平及生活实际经验,探讨如何将抽象的编写程序的逻辑思维过程通过具象化的语言、情境、任务让学生对程序编写的过程策略有一个感性和理性的认识,从而为后续的Scratch教学和学生的逻辑思维的培养奠定基础。
【关键词】 Scratch 画图 教学 逻辑思维
一、前端分析
1教材分析
教学目标:
1.学会使用绘图编辑器中的“设定旋转中心”。
2.理解和使用条件语句“如果……否则……”及画笔等相关程序指令。
3.让学生在理性思考和自主探究中体会Scratch编程的乐趣,培养学生编程的逻辑思维能力。
虽然这一课放在画图单元,知识点却和前两课很不一样。重点一是绘图编辑器中“设定旋转中心”的使用。教授这一部分的时候可以从学生出现的问题入手,给学生提示绘图编辑器中的“设定旋转中心”,让学生自己尝试。翻转、旋转等功能可以在以后的课程中讲解,本节课不进行具体阐述。重点二是学习实现本课功能的代码,即条件语句“如果……否则……”。
教学重点:“设定旋转中心”的正确使用,以及条件语句等程序指令的理解和使用。
教学难点:条件语句“如果……否则……”的理解和使用。
预计课时:1课时
2学生分析
学生通过前期的学习与实践,不仅养成了自主学习和反思调整的意识,更初步积淀了一些主动质疑和创新实践的能力,这为本课学习奠定了良好的基础。教师完全可以采用“任务驱动——自主探究——发现问题——解决问题——合作分析——创新实践”的流程推进学习活动,提高学习效率。对于条件语句“如果……否则……”,可在导入时回顾画图程序先提出,让学生有这个理解。
二、教学设计
1开放式导入
(1)教学实录
谈话:
·大家喜欢画画吗?电脑上我们是用什么来画画的?
·画图程序中,我们用铅笔工具画图时,鼠标是怎么操作的?
·请大家用鼠标体会画图的过程,试试看,是不是像刚刚这位同学说的那样。
·也就是说,如果按下鼠标并拖动,就画。否则,不画。画还是不画的关键动作是什么?
·今天,我们就要在Scratch里通过编程来进行鼠标画图。
揭题:
Scratch鼠标画图
(2)过程解析
从学生实际生活问题和过去的学习经验入手,以谈话方式导入新课。在回顾画图鼠标操作过程中,大脑的回忆和实际手感的回忆结合,让学生对鼠标画图操作过程有了逻辑性的理解和分析。为编程做思维铺垫,同时又明确了本课的学习任务,并揭题。
2过程推进——分析脚本
(1)教学实录
画笔角色
·大家看一下,画图程序里当我们选择了铅笔进行画图时,鼠标指针会变成什么形状?
·在Scratch里如何创造出一只画笔呢?
·老师已经给大家准备好了一只画笔了,请大家打开桌面上的文件“鼠标画图”,你看到舞台上的画笔了吗?
分析脚本
画笔有了,接下来我们就要来分析画笔的运动过程啦。
·程序开始的第一步是什么?
·什么时候画,什么时候不画,程序是不是需要根据是否按下鼠标要有一个判断的过程?
·是:
观察铅笔画图,画笔做了哪些操作呢?
·否:
观察铅笔画图,画笔做了哪些事情呢?
思考:
画画是一笔就能完成的吗?
画笔对画还是不画的判断只有一次吗?
·因而,对画笔的判断是需要不断进行的,也就是需要?(重复执行)
(2)过程解析
通过观察铅笔画图鼠标指针的变化,引导学生思考如何绘制角色,尽管本课直接给了学生现成的画笔,但是在以后的编程中,很多角色是需要我们通过绘制完成的。分析画笔的运动轨迹,从铅笔画图入手,明白判断的重要性。观察铅笔画图,分析画和不画时,鼠标分别作了哪些操作。通过问题,激发学生思考,对画笔的判断是不断进行的,需要重复执行。将分析的流程图板书,思路明晰。
3过程推进——程序设计
(10教学实录
程序设计
·请大家根据我们刚刚分析的思路,给你的画笔设置脚本吧!
·巡视指导
困难解决
·有问题的同学请举手,我们演示一下,看看他的问题出在哪,谁能帮他解决?
·将解决的方法,板书贴片呈现。
·学生完善自己的程序
问题补充
·现在画笔能像画图程序里那样画出来的同学举手。
·在画的过程中,你有什么发现和问题?
·问题一:画出的线条不是从笔尖出来的。
师并提示“编辑造型——设定旋转中心”,请大家来试试看。
现在你的画是从笔尖出来了吗?谁来演示下怎么做到的?
其实我们在一开始绘制画笔的时候,就可以将这一步先做好。
·问题二:当你想重新开始画图的时候,舞台上的图案却不能像画图程序那样快速地“清除图像”。
我们能不能在每次小绿旗之后就先清空舞台呢?
在画笔程序指令里,找一找有什么指令能帮到你?(清除所有画笔)
有什么方法可以自由控制清除图像的时机呢?
·请大家完善自己的脚本。
·巡视指导
(2)过程解析
通过关键动作的分析,给学生自主探究的机会,让学生在实际操作探索中得到练习。将学生的困难和遇到的问题呈现出来,回抛给学生,利用学生资源来解决。充分发挥学生的自主探究能力,成为学习的主体。教师贴片呈现解决办法,醒目自然。教师引导学生发现问题、提出问题,将问题板书,引起全体学生关注,同时给予适当地提醒,让学生自己来找到解决的方法,让学生体会成功解决问题的乐趣。不断地设疑,激发学生不断地思考,不断地探究。
4任务驱动——开放式延伸
(1)教学实录
今天你又掌握了什么新本领?
据流程,要用到哪些程序指令?
能不能按下一个键,改变画笔的颜色呢?请大家动手试一试。
你能不能设计橡皮擦的程序?
(2)过程解析
反思梳理,内化知识。提高程序设计的类比迁移思维能力。
三、教学反思
对于本节课的教学设计,通过板书(见图1-1)可以有直观的了解。结合本节课的设计以及实际教学,在五年级2、3、4、6试上时,我对于画图中鼠标的分析以及Scratch中实现画图的程序分析不够,导致学生在自主进行程序设计的时候,遇到了很大的困难,对于选择什么程序指令实现显得很茫然。原因就在于前期的分析没有到位。采用的板书完全手写,考虑到时间,导致板书字迹潦草、流程图不够清晰。
经过多次的试上和对教案的修改,在五1上课时,前期做了很详细的分析,引导学生对程序实现的关键动作的判断理解,在后来学生的程序设计中达成率较高。在五5上课时,却出现了一个之前班级都没出现过的问题,那就是,这个班的学生对于规则性移动已经形成思维定势,在本课的鼠标画图程序中,画笔的运动并不是规则性的移动,而是跟随鼠标的轨迹而变的,导致尽管在前期分析比较到位,但是学生自己动手时,习惯性地、不假思索地使用规则移动的程序指令。而这个时候,我应该及时地改变教学策略,及时将预先准备在解决问题环节和总结环节呈现的板书贴出来,以及及时分析规则运动和不规则运动轨迹的区别。否则学生很难走出定向思维。最后总结时,也忘记了提醒学生我对不同程序指令为什么用不同颜色的板书。
备课离不开备学生,班级之间本身就会有差异,在平时的教学中,应多观察,及时记录,这样在后续的备课和教学中,我才能游刃有余,以变制变。