内容正文:
《多人过河巧安排》教学设计
教材版本:义务教育信息科技课程资源(五年级)
课时安排:1课时(40分钟)
授课对象:五年级学生
一、教材分析
本课是五年级第七单元第一课,基于2022年版课标"身边的算法"模块,学习问题分解与规划算法思想。教材以"10个成年人过河"经典问题为载体,通过"情境分析→拆解小问题解决→流程图描述→规律提炼"的探究路径,引导学生体验"将大问题化整为零、用循环解决重复性子问题"的算法设计策略。本课是算法思想的"综合实践课",既是对前期循环结构、流程图绘制的应用迁移,又是对分治思想的生活化启蒙,为后续学习更复杂的规划问题(如任务调度、路径规划)奠定思维基础,体现"科"(问题分解思想)与"技"(流程图表达)并重的课程理念。
二、学情分析
1.认知基础:学生已掌握while/fr循环结构、流程图绘制规范,能用循环解决数值计算类重复问题,但对"规划类问题"中状态空间(少年位置、船的位置、人在两岸的分布)的抽象与建模缺乏经验;对"大问题→小问题→循环解决"的自顶向下设计思想尚未建立。
2.能力特点:对角色扮演类情境(划船、过河)参与热情高,具备初步的逻辑推理与方案设计能力,适合在"故事演绎→步骤拆解→流程固化→规律提炼"的沉浸式体验中建构分治与规划思想。
3.学习障碍预测:难以将"送1个成年人过河"的4步操作识别为"可复用的子程序";对"循环10次"的循环变量设计(如fr adult in range(10))与实际问题中的"10个成年人"建立抽象映射困难;对"少年位置变化"的状态追踪易遗漏,导致流程图分支条件(如"哪个少年在对岸")表达不完整。
三、教学目标(对应核心素养)
1.计算思维:通过解决"10个成年人过河"问题,能描述"分解问题→设计子方案→循环复用→组合解决"的规划算法四步法,理解循环结构在解决重复性子问题中的模式化应用。
2.信息意识:感知问题规模(10人 vs 20人)对算法可扩展性的影响,体会"设计可复用子程序"是提升算法通用性的关键,理解算法设计需权衡问题复杂度与代码简洁性。
3.数字化学习与创新:能补全过河问题的流程图(含循环框、子程序调用框),并尝试用自然语言描述"通用子方案",初步体验模块化设计的创造乐趣。
4.信息社会责任:认识到"问题分解"是工程思维的核心,理解"化整为零、各个击破"是解决复杂问题的普适策略,养成"面对复杂问题先拆解、再规划、后执行"的系统化问题求解习惯。
四、教学重难点
重点:理解规划算法"识别可复用子方案、用循环解决重复性子问题"的核心思想,掌握"送1个成年人过河"的4步标准操作及其流程图表达。
难点:将"4步操作"抽象为独立于具体成年人的通用子方案,并在流程图中用循环结构(而非展开10次)实现;理解"每次循环后状态回归起点"(两少年都在起点岸)的不变性,确保子方案可复用。
五、教学准备
教师准备:教学课件、10张"成年人"角色卡、2张"少年"角色卡、1条"小船"模型、过河示意图磁贴(河岸、船、人)、流程图磁贴(循环框、子程序框)、Pythn程序(过河问题动画演示.py)、学习单(含子方案记录表、流程图补全、规律提炼)。
学生准备:记录本、复习循环结构,思考"如何用循环解决重复操作"。
六、教学过程
环节一:情境导入,任务驱动(3分钟)
活动1:探险队过河挑战
情境创设:教师播放"探险队遇河"动画,展示问题情境:"10个成年人+2个少年+1条小船,船只能载1成人或2少年,全部过河需要几步?"
头脑风暴:学生自由发言(可能说"一个一个过"、"让少年来回接"),教师不评判,板书关键词"船小、人多、来回"。
目标揭示:"这种'多人→单人→循环'的智慧就是规划算法,今天我们一起当过河总调度!"
设计意图:从真实困境切入,制造认知悬念,激活学生生活经验中的"分批处理"意识,自然引出问题分解与规划算法主题。
环节二:任务分析,拆解子问题(10分钟)
活动2:解剖一个成年人的过河之旅
1.条件梳理(3分钟)
课件展示:过河示意图(左岸:10成人+2少年+船,右岸:空,河:宽)。
提问引导:"船能载1成人或2少年,意味着什么?"(不能载成人+少年)"少年能单独划船吗?"(能)"成人能单独划船吗?"(能)
学习单任务一:学生用简笔画在学习单上画出"初始状态",标注各元素位置。
2.子方案发现(5分钟)
教师演示:用角色卡实物模拟1个成年人过河:
1.2少年过河(左岸:10成人,右岸:2少年+船)
2.少年A返回(左岸:10成人+少年A+船,右岸:少年B)
3.1成人过河(左岸:9成人+少年A,右岸:少年B+1成人+船)
4.少年B返回(左岸:9成人+少年A+少年B+船,右岸:1成人)
学生模仿:每组用角色卡模拟一遍,填写学习单任务二《1个成年人过河步骤表》。
3.可复用性识别(2分钟)
追问:"第4步完成后,状态与初始状态有何异同?"(少1个成人,少年和船都在左岸)"这种状态能重复用吗?"(能!)
提炼:板书"子方案:送1成人过河,状态回归起点",强调可复用性。
设计意图:通过实物模拟将动态过程静态化、步骤化,在操作-观察-对比中理解"子方案"的独立性与可复用性,为循环设计奠定认知基础。
环节三:流程图表达,算法形式化(8分钟)
活动3:把聪明办法"画"出来
1.子方案流程图(4分钟)
教师示范:在黑板上绘制"送1个成年人过河"的子流程图(用子程序符号:矩形+双竖线)。
磁贴拼搭:学生用流程图磁贴在学习单上拼出子流程图(4个处理框+箭头)。
2.主方案流程图(4分钟)
问题驱动:"10个成年人都要过河,怎么画?画40个框吗?"(用循环)
课件展示:主流程图框架:开始 → 初始化cunt=0
↓
┌─────────────────────┐
cunt < 10 ?
└──────┬──────────────┘
是
↓
┌──────────────────────┐
调用"送1成人过河"子程序
└──────┬───────────────┘
↓
cunt = cunt + 1
└─────────┐
↓
结束
学习单任务三:学生补全判断条件cunt < 10和更新语句cunt = cunt + 1。
设计意图:通过子程序符号引入模块化思想,通过主循环框架将10次重复操作压缩为一个循环结构,重点突破"循环变量cunt与实际问题数量10的映射"。
环节四:规律提炼,算法升华(8分钟)
活动4:过河问题的算法内核
1.规划思想总结(3分钟)
师生共建:板书"规划算法四步曲":
第1步:分解(10人→1人)
第2步:设计(设计送1人4步法)
第3步:复用(循环10次)
第4步:组合(10次后全部过河)
学习单任务四:学生用100字写下"我理解的规划思想"。
2.规模扩展讨论(3分钟)
提问:"如果是20个成年人过河,算法要改吗?"(只改循环次数,子方案不变)
学习单任务五:计算20人需要多少步(4×20=80步),体会"改一个数=解决一类问题"的参数化优势。
追问:"如果有1000人呢?步骤多吗?"(多但清晰,算法复杂度(n),比盲目尝试可靠)
3.算法价值思辨(2分钟)
对比:"有人想'一个一个试,碰运气',对比我们的规划算法,哪个好?"(规划可预测、可验证、可复用)
共识:"规划算法 > 盲目枚举",养成"先思考结构,再动手执行"的工程习惯。
设计意图:通过规模扩展与价值思辨,引导学生从具体案例上升到通用算法思想,理解"问题分解+循环复用"是应对复杂问题的核心策略,培养算法鉴赏能力。
环节五:拓展应用,迁移挑战(8分钟)
活动5:狼羊白菜过河
1.问题呈现(2分钟)
课件展示:拓展任务:"猎人+狼+羊+白菜过河,船载猎人+1物,猎人不在时狼吃羊、羊吃白菜,如何安全过河?"
难度提示:"这比10个成年人难多了,为什么?"(有约束条件,状态不能出错)
2.小组探究(4分钟)
分工任务:每组用纸片模拟狼、羊、白菜,尝试找出安全过河序列(答案:7步)。
记录要点:学习单任务六:画出状态转移表(每步左岸剩什么),理解"状态约束"对算法的影响。
教师巡视:对卡住的组提示:"先送羊,再想办法隔离狼和白菜"。
3.算法对比(2分钟)
提问:"狼羊白菜问题能用'循环10次'解决吗?"(不能,每步操作不固定,需动态规划或图搜索)"说明什么?"(问题分解有前提:子问题必须同质可复用)
设计意图:通过更复杂的过河问题制造认知冲突,引导学生发现"规划算法"的适用边界,理解"非同质问题"需更高级的算法策略,为后续学习图算法埋下伏笔,培养算法选择的批判性思维。
环节六:总结作业,分层拓展(3分钟)
活动6:要点回顾与问题迁移
要点回顾: 学生总结"规划算法 = 分解 + 设计 + 循环复用",教师强调"子问题可复用是规划的前提。
作业布置:
必做: 完成学习单"把20个成年人过河问题.用流程图描述"(只需修改循环条件)。
选做(二选一):
A.设计类: "10个探险队员过河,但船能载1成人+1少年",重新设计子方案并画流程图。
B.研究类: 查找"狼羊白菜问题.的7步最优解",写出每步状态,思考"为什么7步是最少的"(提示:用广度优先搜索思想)。
设计意图:必做巩固参数化设计能力,选做A挑战约束条件变化下的算法重设计,选做B渗透最优性证明思想,保持学习的深度与广度。
七、板书设计
第24课 多人过河巧安排
规划算法 = 分解 + 循环
子方案(送1成人):
① 2少年过河
② 少年A返回
③ 1成人过河
④ 少年B返回
主方案:
cunt=0
while cunt < 10:
执行子方案
cunt = cunt + 1
拓展:狼羊白菜问题
(有约束,不能简单循环)
八、作业设计
必做作业:用流程图描述"20个成年人过河"问题,要求包含循环结构与子程序调用框,并写出自然语言算法描述。
选做作业(二选一):
A.约束变化类: "船可载1成人+1少年",重新设计4步送1成人子方案(提示:第1步需成人+少年过河),并标注状态变化。
B.最优解研究类: 用表格列出"狼羊白菜问题."的7步最优解,每步标明左岸物品、船上物品、右岸物品,并思考"第3步为何必须空手返回"。
九、教学评价设计
评价维度
评价指标
评价工具
评价主体
算法理解
能描述送1成人过河的4步操作及可复用性
学习单任务二
教师观察+自评
流程图能力
能补全主流程图的循环条件与更新语句
学习单任务三
教师批改+互评
规划思想
能说出"分解→设计→循环"的三步结构
课堂讨论
教师评价
拓展探究
能找到狼羊白菜问题的安全解(不要求最优)
学习单任务六
教师评价+互评
十、教学反思要点
1.子方案的可复用性识别:学生可能不理解"第4步后状态回归起点"的关键作用。需准备" 状态对比表",每步后都记录"左岸人数、船位置、少年位置",直观展示第4步后状态与初始状态只差1个成人,强化"可复用"概念。
2.循环变量的命名与映射:用cunt或adult_num代表"已送过的成年人数",学生可能混淆是"已送"还是"剩余."。需命名规范化:推荐cmpleted_adults表示已完成,语义更清晰,同时渗透"变量命名即注释"的编程规范。
3.流程图绘制的细节指导:学生画循环时可能忘记画"否"分支的跳出箭头,或子程序框符号不规范(应双竖线)。需准备流程图绘制自查清单(①判断框有Yes/N ②循环有回归箭头 ③子程序框有双竖线),让学生互评互纠。
4.时间分配的动态调整:环节五"狼羊白菜问题"可能因难度过高而卡壳。需准备分层提示卡:
提示1(基础):"先送羊过河,再考虑狼和白菜不能独处"
提示2(进阶):"第2步必须空手返回,否则违反约束"
提示3(高阶):"最优解共7步,需3次去对岸,4次返回"
5.生成性资源的深度利用:收集学生设计的船容量变化子方案(如载2成人),作为下节课"NP难问题"的引入素材("船容量越大,问题越简单;容量越小,组合爆炸越严重"),渗透算法复杂度与约束强度的关系。
学科网(北京)股份有限公司
$