版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中二年级信息技术选择性必修1数据查找单元整体教学设计一、教学设计的依据与立意数据查找是浙教版高中信息技术选择性必修1《数据与数据结构》第五章的核心内容,向上承接数组、链表、字符串等基本数据结构的知识储备,向下连接排序算法的效率分析与综合项目实践,在整个模块中处于"从会存数据到会用数据"的关键位置。本课以顺序查找与二分查找为主线,以查找次数的比较为量化抓手,引导学生在真实问题情境中体会"数据结构决定算法效率"这一学科大概念。本课的教学立意不是让学生背诵两段查找代码,而是使他们建立三个基本认识:第一,查找是信息系统中最频繁的操作,查找效率直接影响系统性能;第二,有序是高效查找的前提,数据组织方式是算法设计的基础;第三,对算法进行定量分析与对分治思想进行迁移应用,是信息技术学科计算思维的集中体现。围绕这三点,我设计了"问题驱动—活动探究—代码实现—效率论证—迁移拓展"五环递进的教学结构。二、学情分析授课对象为高二年级选修本模块的学生。经过必修课程的学习,他们已经能够使用Python编写包含分支与循环结构的程序,对列表对象及其索引、切片、内置方法较为熟悉,一部分学生能够独立实现简单的遍历统计。同时,他们在前序章节中已经理解了线性表的逻辑结构与存储结构,为讨论"有序数组上的二分查找"提供了认知基础。学生的困难主要有三处。其一,对查找问题缺乏"数据规模"意识,习惯在十个以内的小数据上验证程序,难以直观感受两种算法在十万级、百万级数据量下的悬殊差距。其二,二分查找的边界控制是学生出错的高发区,左闭右闭与左闭右开区间混用、low与high更新语句写错导致死循环的情况极为普遍。其三,部分学生知道列表有index方法、字典按键取值极快,便认为"学查找算法没有必要",需要教师在教学中揭示内置方法背后的算法实质,化解这类工具依赖心理。基于上述分析,本课采用具象化游戏引入、可视化教具支撑、对拍实验验证、小组协同排错的策略,使抽象的效率比较可感、可见、可测。三、教学目标知识目标:能用自己的语言描述顺序查找与二分查找的基本思想与适用条件;能写出两种查找算法的Python实现,并能说明二分查找中low、high、mid三个变量的含义及更新规则;理解查找次数与数据规模之间的数量关系,知道二分查找每比较一次可将搜索范围减半。能力目标:能对给定问题选择恰当的查找策略并说明理由;能通过上机实验,用time模块或计数变量测量并比较两种算法在不同数据规模下的运行表现,依据数据得出结论;能通过调试与对拍发现程序中的边界错误并加以修正。素养目标:在比较与论证中发展计算思维与数据意识,体会数学方法对算法分析的支撑作用;在小组协作中养成如实记录实验数据、尊重证据的严谨态度;通过了解查找技术在搜索引擎、健康码核验、学籍管理等场景中的应用,认识算法的价值与工程伦理。四、教学重点与难点教学重点:顺序查找与二分查找的算法思想及其程序实现;两种算法在不同数据规模下查找次数的定量比较。教学难点:二分查找的区间边界控制;由实验数据归纳出二分查找查找次数的上界约为对数级这一规律,并能解释其成因。五、教学方法与课前准备教学方法上以问题链驱动为主,穿插演示法、实验法和小组讨论法。评价采用过程性评价与结果性评价相结合的方式,以任务单、实验记录表和课堂展示为主要载体。课前准备包括:机房安装Python3.x环境并预装教学用脚手架程序;教师准备一副扑克牌、两套数字卡片教具、查找动画演示课件、自动评测脚本;学生两人一组,提前下发任务单的第一部分用于预习回顾列表索引知识。六、教学过程(一)情境导入:从一百万个考生里找到你上课伊始,我在大屏幕上呈现这样一个问题:某省夏季高考有六十万余名考生,成绩公布后,成绩查询系统需要在海量记录中根据准考证号返回对应考生的信息。假设计算机每毫秒可以完成一次比较,若运气最差需要比较六十万次,需要多长时间?学生很快算出约六百秒,即十分钟。我追问:你真的愿意每查一次成绩等十分钟吗?系统的真实响应却是秒级甚至毫秒级,差距从何而来?接着我拿出一副扑克牌,请一名学生随机抽出一张记住后放回,全班看我"逐张翻找",大家在心里默数我翻了多少张。然后我换另一叠按点数有序排列的卡片,只向学生展示中间的牌,根据大小关系决定继续翻左半叠还是右半叠,几次之内即锁定目标。两次演示的反差让学生直观感到:数据有没有序,查找方法就完全不同,效率也天差地别。由此引出本课课题:数据查找。这一环节用时约五分钟。设计的意图在于用现实问题制造认知冲突,用实物游戏降低抽象概念的理解门槛,同时自然埋下"有序是高效查找前提"的伏笔。(二)新知探究一:顺序查找的思想与实现我首先明确查找问题的基本设定:给定一个包含n个元素的列表和一个目标值key,若列表中存在等于key的元素,返回其位置,否则给出未找到的标识。这是后面所有讨论的统一语言。接着请学生思考:对一副完全无序的卡片,不借助任何额外信息,最稳妥的找法是什么?学生几乎异口同声:一张一张地看。我顺势给出顺序查找的定义:从列表首元素开始,依次将每个元素与key比较,相等则返回下标,直至找到或遍历结束。在代码实现环节,我先让学生独立书写,五分钟后巡视选取两份有代表性的作品投影。一份用for循环配合range遍历下标,另一份用while循环手动控制计数。我请两位作者分别讲解思路,其余同学补充评价,最后师生共同整理出规范版本:defsequential_search(data,key):foriinrange(len(data)):ifdata[i]==key:returnireturn1在讲解中我强调三个细节:返回值用1表示未找到是一种约定俗成的设计,因为Python列表下标从0开始,负数下标在索引语境中有别的含义,但作为函数返回值表示"不存在"是清晰的;循环一旦命中立即返回,避免无谓的后续比较;如果要统计查找了几次,只需在循环体内设置计数器。随后我抛出问题链推进思考:最好情况下比较几次?最坏情况下呢?若key根本不在列表中,必须比较几次才能作出结论?学生归纳出最好1次、最坏n次、平均约n/2次的结论。我在黑板上画出"查找次数—数据规模"的关系草图,指出这是一条随n线性增长的直线,数据翻十倍,最坏查找次数也翻十倍。这为后面二分查找的登场埋下了评价的标尺。(三)新知探究二:二分查找的思想建构我请学生回顾导入环节第二次翻牌的情形,追问:为什么有序之后我可以"跳着找"?学生讨论后得出:每看中间一张牌,就能断定目标在其左边还是右边,另一半卡片被一次性排除。我把这一判断过程用数轴图示:设当前搜索区间为[low,high],取中间位置mid=(low+high)//2,比较data[mid]与key,若相等即找到;若key较小,则目标只可能出现在左半区间[low,mid1];若key较大,则目标只可能出现在右半区间[mid+1,high]。如此反复,直至找到或区间收缩为空。为帮助学生建立"范围减半"的量化直觉,我组织了一个小活动:全班默想一个1到1024之间的整数,请一名学生上台,我只允许问"比某个数大吗"这一类问题,现场演示不超过十次必中。学生普遍惊讶于十次的信息量足以区分1024种可能,我顺势给出关键数量关系:每比较一次,候选范围减半,因此最多需要的比较次数k满足2的k次方不小于n,即k约为以2为底n的对数。当n为1024时k为10,当n约为一百万时k不超过20。我将这一行数据与顺序查找的六十万次并列写在黑板上,反差一目了然,教室里响起小声的惊叹。我提醒学生:这就是时间管理意义上的天壤之别,也是算法课最迷人的瞬间之一。(四)新知探究三:二分查找的代码实现与边界攻坚思想清楚之后,实现环节的重心放在边界控制这一难点上。我先给出标准实现:defbinary_search(data,key):low,high=0,len(data)1whilelow<=high:mid=(low+high)//2ifdata[mid]==key:returnmidelifdata[mid]<key:low=mid+1else:high=mid1return1我带着学生逐行解剖这份代码。循环条件为什么是low<=high而不是low<high?因为当low等于high时区间中尚有一个元素未检验,提前退出会漏掉目标。low更新为什么是mid+1而不是mid?因为mid位置已经比较过且不等于key,继续保留它既无意义,还可能在某些输入下造成区间无法缩小,程序陷入死循环。mid的求取为什么用整除?我补充说明在数据规模极大的语言环境中还要防止溢出,Python虽无此虑,但养成良好的工程意识没有坏处。为让边界问题暴露出来,我专门设计了一个"找茬"任务:下发一份被我悄悄改过两处的程序(low=mid,循环条件改为low<high),各小组用给定的测试用例对拍,找出漏洞并用最少改动修复,同时写出"能触发该错误"的输入样例。各组讨论颇为热烈,有的小组用长度为2的列表查找首元素触发了死循环,有的小组用查找最大元素暴露了漏检。展示环节,我请两个小组上讲台说明他们的触发样例与修复理由,其他组质疑补充。通过这一"破而后立"的过程,边界规则从教师的强调变成了学生自己撞出来的经验。我还布置了一个选做思考题:将二分查找改写为递归形式。有能力的学生很快写出在每次调用中缩小左右端点的版本,我在巡视中提示他们注意递归出口与参数传递。这一任务为学有余力的学生提供了纵深,也为后续"分治思想"的正式学习做了铺垫。(五)实验论证:让数据替算法说话认知冲突的解决最终要靠证据。我组织学生完成本课的核心实验:两种算法效率的对拍测量。实验步骤在任务单上写得清楚:第一步,用随机数生成含十万个元素的无序列表与含一百万个元素的有序列表,并存入数据文件;第二步,分别调用两种查找函数,在函数内加入计数变量记录比较次数,同时用time模块记录运行时间;第三步,对每种规模各查找二十个随机目标值与五个不存在的值,记录平均比较次数;第四步,把数据填入实验记录表,绘制规模与次数的对比条形图。学生测得的数据大体呈现这样的图景:十万个元素时,顺序查找平均比较约五万次,二分查找不超过十七次;一百万个元素时,顺序查找平均约五十万次,二分查找不超过二十次。运行时间上,前者以秒计,后者几乎无法测出。各组把数据录入共享表格,全班汇总后的图表投在大屏上,线性增长与近乎水平的两条曲线对比极具说服力。我引导学生对数据做进一步解读:当数据规模扩大十倍,顺序查找的比较次数也扩大约十倍,而二分查找只增加三四次。有学生主动说出"二分查找的增长慢得多",我及时把这句话升级为学科语言:顺序查找的时间代价与数据规模成正比,二分查找则与规模的对数成正比。我提醒他们,这种"用增长的快慢刻画算法"的眼光,是后续学习算法效率分析的雏形,大学里会给它严格的数学记号。实验结论环节,我请每个小组用一句话总结,写在学习单上并口头分享。比较出色的表述有:"数据有序是二分查找的入场券""半斤八两的小数据上看不出差别,数据一大就高下立判""快不是玄学,是可数出来的"。这些朴素而准确的语言说明量化意识已经初步建立。(六)迁移拓展:查找不止于列表课堂的最后阶段,我设计了两个拓展讨论,帮助学生把所学迁移到更广阔的场景。第一个问题是辩证的:既然二分查找这么快,是否一切查找都应该先排序再二分?学生讨论后形成共识:若数据频繁变动、插入删除不断,维护有序本身代价高昂,一次查找就排序一次得不偿失;若数据相对静态而查询极其频繁,则排序投入一次、受益久远。我顺势指出,顺序查找无需任何前提、实现简单,在小规模或一次性查找任务中仍是合理选择。算法选择从来不是比谁"高级",而是看谁更匹配问题的结构特征。这一观点的传递,意在培养学生的工程权衡意识。第二个问题指向更大的世界:字典按键取值为什么几乎是瞬间完成的?我简要透露其背后是哈希思想——通过计算直接定位,绕过了逐次比较,并告诉学生这正是后面章节要展开的内容。此外,我列举搜索引擎的倒排索引、数据库的索引结构、字典书中的偏旁部首检字法等实例,说明"为快速查找而专门组织数据"是贯穿生活与工程的普遍策略。学科之间的联系在不经意间被点亮。(七)课堂小结与分层作业小结环节我采用思维导图接龙的方式:黑板中央写"数据查找",请学生轮流上前补充分支。最终形成的导图涵盖两条主线:顺序查找——无序可用、逐一遍历、最坏n次;二分查找——必须有序、区间减半、约对数次比较;以及一条暗线:数据结构决定算法策略,效率需要用数据度量。我在末尾添上一句话作为本课的精神注脚:好的算法,是用智慧换取时间。作业分三个层次。基础层:默写二分查找代码,手工模拟在有序列表[3,7,12,18,25,31,40]中查找18与20时low、high、mid的变化表格。提高层:编写程序统计在十万个随机整数中查找一个不存在元素时两种算法的比较次数,并绘制对比图。拓展层:调研生活中一种依赖快速查找的应用,写三百字说明其数据是如何组织的,下节课课前三分钟分享。七、板书设计板书分三区。左区为课题与情境遗留问题"六十万次vs二十次";中区自上而下写顺序查找的定义、代码骨架与"n次"的数量结论;右区写二分查找的区间示意、三句比较分支与"对数级"的数量结论,中区与右区之间用一条向上翘的直线与一条近乎水平的曲线相连,构成全课的视觉锚点。八、教学评价设计过程性评价贯穿全课:任务单完成质量、对拍实验数据的真实性、找茬环节中提出有效触发样例的能力、课堂发言的思维含量,均记入小组积分。结果性评价依托课后作业的分层达成情况与下一单元的单元测验中相关题目。我特别要求学生保留实验原始数据,凡
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业绩效管理制度
- 湘教版必修一第一章第三节“地球的运动”:地球自转的地理意义 教学设计
- 企业预算执行内部监督制度
- 内蒙古开鲁县高中生物 第六章 细胞的生命历程 6.2 细胞的分化教案 新人教版必修1
- 建筑工程临时用电管理手册
- 小学政治(道德与法治)10父母多爱我第1课时教案
- 2026网球基础常识题库及答案
- 外加剂性能试验检验手册
- 交叉作业现场管控安全培训
- 2026全国建筑安全员易错题考试题及答案
- 2025陇南市西和县辅警考试试卷真题
- JG/T 268-2019建筑用闭门器
- 氧化还原反应-专题训练及答案
- 传统中医养生讲座与体验行业跨境出海项目商业计划书
- 大专护理专业介绍
- 工程桩基施工验收标准与措施
- 2022年CSCO软组织肉瘤诊疗指南
- GB/T 44841-2024非合金及低合金铸铁焊接工艺评定试验
- DB41T 2466-2023 浸水电梯使用管理规范
- 2024年人教版七年级数学上册专项复习:绝对值【八大题型】原卷版+解析版
- 第二章 有理数及其运算 大单元教学设计2023-2024I学年北师大版七年级数学 上册
评论
0/150
提交评论