5.3 运用典型算法(第三课时)(教案)2025-2026学年高教版中职信息技术基础模块(下册)

2026-05-02
| 5页
| 32人阅读
| 1人下载
普通

内容正文:

5.3 运用典型算法(第三课时)(教案) 课 题 5.3 运用典型算法(第三课时) 课型 新授课 主备人 集体备课时间 课时安排 教授人 授课班级 授课时间 教学目标 1. 知识与技能 · 巩固排序算法(冒泡排序、选择排序)和查找算法(顺序查找、二分查找)的核心思想与Python代码实现 · 掌握将多个算法封装为函数、并在主程序中进行综合应用的方法 · 了解递归算法的基本概念、执行流程与终止条件的设置,能应用递归思想解决阶乘计算等简单问题 · 初步建立算法选择和效率分析的意识——能根据数据特征和业务需求选择最合适的算法策略 2. 过程与方法 · 通过“校园手机使用调查数据综合分析平台”单元综合项目驱动,在真实的数据处理业务中整合排序、查找、筛选等多项算法技能 · 通过“递归叠叠乐”类比游戏理解递归算法的执行流程与终止条件,建立从生活体验到算法原理的认知桥梁 · 通过小组合作探究,培养算法思维、代码调试和团队协作能力 · 通过“手动编写—AI生成”算法代码的双模对比体验,建立“效率靠AI、算法设计靠人脑”的新型算法素养 3. 情感态度与价值观 · 感受算法在数据处理中的实际应用价值,激发继续探索算法世界的学习兴趣 · 在算法选择和设计中培养“分析场景→选择策略→验证效果”的工程思维,理解“没有最好的算法,只有最合适的算法” · 在AI编程对比中建立对算法设计价值的认同——“代码生成可以交给AI,但算法策略的选择和验证始终需要人来把关” · 引导学生了解CCF算法能力大赛等前沿赛事,开阔算法学习进阶与职业发展的视野 教学重点 · 排序算法和查找算法的综合应用:将多类算法封装为函数模块,构建完整的数据处理程序 · 递归算法的基本概念、执行流程及其在阶乘计算等简单场景中的应用 教学难点 · 递归算法的执行流程理解——“函数内部自己调用自己”的递推与回归过程,以及终止条件的设置 · 算法选择的策略思维:面对具体的数据处理需求,如何综合数据规模、是否有序、性能要求等因素选择最合适的算法 学习策略 任务驱动法、情境教学法、类比体验法、代码追踪法、小组合作探究法、演示法 设计理念与创新点 1. 综合项目驱动:延续第5单元“校园手机使用调查”项目情境主线,以“开发一个数据分析综合平台”为核心项目——设计一个能同时完成数据排序、目标查找、统计分析和报告输出四大模块的处理脚本。本项目自然衔接前两课时的排序和查找算法成果,将5.2节的函数封装技能与5.3节的算法实现能力整合到一个完整的程序系统中,体验真实的数据分析工作流程 2. 采用“忆—合—跃—拓”四步递进教学链:忆算法(快速回顾排序与查找核心代码要点)→合应用(将算法封装为函数,搭建综合数据分析平台)→跃思维(学习递归新算法,体验“自己调用自己”的编程思想)→拓视野(AI编程对比体验、CCF算法大赛前沿动态),让教学过程从复习到整合到进阶到拓展层层递进 3. “递归叠叠乐”类比体验突破新算法难点:通过故事讲解、结构图分析和代码追踪三步层层推进,将抽象的“函数自己调用自己”转化为可观察的递归过程,降低认知负荷 4. 技能链闭环建构:通过一张单元技能地图展示,将本单元从认识算法到编写代码再到算法实现的完整成长路径可视化呈现,帮助学生建立系统化的程序设计认知框架 教学过程 教学内容 教师活动 学生活动 设计意图 情境唤醒 延续第5单元“校园手机使用调查”项目主线,发布终极任务:“年级组长对我们前几节课交出的成果非常满意——现在他希望我们把排序、查找、统计这些功能整合到一个完整的‘数据分析综合平台’中:输入全年级的时长数据→能够自动排序生成排行榜→能够快速查找任意时长对应的位置→最后输出一份格式化的分析报告。这个平台不再是单一功能的算法片段了——它是一个真正能跑起来的综合数据处理系统。” 打开自己的算法代码合集,观察之前分别保存的排序和查找代码文件,思考如何将它们整合到同一个程序文件中 延续第5单元项目情境,以真实项目整合需求引出综合实战课的价值——“功能都能单独运行,但业务需要系统联动”,让本课的组织定位和目标产出从情境导入开始就清晰可见 明确任务 教师总结并分发任务书:“今天是我们第5单元的收官之战——我们要完成三道工序:①快速回顾排序和查找算法,确保核心代码能正确运行;②将这些算法封装成函数模块,整合为‘综合分析平台’,在系统测试和验收中展开分组对决;③学习一种令人着迷的新算法——递归——探索‘函数自己调用自己’处理问题的特殊能力,同时体验AI结对编程,让AI辅助我们优化复杂的递归逻辑。”展示学习目标 查看任务书,明确任务目标 以项目综合任务驱动全课,并铺垫“递归”这一新算法的趣味性,激发学习期待 快速回顾——排序与查找核心代码 采用“填空式”快速复习法,在课件中展示两种排序和两种查找算法的不完整代码,由全班抢答填写缺失的关键行:① 冒泡排序:for i in range(n-1): —→ for j in range(____): (→答案n-1-i)—→ if hours[j] > hours[j+1]: hours[j], hours[j+1] = ____ (→答案hours[j+1], hours[j]) ② 选择排序:for i in range(n-1): min_idx = ____ (→答案i)—→ for j in range(i+1, n): if hours[j] < hours[min_idx]: ____ (→答案min_idx = j)—→ 内层循环结束后再交换一次(与冒泡的核心差异) ③ 顺序查找:for i in range(len(lst)): if lst[i] == target: return ____ (→答案i)—→ 循环结束未找到则return ____ (→答案-1) 抢答完成后用30秒简要归类四种算法的核心差异——排序vs查找、O(n²) vs O(log n)、冒泡的“相邻比较即时交换”vs选择的“定位最小后一次性交换”。 采用“填空式”快速复习法 第二板块:算法封装与整合——“从散装代码到模块化系统” 展示两版代码结构对比图——左侧“散装版”:各段算法代码零散排列,找到查找函数和排序函数需要翻动整页;右侧“模块封装版”:每个算法都封装为一个独立的函数模块(def bubble_sort(data):/def binary_search(data, target):等),主程序入口通过一个统一的调度实现所有调用。 将各自的返回值和参数适配起来形成连续的数据流:排序输出=查找输入=统计分析的原始样本池。数据在不同模块间流动传递,复杂的业务逻辑由多个函数的组合调度完成,最终输出的分析报告是通过一次参数配置即可生成全部模块综合运行的结果。” 强调5.2.3的核心思想的延续与升级:“之前定义函数是程序的模块化手段,单个排序算法或单个查找算法的独立封装已经很熟练;今天的学习目标是将多种算法的函数在一个平台底下协同被调用 第三板块:新算法学习——初识递归 递归代码追踪 发放任务书上的“递归代码追踪表”,布置快速追踪任务:“请在追踪表上逐行写出factorial(5)的完整递归调用和返回过程——①递归向下的5层调用链顺序;②每次调用传入的n值和对应的if n == 1判断结果;③递归到底后逐层回归过程各层返回的结果。完成后举手,与屏幕上展示的标准版追踪表逐层核对。” 在追踪表上手写每一层调用的n值和返回结果,逐行递推至最底层,对照课件标准答案修正 “递归代码追踪表”。将递归的“递推→回归”过程转化为一张可逐层填写、逐层核对手工追踪表格,通过亲手推演每个调用层级的参数变化和返回值,突破“函数自己调用自己”的认知难点 任务一:算法封装与功能验证——“封一封” 封装任务发布 发放任务书上的“算法综合实战任务单”,布置封装任务:“请各小组将前两课时编写的排序和查找算法代码各封装为明确的函数模块——①定义sort_data(data, method='bubble')函数,支持选择冒泡排序或选择排序;②定义search_data(data, target, method='sequential')函数,支持选择顺序查找或二分查找(二分查找版本的数据须事先完成排序);③编写各函数的文档字符串注释,说明函数的用途、参数含义和返回值格式。”巡视各组的函数封装情况和参数设计逻辑 小组分工封装:一人负责sort_data函数及参数逻辑,一人负责search_data函数及排序前提检查,一人负责注释和测试脚本 修正语法错误后运行测试,记录各项修正和测试结果 过程性指导确保函数封装质量 任务二:综合平台搭建与初步集成——“搭一搭” 综合搭建任务发布 布置综合搭建任务:“请各小组使用封装好的算法函数模块,开始搭建‘数据综合分析平台’的主程序框架——①设计一个交互式命令行界面:让用户选择功能——按1进入数据排序、按2进入数据查找、按3进入统计报告、按0退出程序;②在排序模块中,调用sort_data函数对内置列表排序并输出排序后数据;③在查找模块中,调用search_data函数查找指定时长值并输出对应的索引位置(可再用print输出一次前后位置对比验证);④在统计报告中,调用排序后的数据计算并输出:全年级手机使用时长最高值、最低值、平均值。完成后运行全流程测试,确保主循环能稳定运行。”巡视各组的主程序循环结构和函数调用关系 小组分工完成主程序框架搭建:一人写主循环和菜单逻辑,一人负责各功能模块的调用测试,一人负责整体数据流的梳理和拼接后的逐项验证。全部完成后运行全流程测试 :“数据分析综合平台”项目。将5.2的选择结构、循环结构、函数封装与5.3的排序查找算法整合到一个交互式程序中,用while循环实现菜单选择、if-elif实现功能分支、函数调用实现算法复用——本单元所有核心技能在同一个项目中同步落地 任务三:综合平台深度攻坚与算法选择诊断——“战一战、诊一诊” 综合攻坚任务发布 布置算法综合实战深度攻坚任务:“请各小组将之前的交互平台进一步深化——①完善菜单:在查找模块内增设子菜单——让用户选择使用顺序查找还是二分查找;②为每次查找操作计时并显示耗时(提示:import time; start = time.time();;③增加一个‘算法对比模式’功能,让用户选择对一个目标值同时运行两种查找算法并对比耗时差异;④确保四种算法模块数据流转顺畅、各模块间接口调用正确。所有测试完成后提交完整程序和一份简短的算法对比实测报告。 小组分工攻坚——一人负责子菜单和计时功能,一人负责算法对比模式的逻辑串联,一人负责全程调试和数据流验证 “算法选择策略诊断卡”。将算法选型的抽象思维转化为结构化的场景判断任务——每种场景对应不同的数据规模和业务需求,培养“分析数据特征→选择最优算法”的工程习惯 成果展示 选取2—3个小组代表上台投屏展示:①“数据综合分析平台”完整程序(含交互菜单、算法调用、统计报告);②递归阶乘代码及追踪表填写结果;③“手动—AI对比记录表”的核心结论;④编写平台过程中最复杂的一个bug修复经验分享。其他小组在评价表中打分 小组代表展示并讲解,其他小组认真倾听并评分 锻炼表达与展示能力,促进组间经验交流和知识互补 多元评价 组织自评、互评,教师进行点评总结。重点评价:①各项算法的封装独立性(各模块可复用、接口规范);②主程序结构清晰度与功能完整性;③递归理解和对比分析的深度;④团队合作与代码规范(命名、注释格式)。表扬平台功能完整、算法策略选择准确且团队合作有条理的小组,纠正共性问题——主程序各分支入口函数调用顺序混乱导致菜单跳转逻辑异常、任务卸载不彻底、一个平台调两套排序对输入文件的指向冲突等 进行自我评价和小组互评,填写评价记录 构建多维评价体系 板书设计 板书设计:5.3.3 运用典型 一、算法核心回顾——“四驾齐驱” · 排序:冒泡(相邻比较即时交换)| 选择(定位最小一次性交换) · 查找:顺序(逐个比对,普适但慢)| 二分(中间缩半,高效但需有序前提) 二、递归新算法——“自己调用自己” · 两大阶段:递推阶段 (大规模→小规模) → 回归阶段 (子问题结果→回传) · 终止条件 (问题收缩至最简形式停止调用) ——缺终止或无限递归甚至直接堆栈溢出 · 经典入门应用:阶乘 n! = n × (n-1)! · 进阶应用:快速排序核心 (分治体系的基座)、深度优先 (图论遍历) … 三、算法综合应用——“函数的模块设计与组合联动” · sort_data( ) + search_data( ) + main_menu( ) → 完整数据分析平台 · 算法选择策略:看数据规模、看是否有序、看性能需求决策 四、第5单元递进链——“从第一幅流程图到第一个完整程序系统” 认识算法(5.1)→编写程序(5.2)→运用算法(5.3) → 单元综合实战 —— 四阶闭环 教学反思 (课后填写) · 教学目标达成度分析 · 学生对信息技术发展历程的理解情况 · 小组讨论环节的参与度和效果 · 课程思政融入的自然度 · 改进措施与建议 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

5.3 运用典型算法(第三课时)(教案)2025-2026学年高教版中职信息技术基础模块(下册)
1
5.3 运用典型算法(第三课时)(教案)2025-2026学年高教版中职信息技术基础模块(下册)
2
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。