资源简介 第 8 课《算法的多样性》教学设计【课标内容要求】借助学习与生活中的实例,体验身边的算法,理解算法是通过明确的、可执行的操作步骤描述的问题求解方案,能用自然语言、流程图等方式描述算法。通过真实案例,知道算法步骤的执行次数与问题的规模有关,观察并体验采用不同算法解决同一问题是在时间效率上的差别。针对简单问题,尝试设计求解算法,并通过程序进行验证。【教学内容分析】本课选自第三学段“身边的算法”模块中的六年级上册第二单元第一课——算法的多样性。在本册第一单元中的第 6 课《猜数字算法设计》和第 7 课《猜数字算法验证》中,学生已经初步体验了“猜数字”,本课是在它的基础上,让学生了解解决同一个问题存在多种算法。本课在本册教材中处在中间位置,学习好本课知识对学习后面的知识十分重要,起着承上启下的重要作用。【教学目标】通过生活中的实例,了解算法的多样性,理解不同的算法可以解决同一个问题。掌握顺序查找和二分查找两种不同的算法设计并能对其进行算法验证。通过用不同算法解决同一个问题,提升学生的创新思维和解决问题的能力。重点:理解同一问题存在多种算法,并掌握同一问题的多种算法验证。 难点:选择合适的算法,解决不同的问题。【核心素养指向】通过体验身边的算法,了解算法的特征和效率,会用自然语言、流程图等方式描述算法。具备计算思维,能对问题进行抽象、分解、建模,并通过设计算法形成解决方案。【学情分析】六年级的学生已经具备了一定的计算机基础知识,对编程和算法有了一定的兴趣,并对它们有了初步的了解。但是,他们对于算法的理解和掌握还不够深入,需要通过本课的学习加深对算法的理解,并深入了解算法的多样性。【设计构想】整体设想算法是计算思维的核心要素之一,本课的主要目标是让学生了解一个问题可以用多种算法解决,同时也有多种算法验证。第一单元的内容第六课和第七课涉及到了“猜数字”游戏,因此学习本课时,与第一单元进行联系,唤醒学生已有经验。学习算法理论枯燥,所以我以游戏为引,激发学生的学习兴趣。让学生在玩乐的过程中,学习到“顺序查找”和“二分查找”的算法知识,并通过动手实践验证算法的正确性,给与学生学习的信心和热情。教法学法运用实验教学法,让学生通过动手撕纸条猜数字,切身体会“顺序查找”和“二分查找”的查找方法。 并让学生将自主学习和合作探究相结合的方式,更好地学会本课知识。情境与任务用不同的方法玩“猜数字”游戏,从而引出两种算法的设计,通过自主探究和小组合作讨论,选择合适的算法解决实际问题,从而了解算法的多样性。学生活动①猜数字游戏:按顺序猜、取中间数猜。②设计算法:顺序查找、二分查找。③验证算法:编写程序、流程图的执行。④拓展提升:设计拓展题的算法并验证。5.核心素养的落实①崇尚科学精神、原创精神,从实际问题出发,设计多种算法解决世界问题。②对同一问题设计两种不同的算法,对具体问题具体分析,尝试用多种方法解决问题,在此过程中提升学生的计算思维。③通过同学之间互相合作玩游戏和自主思考,开展探究性学习。通过学习身边的算法,体会算法的特征,有意识地将其应用到数字化学习过程中,从而培养数字化学习和创新能力。④了解算法的优势,认识算法对解决生活和学习中的问题的重要性。 6.评价设计过程性评价为主,终结性评价为辅。评价标等级 评价内容 学生自评 学生互评 教师评价三颗星 学会设计顺序查找和二分查找的算法。四颗星 能通过编写程序或流程图的执行验证算法。五颗星 知道选择合适的算法解决不同的问题。准如下:【教学环境及资源准备】硬件:多媒体计算机网络机房。软件:Python 编写软件,如 thonny。资源:课件。【教学活动设计】学习任务 (各环节) 学习过程 设计意图(写出一个环节的设计意图,包括: 用时(单位:分钟)教师活动 学生活动 本环节学生学习情况的检测,核心素养的渗透,重难点的落实)一、回顾 旧知,导 1、同学们,还记得我们前几 节课玩过的“猜数字”游戏 回答问题互 动 回顾旧知,让学生回 忆前面学过的知识, 2 分钟入新课 吗?但是我们是怎么猜出来 激发对本课的学习兴的? 趣。2、除了这两种方法,你还有 别的玩法吗?马上进入今天的课程——算法的多样性。二、游戏体验,自由探索 1、按顺序查找(教师演示) 看,这里有一张长长的 纸条,上面写了数字 1,2, 3,…,99,100。请一位同学想一个目标数字,并写到黑板上,老师不看。 2、教师从 1 开始按顺序猜数字、撕纸,学生反馈,直到猜到目标数字为止。 3、同学们,刚才的“猜数字” 游戏,你能看出老师是按照 把目标数字写在黑板上 通过按顺序猜数字, 让学生体会“顺序查找”的过程,为后面 8 分钟的设计顺序算法、编学生反馈 写程序做铺垫。学生回答什么方法猜的吗? 4、你观察真仔细!这就是“猜数字”游戏的另外一种玩法 ——按顺序猜。还有别的玩法吗? 5、取中间数查找 ①师生玩 请一位游戏搭档和老师一起来猜数字。 现在老师手里有一张空白的纸条,首尾分别写了 1 和 100。请你在这个范围内想一个数字,作为目标数字并写在黑板上。 教师先猜 1 到 100 的中间数 50。学生反馈 50 和目标数字哪个大,如果目标数字=50,那就猜中了;如果目标数字<50,就把纸条从中间撕断,把后半部分的纸条丢掉,新纸条的首部数字不变仍为 1,尾部数字变为 49。第二次猜的数字为 1 到 49 的中间数 25 ; 如果目标数字>50,就把前半部分的纸条丢掉,新纸条的尾部数字不变,首部数字变为 51。第二次猜的数字为 51 到 100 的中间数 75。 …… 如此反复,直到猜到目标数字为止。 ②学生互玩 接下来,我们玩点刺激的。首尾数字变一变,你们自己指定。一位同学指定数字,一位同学撕一撕来猜数字,看看第几次可以猜中。6、同学们,这次游戏我们是怎么玩的,和之前的按顺序猜一样吗? 7、这是两种完全不同的猜法。我们猜数字的过程中, “猜”这个过程也叫做“查 “二分查找”对学生来说是新知,学习起来很有难度。它的中学生在黑板 心思想是取中间数查上写上目标 找,所以在这里先让数字 学生玩一玩取中间数猜数字的玩法,从玩中入手,体会其思想,为后面学习二分查找学生和老师 做好铺垫。互动反馈。学生第一次接触取中间数猜数字,只是口头讲解游戏规则,学生不一定能理解。所以让师生互玩,给学生做个示范,示范如何玩,让学生在游戏中了解游戏规则,了解怎么玩。学生互玩猜 清楚了规则以后,让数字 学生互相猜数字就更加得心应手了。学生通过自己设置数字收尾,互猜数字,在玩学生回答 乐的过程中明白取中间数猜数字的含义。找”,就是在对方指定的数字范围内查找目标数字。三、巧设 算法,探 1、前面我们用了两种方法来 查找数字。接下来我们试着 学生回答 10 分钟究解密 把它们设计成算法。你会吗? 将完整的流程图画出2、顺序查找。假设数字范围为 1 到 100,从小到大按顺序排列,目标数字为 37,用变量 da 表示;取到的数字用变量 cai 表示。请你们认真思 考,并将下面的流程图补充 学生把顺序查找的流程图补充完整 来,很费时间,所以我在这里设计用流程图填空的形式,将重点内容空出来让学生填写。让学生既节约 了时间,又能通过填完整。(流程图见表格最后图 写流程图,了解此算1) 3、二分查找。顺序查找的算法难不倒你们了,那么二分 学生把二分查找的流程 法的核心思想。查找的算法怎么设计呢?同 图补充完整一个例子,数字范围为 1 到100,从小到大按顺序排列, 目标数字为 37,用变量 da 表示;计算得到的中间值用变量 cai 表示;用变量 cz 和 zz 表示可取数的范围。请你把下面这个流程图补充完整。(流程图见表格最后图 2)四、算法 验证,严 1、以上两个算法对不对呢? 我们可以通过编写程序或流 用两种不同的验证方 式来验证算法,让学 10分钟密推敲 程图的执行进行验证。 生体会验证方式有多2、顺序查找算法验证。请你试着在thonny 软件中试着写一写。 学生尝试在thonny 中 编写程序 种可以选择。 通过在thonny软件中编写程序,验证前面的算法是否正确,同时进一步了解“顺序算法”。3、经过验证,第一种算法正确吗?提示:这里的 break 语句的作用是终止所在的循环。4、很棒!接下来加大难度: 上述程序中,若变量 da 的值 学生思考回 答问题变为 137,程序运行结果会是什么呢?试一试。 5、如果要显示对应的提示, 该如何修改程序? 6、恭喜你们,答对了!接下来,我们用流程图来验证二分算法的正确性吧! 7、二分算法验证。 学生思考回答 通过换一个例子,让学生通过改写程序, 进一步掌握顺序算法。 换一种验证方式,给学生新鲜感。通过表格的填写,了解二分算法。 换一个数值让学生改变表格内容,进一步了解二分算法的核心思想。循环 次数 cai Cz zz123通过表格的形式列出变量cz、zz 和 cai 的值来验证该算法。请同学们把这张表格补充完整。 8、加大点难度:如果变量da 的值为 137,cz 初始值为1,zz 初始值为 200,那么这张表格又该怎么填呢? 学生填写表格 学生操作五、拓展 提升,拓 1、前面我们就“猜数字”这 个游戏想出了顺序查找和二 学生思考 算法没有好坏之分, 但是学生在这一块常 7 分钟宽视野 分查找 2 种算法,并用编写 程序和流程图的执行进行了 常存在误区。通过有 序数列和无序数列的验证,大家都熟练地掌握了。 比较,让学生意识到通过体验,你觉得哪一种算 应该从实际出发寻找法更好? 合适的算法,实际问2、如果老师给的数列是无序 的,还是二分查找好吗? 题实际分析。3、说得很对!没有哪一种算 法是最好的,要从实际问题出发,用合适的算法解决不同问题。 学生思考不4、老师再给大家出个拓展题,考考大家。计算 1+2+3+… +100 的和。你们能想出几种 算法? 同算法 拓展题,面向学有余力的同学。对于前面的案例没掌握的同学 继续巩固前面的知识,而已经熟练掌握的同学,可以尝试做一做拓展题,实现分层教学。六、自我评价,精益求精 1、同学们,今天你有什么收获吗? 2、请你根据自己本节课的表现,给自己打打分吧! 三颗星:学会设计顺序查找和二分查找的算法。 四颗星:能通过编写程序或流程图的执行验证算法。 五颗星:知道选择合适 的算法解决不同的问题。 学生说收获学生自评 在项目评价环节,我设计了三个档次作为评价量规,通过自我评价回顾本节课的知识,查漏补缺,将新知识内化到自身已有的知识结构中。 3 分钟附 : 流程图 图1: 图2: 展开更多...... 收起↑ 资源预览