资源简介 六年级第一单元第5课《算法的执行》学案一、学习内容算法是计算思维的核心要素之一,是培养学生信息意识和计算思维的重要载体。《算法的执行》选自浙江省义务教育2023版信息科技教科六年级上册第5课,是第一单元《算法的实现》的第5课。通过本单元的学习,学生能知道在计算机中实现算法的一般步骤,理解算法与计算机程序之间的关系,培养运用算法思维的习惯,利用算法与计算机程序解决生活中的简单问题,也为后续理解和分析算法的效率奠定知识基础。 本课与其前后两课紧密相连。在上一节课中,学生知道了算法可以用不同的程序语言表示,认识了python编程环境,学习了python基础编程语句和语法规则,能够初步解读“鸡兔同笼”程序代码。本课在此基础上,让学生体验运行“鸡兔同笼”程序和单步调试,加深对算法和计算机程序之间关系的理解,引导学生感受到用计算机程序解决问题的高效性、准确性。基于对算法的理解,设置和调整参数,观察相应程序的执行,通过观察并记录调试过程,引导学生发现问题而后完善算法、修改程序,帮助学生建立完整的“分析问题-设计算法-编程实现-验证修改”循环迭代的解决问题思路。通过本课的学习,学生能够进一步加深对算法与程序之间关系的理解,掌握运用计算机解决问题的一般方法,初步形成设计与实现算法的能力。二、学习要求学习目标核心素养指向1. 通过运行“鸡兔同笼”程序获得计算结果,掌握用IDLE Shell软件执行python程序的方法。 2. 通过在IDLE Shell执行单步调试,掌握在程序运行过程中观察参数变化情况的方法。 3. 通过观察、跟踪、分析程序每一步运行的结果,掌握通过程序验证算法的正确性的方法。 4. 在教师的帮助下,通过调整参数和修改代码,完善“鸡兔同笼”程序,进而体会到好的算法可以解决同一类的问题,而不局限于某一个特定的问题。1. 体验计算机根据既定步骤完成高速、准确的自动化处理,感受计算机解决问题的优势。 2. 感受算法与程序的对应关系,理解程序逐步解决问题的过程。 3.在通过程序验证算法的过程中,继续发现问题并修改和完善算法,形成测试修正、迭代优化的意识。三、学习资源IDLE运行python程序: 在IDLE中运行python语句: “鸡兔同笼.py”程序 实验单四、学习方式探究性学习:在知识储备上,本届六年级在此前接触python时间较短,而python作为高级编程语言在入门上较为困难,需要记忆和理解的概念性知识较多,学生从Scratch进阶到python时可能会遇到诸多困难;但在学习能力上,六年级的学生愿意独立思考、探究问题,能够主动查找资料,自己动手解决问题,他们也更加善于发现问题、分析问题和解决问题,具有一定的独立思考能力。因此本课采用探究性学习,通过问题驱动、自主尝试,引导学生逐步挖掘概念背后的含义,提供通道帮助学生从已掌握的知识迁移到新的知识,进而进行意义的建构,加深对概念性知识的理解。 体验性学习:六年级的学生正处于从具象思维到抽象思维的过渡时期,能够从直接观察单步调试过程中数据的变化,抽象出关键的要素;他们能够想象出各种情境和场景,对事物有更深刻的理解和感悟,因此可以模拟、演绎和理解算法运算的过程。通过体验单步调试,学生能够将实际体验和抽象概念建立联结,引发学生形成自然的认知关联,形成算法思维,培养和发展元认知。 合作学习:六年级学生已经初步学会分工合作,能够与团队成员进行有效沟通,表达自已的想法和意见,听取他人的观点和建议,能够根据任务需求进行合理的分工,协同完成各自的工作,相互支持与帮助,可以形成良好的小组合作学习,提升学习效率。五、学习过程(一)复习导入 1. 解读程序,回顾旧知 师:上节课,我们认识了python程序语言和它的集成开发环境IDLE。 出示“鸡兔同笼”python程序,请学生说一说每条语句的含义。 2. 提出问题,引出新知 师:你能说出这个程序执行的最终结果吗? 学生表示一下子说不出来。 师:使用计算机运行这段程序,就能瞬间得到求解问题的答案。本节课,就让我们尝试用计算机运行程序,观察程序运行过程中和最终的执行结果,检验我们上节课设计的算法是否正确。 出示课题:算法的执行(二)运行程序,验证算法 1. 观看微课,运行程序 观看“IDLE运行python程序”微课,结合课本,跟随教程自主尝试打开“鸡兔同笼.py”程序并运行。 在IDLE Shell窗口中观察程序的运行结果,并做记录,与预期执行结果进行比对,从而得出上节课设计的算法是否正确的结论。 预期结果执行结果验证算法是否正确23只鸡,12只兔。填写实验单相应部分。(三)单步调试,尝试修改 1. 发现问题,体验调试 师:刚才老师运行程序之后,发现IDLE Shell窗口迟迟没有出现运行结果。可能是什么原因? 学生各种猜想。 师:计算机的计算速度很快,如果直接运行程序,我们只能观察到运行的最终结果,在这个过程中发生的事情,很难检查。 引出“单步调试”,请学生上台演示单步调试的方法,全体同学一起观察Debug Control对话框调试程序中变量值的变化。 发现tu变量的值一直没有增加,找出问题是循环中没有tu=tu+1语句。 请学生说一说“单步调试”的作用,和它的好处。 2. 单步调试,记录过程 实践1:学生结合课本,在IDEL Shell窗口尝试单步调试,在实验单上记录运行的过程和结果。 实践2:修改代码中鸡兔总的头数和脚数,观察、记录程序运行的过程与结果。 小组讨论:在修改和记录的过程中,发现了什么问题?(四)完善算法,修改程序 1. 小组发言,交流问题 问题1:任意调整参数时可能会出现没有解的情况,程序不输出任何结果。(分支覆盖所有可能) 问题2:每次都要修改python源代码后再重新运行,不方便四年级小朋友使用。(包含键盘输入) 问题3:修改参数为特别特别大的数后,运行需要特别久的时间。(枚举法的不足,可以用假设法直接计算,涉及到算法效率,后续学习) …… 2. 小组合作,完善算法 针对提出的问题,小组讨论解决办法,合作修改流程图。 初次设计的算法流程图 修改后的算法流程图 3. 修改程序,验证算法 将流程图对应的代码语句复制到“鸡兔同笼.py”程序相应的位置,执行程序,观察运行结果;反复操作,验证算法的正确性。(五)交流分享,总结提升 请学生用自己的话说一说用计算机解决问题的流程。 带领学生以思维导图的方式一起回顾总结本节课学习的内容:运行程序、单步调试、 改进算法的过程()。 师:算法没有完美,精益求精,希望同学们能够继续发现问题并提出完善算法的新创想。 展开更多...... 收起↑ 资源预览