《足智多谋的小海龟》教学设计
2017-02-22王金婵
王金婵
教材分析
本课是青岛出版社出版的2004版小学信息技术四年级上册第十三课的内容。本课主要是围绕使用Logo语言中的条件判断语句编写程序展开的。学生首先要了解程序设计中的分支结构,学会用条件判断语句编写程序,并在编写程序的过程中正确使用逻辑运算符。
学情分析
本课的教学对象是四年级的学生,他们虽未接触过编程教学,但储备有一定的信息技术知识,有能力通过自主探究进行初步学习。因此,笔者依据学情,将教材再次解读后重组,采用翻转课堂的教学模式。课前,学生借助Storyline制作的学件自学相关命令、顺序结构、流程图等知识并进行学习检测。课中,笔者从游戏入手,将学生自主探究与小组合作相结合,让学生在课堂活动中掌握解决问题的思想和方法,力争达到运用信息技术解决实际问题的目的。
教学目标
知识与技能目标:了解程序中的分支结构;学会用条件判断语句编写程序。
过程与方法目标:通过游戏互动,了解用分支结构分析问题的方法;通过小组合作,理解条件判断语句并形成正确的编程思路;通过自主探究,掌握将流程图转换为Logo语言的方法。
情感态度与价值观目标:在了解分支结构的过程中,感受编程在生活中的应用,培养思维能力;在排列流程图的过程中,培养合作意识与团队协作能力;在编写程序的过程中,激发对编程的兴趣,培养创新精神。
教学重点、难点
重点:了解程序中的分支结构。
难点:学会用条件判断语句编写程序。
教学准备
Storyline学件、Flash课件、PCLogo4.0、自制教具(流程图卡片、小锦囊等)。
教学过程
1.创设情境
师:经过前一段时间的学习,我们和小海龟结成了好朋友。看,它来了!(播放课件“小海龟找妈妈”的片段)大家有信心帮小海龟找到线索吗?
生:有!
设计意图:为了激发学生的学习热情,笔者创设了一个类似于闯关解密的故事情境——帮助小海龟找妈妈,学生需要通过回答问题、小组合作、完成学习任务等方式获得线索,才能成功解密。这种评价、奖励方式,大大激发了学生的学习热情,因此他们的学习积极性特别高。
2.合作探究
(1)游戏探究:分支结构
师:让我们先看看第一条线索。
教师播放课件,出示游戏规则:一位同学手举一张卡片,老师随机抽取一张卡片。如果卡片上的数字大于这位同学的数字,就请大家举起右手,否则,大家请起立。
一位学生参加活动,手举卡片“3”,教师抽出卡片“5”,学生们迅速地举起右手。
师:大家的反应可真快。先放下手,为什么大家都举起了右手?
生:因为5>3,所以举起右手。
师:没错,你们的判断是正确的。继续游戏,准备好了吗?开始!
教师抽出卡片“3”,学生有的举起右手,有的站了起来,还有的无所适从。
师:为什么有的同学站起来,而有的同学没有作出判断,能说说你们的理由吗?
站起来的学生、没有作出判断的学生和举起右手的学生分别阐述了自己的理由,教师根据学生的回答即时评价。
師:因为3>3这个条件不成立,所以我们应当站起来。(教师给配合举卡片的学生送锦囊)谢谢你的合作,但是先不要打开,后面老师会给大家时间查看锦囊。
设计意图:学生从未接触过分支结构,直接提出这个概念学生会感到困扰。因此,笔者从学生的生活经验入手,让他们在游戏中进行判断并做出反应,体验执行分支结构的过程。游戏中设置卡片数值为“3”,是为了帮助学生进一步理解分支结构。
师:刚才我们玩的这个游戏,可以用以前学过的流程图来表示。(播放课件:分支结构流程图)谁能说说这个流程图?
学生谈自己对流程图的理解。
师:这种流程图有没有可能两边同时执行?请说说你的理由。
学生交流后得出结论:不能。教师即时评价,并给积极思考、回答问题的学生赠送锦囊。
师:没错,两边不能同时执行,因为条件的答案除了是,就是否。在这个流程图中,你认为哪部分最重要?
生:a>3最重要。
师:老师非常认同他的观点,因为这决定了我们是起立还是举手。这部分的作用就是判断一个条件是否成立,然后控制程序应该往哪边走。像这种判断一个条件是否成立的式子,叫做条件表达式;这样的结构,我们称它为分支结构。以前我们还学过一种什么结构?
生:顺序结构。
教师出示课件:顺序结构流程图。
师:大家对之前的知识掌握得很牢固。谁能说说这两种结构的区别?
学生用自己的语言描述两种结构的不同之处,教师即时评价。
师:只要用到条件判断,我们就可以使用分支结构流程图来表示。经过刚才的游戏,有的小组已经得到了一些黄色锦囊,再取得两个锦囊,你们就能帮助小海龟找到妈妈了,让我们继续前行!
设计意图:为了帮助学生更加扎实地认识分支结构,在这一环节中笔者设计了教师与学生的谈话互动,再通过顺序结构与分支结构的流程图对比,帮助他们理解、内化、加深认识。
(2)合作探究:条件判断语句
师:获取第二条线索的题目出现了(如上图)。
教师读题目要求,学生思考。
师:老师告诉大家一个好方法,当遇到困难时,我们可以先画一个简单的流程图,然后再根据流程图转换成Logo语言。现在,老师为每个小组准备了一套卡片,大家将这些卡片排排队,摆出这道题目的流程图。
学生摆流程图,教师巡视。
师:哪个小组来展示一下?你们为什么要这样排列?并说说想法。
教师按照学生说的步骤,一一对应展示课件。
师:谢谢你们的精彩展示,每位同学都可以获得一个锦囊。
设计意图:设计这一环节时,笔者考虑到学生还没有自己画过流程图,如果直接呈现流程图会减少学生的思考,因此设计了摆流程图卡片的小组活动,让学生将注意力集中到分析结构上,明确解决思路。
师:怎样把画好的流程图转变成Logo语言呢?请同学们借助《流程图转换Logo语言小教程》自学如何通过流程图编写程序。
学生操作,教师巡视。
师:老师发现有不少同学已经把掷骰子这一步转换成了Logo语言,可是在把分支结构转换成Logo语言的时候遇到了困难。那么,我们一起来看课件,相信大家一定会有所收获。(教师播放课件:流程图中的分支结构变成语句)在这里,分支结构可以用条件判断语句来表示。(教师板书:if…then…else…)这就是条件判断语句,if是如果的意思,then是那么的意思,else是否则的意思。合起来if…then…else…这条语句表示什么意思?
学生回答。
师:在掷骰子这道题中,这三个省略号可以分别用什么来代替呢?
学生用教师提供的板贴,按照自己的理解替换了三个省略号。
师:if :a>3 then fd 100 else bk 100 这条语句表示什么意思?
学生回答。
师:大家理解得很到位,但需要注意的是,在Logo中输入这条语句时,a前面这个冒号可千万不能漏掉,否则程序不能正确运行。(教师边替换板贴边与学生互动)现在我想这样替换行不行?那这又表示什么意思?如果条件表达式成立那么执行命令1,否则执行命令2。这就是条件判断语句的格式。请同学们继续编写程序。
学生操作,教师巡视。
师:大家的小海龟移动了吗?谁的小海龟是前进的?请读一读你写的程序。(学生读程序并执行)大家看,小海龟前进了,这时候a可能是几?
生:456。
师:有没有谁的小海龟是后退的?这时候a又可能是几?
生:123。
师:程序是一样的,为什么小海龟有的在前进有的在后退?在这里,a是否大于3决定了小海龟是前进还是后退。谁再来说说这条语句的意思?没完成的同学请继续,已经完成的同学可以帮帮其他人。
学生回答,并继续操作。
师:大家的小海龟都动起来了吗?经过大家的努力,终于完成了这道题目,让我们看看最后一条线索藏在哪儿。请大家先使用CS命令清屏。
设计意图:学生在翻转部分自学了把顺序结构流程图转换为Logo语言的方法,结合这一情况,在此环节笔者提供了《流程图转换Logo语言小教程》来帮助学生完成任务。由于“小教程”没有提供详细的步骤描述,所以学生在探究中会遇到各种问题,这时教师再进行有针对性的指导,帮助学生掌握条件判断语句的写法。
3.拓展练习
教师播放课件,出示学习任务。
师:我们现在来编写一个程序——抽取一张数字为10以内的扑克牌,扑克牌上的数字用字母a来表示。如果a=4,那么就让小海龟左转90度,然后前进100步;否则让小海龟右转90度,然后前进100步。我们可以使用make "a random 10来表示抽取的扑克牌点数。这部分的线索锦囊老师让小组长负责发放,编写好程序的同学可以找小组长检查,完成题目要求的即可获得线索锦囊。大家開始编写这个程序吧。
学生操作编程,教师巡视。
教师转播学生计算机,呈现其编写好的程序,并请其他同学回答自己阅读程序后的理解。
教师对学生的阐述进行即时评价。学生继续操作,教师发现优化程序的学生,并请他说说思路。
师:这位同学的做法使程序变得更简洁,实现了程序的优化。只要我们善于动脑,勇于创新,还可以找到更多解决问题的方法。现在每个小组手中都有很多锦囊了,打开拼一拼,通过这些线索,你们能帮助小海龟找到妈妈吗?谁来说说小海龟的妈妈在哪里?
设计意图:本环节的设计,既是对学生学习情况的巩固与检验,也是拓展延伸。笔者在这一环节中特别强调了程序的优化问题,让学生尝试从不同的角度思考问题、解决问题。
4.课堂总结
师:小海龟在大家的帮助下终于找到了妈妈,在刚才的探究过程中我们一起认识了分支结构,并学会了使用条件判断语句。其实,在生活中还有许多复杂的判断,我们将在以后的学习中慢慢了解它们。
设计意图:本环节借助总结梳理本课知识点,让学生知道,生活中还有许多的判断都可以用编程来描述,用编程来解决,让信息技术走进生活,最终达到“学以致用”的效果。
教学反思
本课取得了较好的效果,教学目标的达成率极高。本课是针对零起点的学生直接从分支结构体验编程的一种教学尝试,很多编程思想都来源于生活并应用到生活中去,把教学设计跟生活体验有机结合,那么程序设计类的课程对学生来讲就不会那么枯燥、抽象了。因此,本课的设计是围绕着降低技术门槛、关注学生编程思路、培养学生高级思维能力来进行的。为此,课前翻转环节使学生对Logo语言有了一个初步的认识,为课堂教学做好准备。而课堂教学环节,笔者则从学生常玩的游戏入手,帮助他们体验分支结构的执行过程。在这里,笔者特意设计了一个小陷阱——判断“3>3”是否成立,促使学生进一步理解分支结构,最终内化、吸收。笔者在解决难点“学会用条件判断语句编程”时,也是围绕降低技术门槛、关注学生编程思路的原则进行设计,如排列卡片摆流程图、参考步骤不详尽的《流程图转换Logo语言小教程》编写程序等。特别是摆流程图卡片这一环节,卡片的数量多于学生小组的人数,促使学生在小组内进行辨析、碰撞,最终明确思路。笔者认为正是这种关注学生、降低技术门槛、聚焦设计本身的教学设计思路,才让这堂课取得了较好的教学效果。
本课虽有亮点,但也有不足之处,如评价方式对学生小组的激励不够等,还有待进一步提高、改进。