资源简介 第九课 算法的评价方法一、学习内容分析本课是浙江省小学信息技术六年级上册第二单元《算法实现》第2课。本课承接前一课的学习内容,也就是学生在知道了算法的多样性后,需要考虑算法的“好”与“差”的问题,能够在设计算法时选择恰当的算法。教材包括两块内容:算法评价的方法以及算法评价体验。解决同一个问题可能会有很多种算法,不同算法的效率也有可能是不一样的。为了让学生能重好地运用时空观念分析评价算法,本课安排了估算算法运行时间的一般方法,并结合猜数字游戏问题,讨论顺序查找和二分查找两种算法解决问题的效率。在教学过程中,一方面,学生要有机会来“数一数”一个算法的某些操作在特定输入数据条件下被执行的次数;另一方面,教师要能够向学生展示(通过程序)同一个算法在不同输入数据下的执行时间,以及针对同一个问题不同算法的效率差别。因此,在教材中,估算执行时间主要以循环语句的执行次数作为度量标准,并通过解决猜数字游戏问题的顺序查找和二分查找算法的效率做对比,帮助学生掌握算法评价的方法,进一步增强效率意识。二、学情分析本课学习对象为六年级的学生,在前面的8节课程里,学生已经掌握了算法解决问题的一般过程,并能运行python程序对算法进行执行、验证,但阅读、编写程序的能力较弱。他们知道算法具有多样性,且容易理解不同算法的效率不同。同时,他们善于合作,乐于实践,初步具备探究影响算法执行效率的有关因素的能力,但修改程序增加计数功能还是有一定难度。学习目标教学目标 核心素养指向1.通过“数”和“运行”对比不同算法中循环的执行次数,认识到解决同一个问题的不同算法可能存在时间效率上的差别,初步掌握算法效率评价方法。 2.通过不断修改目标数与范围的实验,不同维度比较语句的执行次数,深入理解算法的时间复杂度,形成算法效率意识。 【计算思维】通过对比实验,让学生认识到不同算法解决同一问题可能存在时间效率上的差别,培养学生的计算思维。 【数字化学习与创新】通过修改查找范围的参数并运行程序,验证算法的执行次数与数据规模有关,培养数学化学习与创新能力。四、教学重难点教学重点:初步掌握算法效率评价的方法。教学难点:多种算法的效率比较。通过小组合作、实践探究、对比实验、分析归纳辅以教师指导等多种方式逐一突破。五、课前准备学习资源:教学课件、学习单、两种算法猜数字的程序,对比实验的统计表。六、学习过程(一)旧知回顾,揭示课题学习内容与活动 设计意图1.旧知回顾、铺垫新课 (1)提问:解决猜数字问题有哪几种算法? 巩固旧知:算法的多样性、顺序查找法及二分查找法。 2.问题促思、揭示课题 (1)追问:解决某个问题可能有多种算法,怎么来评价算法的“好”与“差”呢? 引发学生思考。 (2)揭示课题:算法的评价方法 回顾上节课的知识点,为本节课做铺垫,本节课是延续上节课的案例。 学生先自己提出评价方法,后续再展开探究。(二)初步感知算法评价方法学习内容与活动 设计意图1.设问:如果这个算法不能解决问题,是“好”的算法吗? 2.思考:使用二分查找法和顺序查找法猜数字,你认为哪个算法好?为什么? 3.总结算法的评价标准: (1)首先满足正确性,能解决问题; (2)算法的运行时间短、运行效率高。 4.思考:怎么能知道算法的运行时间? 5.提出驱动性问题:算法的运行时间与哪些因素有关。 从学生已知的案例分析算法的评价标准,再延伸到一般算法的评价方法。 从评价标准提出疑惑:怎么知道算法的运行时间,进而提出驱动性问题。本节课开展微项目探究学习。(三)问题猜想、实践探究学习内容与活动 设计意图问题支架、提出猜想 猜一猜:使用二分查找法在1~100之间与1~1000之间猜一个数字,算法的运行时间一样吗? 提出猜想:算法运行的时间与问题规模有关系。 思考:如何计算二分查找法猜数字的运行时间呢? 想一想:哪个算法运行时间少? 算法1:计算机运行100次代码语句 算法2:计算机运行10000次代码语句 提出猜想:算法运行的时间与语句执行次数有关系。 实践探究、估算运行时间 学习活动1: 数一数:用顺序查找算法在1~100范围内查找数73的程序,计算机需要执行循环语句多少次? 试一试:尝试修改程序,增加一个变量ci来统计while语句的执行次数,并显示数值。 运行体验:(1)运行“二分查找法—次数统计”程序,查看循环语句的运行次数。 (2)对比“顺序查找法”,哪种算法运行次数少,效率更高? 先让学生提出猜想。通过设置问题支架,引导学生猜想的方向。 通过实践探究,让学生对比不同算法的不同效率。(四)运行实验、验证猜想学习内容与活动 设计意图学习活动2: 1.分别运行两个带有时间计数功能的程序,分别记录运行时间,保留小数点后7位。 2.你发现了什么? 验证猜想: 算法运行的时间与语句执行次数有关系。 语句执行次数越少,算法运行时间越少。 学习活动3: 1.不断增加猜测范围的参数,运行程序,记录“二分查找法”查找目标数73的运行次数。 2.你发现了什么? 验证猜想: 算法运行的时间与问题规模有关系。 问题规模不同,算法的运行时间不同; 问题规模越大、所需运行时间越多。 问题规模越小、所需运行时间越少。 学习活动4: 在1~100范围内,分别采用顺序查找法和二分查找法,查找不同目标数。 小组合作:一人运行程序,分别查看两种算法执行循环的次数。一人填写表格,记录数据。 你发现了什么? 新发现:算法运行的时间与目标数有关系。 通过运行带有时间计数功能程序,学生可以发现循环语句执行次数越多,运行时间越多。进一步验证了前面的猜想:运行时间与语句执行次数有关。 通过修改范围参赛,学生可以发现范围越大,运行时间越多。进一步验证了前面的猜想:运行时间与问题规模有关。 进一步通过修改目标数,学生可以发现并不是所有的目标数都是二分查找法比较快,进而得数运行时间与目标数有关,推翻了开始的想法。(五)迁移应用、梳理总结学习内容与活动 设计意图迁移应用: 解决猜数字问题的三种算法,请你再来评价一下哪种算法好? 梳理总结: 请同学说一说本节课收获。 梳理总结本节课知识点。 通过本节课的学习,再让学生重新评价一下解决猜数字问题的三个算法,学生会用辩证的思维来评价。板书设计:《算法的评价方法》好算法的评价标准:正确性、高效性。问题规模算法运行时间 语句执行次数目标数的值(共15张PPT)旧知回顾解决猜数字问题有哪几种算法?2、二分查找法算法的多样性1、随机查找法3、顺序查找法初步感知算法评价方法解决某个问题可能有多种算法,怎么来评价算法的“好”与“差”呢?如果这个算法不能解决问题,是“好”的算法吗?算法的评价方法《信息科技》六年级上册初步感知算法评价方法1、首先满足正确性,能解决问题2、算法的运行时间短、运行效率高“好”算法的评价标准:驱动性问题:影响算法运行时间的因素驱动性问题:算法的运行时间与什么因素有关呢?问题猜想:影响算法运行时间的因素猜一猜:使用二分查找法在1~100之间与1~1000之间猜一个数字,算法运行的时间与( )有关系。问题的规模思考:如何计算二分查找法猜数字的运行时间呢?算法的运行时间一样吗?问题猜想:影响算法运行时间的因素想一想:算法1:计算机运行100次代码语句算法2:计算机运行10000次代码语句两种算法的运行时间一样吗?一个算法中的语句执行次数,称为时间频度。算法运行的时间与( )有关系。语句执行次数实践探究:估算算法的运行时间学习活动一:1.用顺序查找算法在1~100范围内查找数73的程序,计算机需要执行循环语句多少次?2.尝试修改程序,增加一个变量ci来统计while语句的执行次数,并显示数值。数一数:估算一个算法的运行时间时,可以在问题规模相同的情况下,将算法中循环语句的执行次数作为度量标准。试一试:小锦囊:实践探究:估算算法的运行时间2.对比“顺序查找法”,哪种算法运行次数少,效率更高?在1~100范围内查找目标数73,使用二分查找法时,计算机运行循环语句的次数是多少?1.运行“二分查找法—次数统计”程序,查看循环语句的运行次数。运行体验:实验验证:影响算法效率的因素1.分别运行两个带有时间计数功能的程序,分别记录运行时间,保留小数点后7位。2.你发现了什么?算法运行的时间与( )有关系。语句执行次数语句执行次数越 ,算法运行时间越 。多长学习活动二:实验验证:影响算法效率的因素试一试:修改范围参数,在1~1000范围内查找目标数73,二分查找法的运行次数是多少?1.不断增加范围,二分查找法的运行次数是多少?填写学习单。2.你发现了什么?算法运行的时间与( )有关系。问题的规模学习活动三:问题规模不同,算法的运行时间 ;问题规模越大、所需运行时间 。问题规模越小、所需运行时间 。不同越多越少实验探究:影响算法效率的因素学习活动四:1.一人运行程序,分别查看两种算法执行循环的次数。2.一人填写表格,记录数据。目标数 查找算法 循环执行次数 平均次数 1 顺序查找法 顺序查找法二分查找法 50 顺序查找法 二分查找法 二分查找法100 顺序查找法 二分查找法 你的发现3.你发现了什么?在1~100范围内,分别采用顺序查找法和二分查找法,查找不同目标数。小组合作算法运行的时间与( )有关系。目标数的值输入数据的值迁移应用:评价算法解决猜数字问题的三种算法,请你再来评价一下哪种算法好?2、二分查找法1、随机查找法3、顺序查找法课堂总结算法的执行效率与哪些要素有关?问题规模语句执行次数数据的值有什么样的关系?算法的评价方法:正确性、高效性。下课啦!请同学们关闭电脑,椅子归位,排队有秩序离开微机室。对比实验验证不同算法的效率序号 目标数 查找算法 循环执行次数 平均次数1 顺序查找二分查找 顺序查找法2 顺序查找二分查找 03 顺序查找二分查找 二分查找法4 顺序查找二分查找 05 顺序查找二分查找6 顺序查找二分查找7 顺序查找二分查找8 顺序查找二分查找9 顺序查找二分查找10 顺序查找二分查找11 顺序查找二分查找12 顺序查找二分查找13 顺序查找二分查找14 顺序查找二分查找15 顺序查找二分查找16 顺序查找二分查找17 顺序查找二分查找18 顺序查找二分查找19 顺序查找二分查找20 顺序查找二分查找《第8课 算法的评价方法》学习单学习活动1:在1~100范围内查找目标数73,请根据要求填写。使用的算法 循环语句执行次数 算法运行时间顺序查找法二分查找法你的发现学习活动2:不断增加猜测范围的参数,运行程序,记录“二分查找法”查找目标数73的运行次数。猜数范围 (数据规模) 1~1000 1~10000 1~100000 1~1000000 1~1000000 ……循环语句 执行次数你的发现学习活动3:在1~100范围内,分别采用顺序查找法和二分查找法,查找不同目标数。目标数 查找算法 循环执行次数 平均次数顺序查找法 顺序查找法二分查找法顺序查找法二分查找法 二分查找法顺序查找法二分查找法你的发现 展开更多...... 收起↑ 资源列表 学习单.docx 对比实验验证不同算法的效率.xlsx 第9课 算法的评价方法.docx 第9课 算法的评价方法.pptx