第3课 算法设计
【单元内容分析】生活中人们运用算法解决各种问题,借助计算机程序实现算法可以提高解决问题的效率。本单元从问题的解决、抽象与建模、算法的设计、算法的程序体验、算法的执行的完整过程让学生经历算法的实现,并且通过投票、鸡兔同笼和猜数字的案例让学生在算法的设计与算法的验证中做中学,用中学。
【单元教学目标】通过本单元的学习,知道在计算机中实现算法的一般步骤,理解算法与计算机程序之间的关系,利用算法与计算机程序解决生活中的简单问题。针对求解问题所分析出的条件与目标结果进行抽象建模,能够合理运用三种基本控制结构及其组合设计算法,通过编写程序对算法进行验证,理解计算机执行算法的过程;体验阅读、修改、运行、编写计算机程序,理解算法与计算机程序的关系;能在日常学习与生活中自觉利用计算机领域的常用算法设计问题求解问题,将算法思想迁移到实际的学习与生活中。
教学内容分析
本课学习内容选自浙江省小学信息科技新教材六年级上册第一单元《算法的实现》中第3课。本课旨在让学生了解经典算法中的枚举法的含义,并且能够利用枚举法来解决“鸡兔同笼”的问题,认识到算法设计的一般过程。
学习者分析
通过之前的五上五下的学习学生对算法的描述(流程图和自然语言),分支结构、循环结构、经典的数学“鸡兔同笼”问题和数学领域中的枚举法有一定的了解,具备一定的学习基础,但是对于如何用自然语言或者流程图来完整的表达出枚举法的思想还是存在一定困难,需要用具体的案例并且借助学习支架进行直观的理解。
教学目标
教学目标 核心素养指向
1.通过生活中具体案例的分析,理解枚举算法思想:枚举对象、枚举范围、正确解的判断条件。2.通过设计“鸡兔同笼”问题的算法,掌握枚举法解决问题的一般方法,初步树立运用经典算法思想解决问题问题的意识。3.理解枚举法在密码破译方面的影响,从而树立信息安全意识。 计算思维:能够根据问题的需要选择合适的算法,根据其特点确定算法框架并用流程图进行算法的描述。
教学重点和难点
项 目 内 容 解 决 措 施
重点 掌握枚举法解决问题的一般方法。 运用“鸡兔同笼”问题,迁移运用。
难点 理解枚举算法思想。 运用“密码锁”案例,师生互动,理清要素。
课前准备
1.课件 2.学习任务单 3.密码锁小程序 4.“鸡兔同笼”枚举表格
课堂教学过程设计
教学环节1:破解密码,探索枚举
学生活动 教师引导活动 设计意图
1.解密:打开【解锁行李箱密码】文件尝试破译2.交流:学生交流破译密码的思考过程。3.梳理:学生用自然语言的方式说一说解密过程。4.活动一:完善“密码锁”解锁的流程图。思考枚举的范围和正确解的判断条件。 1.导入:陈老师为大家准备了一份见面礼,但是锁进了行李箱中,邀请全班学生一起来破译密码。已知前面两位是88,最后一位范围是0~9。2.交流:采访学生刚才破译的思路是如何?3.互动:如果让计算机来破译这个密码,教师启发学生思考解锁过程中密码的范围、取值的顺序和判断的条件。4.活动一:根据自然语言修改完善“密码锁”解锁的流程图。 通过行李箱密码解锁的真实情境帮助学生直观的理解枚举法的三要素:枚举对象、枚举范围、正确解的判断条件,为后续算法的设计做好铺垫。
教学环节2:借助结构,确立框架
学生活动 教师引导活动 设计意图
1.思考:枚举算法中用到了哪些控制结构?2.抽象:枚举算法的关键点:枚举对象、枚举的范围、正确解的判断条件、按照顺序不重复不遗漏,并且通过“密码锁”流程图抽象出枚举算法基本框架。3.思考:枚举法在密码破解中的安全问题。 1.比较迁移:出示分支结构和循环结构的一般图示,引导学生思考【分支结构】可以判断是否满足正确解的条件,【循环结构】可以实现范围内的不断枚举。2.小结:枚举算法的基本框架,与控制结构建立联系。3.提问:为什么在登录网站、APP、ATM提款机时,系统要限制用户输入密码的尝试次数? 从密码锁案例中抽象出枚举算法的框架,为后面的迁移应用做铺垫,此外也树立信息安全意识,意识到可以用限制次数的方式防止用枚举法破解密码,人人都要负责任地使用枚举法。
教学环节3:鸡兔同笼,应用枚举
学生活动 教师引导活动 设计意图
1.回顾:上一课“鸡兔同笼”抽象与建模的结果。2.假设猜想:“鸡兔同笼”可以用枚举法解决。小组讨论借助上面的表格和公式,思考运用枚举算法,鸡兔同笼问题中枚举的对象、范围和判断条件分别是什么?3.计算验证:完成活动二,体验“鸡兔同笼”枚举的具体计算过程。4.应用枚举:学生借助枚举算法框架设计“鸡兔同笼”的算法。 1.回顾:上节课我们借助表格抽象出“鸡兔同笼”的关键要素,然后利用公式建立了模型。2.提问:“鸡兔同笼”中有两个对象,可以用枚举法解决问题吗?3.活动二:打开excel文件计算验证“鸡兔同笼”的枚举过程。4.活动三:根据表格,任选星级任务,应用枚举设计“鸡兔同笼”的算法。 通过上节课的学习,“鸡兔同笼”的问题学生已经经历了抽象与建模,但是还没有进行算法设计,在深入理解枚举算法后,让学生进行迁移应用,利用表格分析和Excel计算过程的学习支架为学生的思维迁移铺好桥梁,同时活动三的星级设置照顾到不同层次的学生,让不同层次的学生都有思维的锻炼。
教学环节4:课堂评价,感知意义
学生活动 教师引导活动 设计意图
1.自评:学生打开问卷星“算法设计评价”完成思考,并且了解自己相应获得的星级情况。2.回顾:本节课用自己的语言说一说算法设计的一般步骤。3.感知:学习算法设计的意义。 1.课堂评价:生活中有哪些枚举法的应用?下发问卷星评价学生理解应用情况。2.课堂小结:算法设计的一般步骤是什么?预告第二单元韩信点兵问题中还会认识到更多算法比如筛选法、同余法。3.总结:算法是连接问题与解决方案之间的桥梁。我们设计算法就是希望计算机能够来解决复杂的现实问题。 课堂小结以复盘的形式让学生再次整体感知算法设计的一般步骤,意识到遇到具体问题的时候,要合理选择算法并且确定算法框架,并用自然语言或者流程图来精准描述,以便后续计算机思考和执行。