版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中二年级信息技术粤教版选修1《选择排序算法》教学设计一、教学内容分析本课选自粤教版高中信息技术选修1《算法与程序设计》第四章第四节第一课时“选择排序算法”。排序是数据处理中最基础、最经典的问题类型,而选择排序又是学生系统接触的第一种基于比较交换思想的排序方法。它上承第三章的选择结构与循环结构,学生的控制流知识在这里第一次获得“解决真实问题”的出口;下启冒泡排序、插入排序以及后续的查找与递归算法,是整个算法学习链条中承前启后的关键节点。选择排序的思想朴素得近乎“笨拙”:每一轮从尚未排序的元素中找出最小值,放到该轮确定的位置上。这种朴素恰恰是教学的素材——学生可以在一分钟内用口头语言描述它,却需要整整一节课去精确地实现它。从“想明白”到“写正确”之间的沟壑,正是程序设计教学价值所在。本课的核心概念有三个:一是“最小值位置”的记录与更新,二是“交换”这一操作的三步分解,三是双重循环中外层控制轮次、内层完成查找的分工逻辑。三者之中,交换操作看似最简单,实则是学生程序出错的集中区,必须在课堂上显式拆解。二、学情分析授课对象为高二年级学生,已完成顺序、选择、循环三种基本结构及一维数组的学习,能够独立编写遍历数组求和、求最大值等程序。多数学生在生活中有过排队、整理扑克牌的经验,对“按高低排成一列”并不陌生,但这种经验是直觉的、整体的,与算法要求的精确、可机械执行的步骤之间存在巨大落差。根据前期作业与访谈,本班学生存在三类典型困难。第一类是“会说不清”,能看懂选择排序的动画演示,却无法用自然语言写出包含边界条件的步骤;第二类是“变量角色模糊”,编写程序时混淆min、k、i、j的含义,把“最小值”与“最小值下标”当一回事;第三类是“调试能力薄弱”,程序输出错误时只会整段重写,缺乏用中间输出追踪变量的意识。据此,本课教学定位不是让学生“听明白”,而是让学生“做正确、说得清、改得出”,把理解水平从识别层级推进到独立应用层级。三、教学目标1.学科观念目标。理解排序是解决数据处理问题的基本算法操作,认识算法可以用自然语言、流程图、程序代码等多种工具描述,且描述越精确,越接近可执行。2.计算思维目标。能将“每次选最小放到前面”这一自然语言想法,逐步细化为可执行的算法步骤;能识别最小值查找、下标记录、元素交换三个子问题并分别编程实现;能通过设计有区别的测试数据(含已排好、逆序、含重复元素)检验程序正确性。3.数字技能目标。能用Python(或教材配套语言)独立编写十数以内的选择排序程序,掌握中间变量交换两数的标准写法,掌握用print语句输出中间结果进行程序调试的方法。4.情感责任目标。在多次试错与修正中体会算法“一步之差、全盘出错”的严谨性,形成耐心调试、尊重证据的学习品质,并通过比较选择排序与日常排序习惯的优劣,初步建立算法效率意识。四、教学重点与难点教学重点:选择排序算法的逻辑过程及其程序实现,特别是外层循环控制轮次、内层循环查找最小值的双重结构。教学难点:其一,“记录最小值下标而非最小值本身”的程序设计惯用法;其二,交换两个变量时借助第三变量的必要性及其实现;其三,循环边界(外层n−1轮、内层从i+1开始)的精确确定。五、教学策略与方法本课采用“情境导入—活动体验—分解建模—编程实现—调试验证—迁移评价”六环节的问题链式教学。以扑克牌分组活动制造具身体验,以逐轮表格帮助学生将动态过程静态化,以“半成品程序填空”降低首次编码的认知负荷,以“找茬式”错误代码评析集中攻克交换操作的易错点,以对照实验初步种下效率意识的种子。全程学生动手时间不少于四分之三课时,教师讲授压缩在十分钟以内。六、教学环境与资源准备机房环境,每生一台安装Python3.x(或教材指定语言环境)的计算机;每组一套标有9、7、4、2、8五张数值的纸质卡片;多媒体教学系统与广播软件;教师投影仪用以演示动画与汇总表格;学习任务单每人一份,含逐轮记录表、程序填空纸、测试用例表;自评互评量化表各一份。七、教学过程(一)情境导入(约5分钟)上课伊始,教师在大屏出示一张运动会百米成绩原始记录:9.62、9.79、9.80、9.71、9.69(单位秒,数据打乱)。教师提问:如果要按名次从快到慢排列,你会怎么做?请两位学生口头描述自己的做法。学生的回答通常是“看一遍找出最快的,记为第一;再从剩下的里面找最快的,记为第二……”教师此时不评判优劣,只在黑板上原样记录学生的口语描述,并追问:你说的“再看一遍”,是看了几次?“剩下的”包括谁不包括谁?如果两个成绩一样怎么办?这三个追问迅速暴露出口述方法的不精确性,学生意识到自己“以为懂了”的方法其实无法交给一台机器执行。教师顺势揭示课题:今天我们把这个人类自然的想法,改造成一个每一步都清晰无歧义、机器可以照做的算法——选择排序。设计意图:用真实数据与竞争性问答制造认知冲突,让学生从“会说”到“说清”产生内在需求,为后续算法细化motivated。(二)活动体验:用扑克牌走出算法脚印(约8分钟)每六人一组,领取标有9、7、4、2、8的五张卡片,按顺序横排在桌面。任务要求:只能用一种操作——找出当前无序部分的最小卡片并将其与无序区最左位置交换——使五张卡片从小到大排列,每组指派一名记录员在学习单表格中逐轮记录每一轮结束后卡片的排列状态。各组完成后,广播两份有代表性的记录表,全班核对:第1轮后:2、7、4、9、8第2轮后:2、4、7、9、8第3轮后:2、4、7、9、8(最小值已在位,位置未变)第4轮后:2、4、8、9、7第5轮后:2、4、7、8、9教师提问:五张卡片排了几轮?第3轮发生了什么?为什么第5张不用排?学生归纳出两个关键结论:n个元素共需n−1轮;每轮的最小值可能已经“恰好就位”,但查找动作不能省略。设计意图:卡片操作把抽象的轮次、边界、交换全部变成看得见的物理动作,表格记录则把瞬时过程固化为可检验的证据,为编码阶段的边界确定提供直觉支撑。(三)分解建模:把算法拆成三个子问题(约7分钟)教师带领学生将上述过程“翻译”为程序视角的分解图:外层循环决定“当前轮到哪个位置i就位”;内层循环从i+1遍历到末尾,负责“找出无序区最小值的下标k”;内层结束后,将a[i]与a[k]交换。难点一在此显式处理。教师在黑板上并列书写两种思路:一种是“记住最小值本身”,另一种是“记住最小值在哪个位置”,提问:交换的时候我们需要什么?学生通过尝试发现,只有值无法完成交换,必须知道下标。由此明确k记录的是下标这一惯用法。难点二同步处理。教师写出初学者典型错误代码:a[i]=a[k]a[k]=a[i]提问:运行后得到了什么?学生口算推演后立即发现a[k]的旧值被覆盖丢失。再给出借助第三变量的正确写法:t=a[i]a[i]=a[k]a[k]=t教师强调这是程序设计的经典模式,并提示Python亦支持a[i],a[k]=a[k],a[i]的简洁写法,鼓励学有余力的学生体验。设计意图:把两处最易错的细节放在全班聚光灯下提前“排雷”,使后续独立编码的错误率大幅下降。(四)编程实现:半成品补全到独立编写(约10分钟)任务分层。基础层学生在学习单的程序框架上填空,框架已给出双层循环骨架,留空k的初始化、更新条件与交换三行;提高层学生从空文件开始完整编写,要求变量命名自解释,并在排序前后各输出一次数组。参考程序如下(板书同步展示):a=[9,7,4,2,8]n=len(a)foriinrange(n1):k=iforjinrange(i+1,n):ifa[j]<a[k]:k=jifk!=i:t=a[i]a[i]=a[k]a[k]=tprint(a)教师巡回指导,重点关注三类学生:把k初始化为0的、内层起点写成i的、交换位置放错层级的。巡行间收集两份不同层次的典型代码,为下一环节评析做准备。设计意图:分层任务保证“人人有成品”;半成品填空不是降低标准,而是把首次编码的认知资源集中到本课的核心结构上。(五)调试验证:让程序自己说话(约8分钟)教师提出要求:程序正确与否不靠猜,靠测试数据说话。学习单上给出四组测试用例:一般序列[9,7,4,2,8]、已升序序列[1,2,3,4]、逆序序列[5,4,3,2,1]、含重复元素[3,1,3,2]。学生逐一运行并记录结果。教师随后演示“让程序开口说话”的调试法:在内层循环外加一句print(f"第{i+1}轮后:",a),观察每轮排序的中间状态是否与卡片活动的结果一致。请两名程序曾出错的学生上台,用中间输出定位并陈述自己的错因,说明其错误代码会导致哪一轮状态异常。教师小结调试三问:预期状态是什么?实际状态是什么?哪一步使两者分离?设计意图:把“调试”从被动纠错升格为主动验证的方法论,培养学生用证据说话的科学态度;含重复与边界情形的测试用例暗埋伏笔,为后续稳定性与健壮性讨论留下接口。(六)迁移评价与课堂小结(约2分钟)教师抛出新问题:如果要把成绩从大到小排列,程序要改哪一处?学生口答:将比较条件改为a[j]>a[k]。一秒之差、顾彼失此的力量让学生直观感受算法的“参数化”特质。师生共同完成五句话小结:选择排序的核心是“每轮选最小,就位排前面”;n个元素要排n−1轮;内层只找下标,不急着交换;交换要借第三方;程序对错让测试数据宣判。八、板书设计主板书居中书写课题“4.4.1选择排序算法”,其下列算法三步分解图(外层定位置、内层找最小、出环做交换);左栏贴卡片活动各轮结果对照表;右栏书写错误交换代码与正确交换代码的对照,并在正确写法旁标注“第三方变量——程序世界的中转站”。全部板书保留至下课,供学生整理笔记。九、作业设计基础作业:输入任意10个数,用选择排序升序排列并输出,附三组不同特征的测试截图。提高作业:改造程序实现降序排列,并统计并输出整个排序过程中比较次数与交换次数,就本课数据回答“五张卡片一共比较了几次”,体会交换次数至多n−1次的结论。拓展作业(选做):观察纸牌排序的动画,思考你用更顺手的方式(如把最小牌直接抽出依次放到新排)与选择排序有何异同,下节课与冒泡排序对比导入。十、教学评价课堂评价采用过程性证据:卡片活动记录表的完整性与正确性计2分;程序半成品补全或独立编写通过四组测试用例计4分;能口头陈述一次错因及调试定位过程计2分;小组互助与规范操作计2分。自评侧重“我现在能否不看范例重写出程序”,互评采用“代码找茬”形式互改同伴程序,评价即时反馈进课堂学习档案。十一、教学反思本课将算法学习建立在具身卡片活动之上,学生对轮次与边界的把握明显优于直接讲授代码的往届班级,卡片表格成为调试阶段反复回溯的“参照标本”,教学效果显著。交换操作的对照分析有效,但仍有少数学生在分层提高任务中把“k!=i才真正交换”这一优
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省邵阳市隆回县高中地理 第2章 我国主要的自然灾害 2.3 我国的地震、泥石流与滑坡教学设计 湘教版选修5
- ESG视角下调味斗包装绿色转型与品牌溢价关联度
- 基于产业链协同平台的集群供应链韧性协同提升机制
- 2026及未来5年中国直流永磁电机数据监测研究报告
- 欣赏 《乌苏里船歌》 《沃尔塔瓦河》(片段)教学设计初中音乐八年级下册沪教版
- 2026事业单位工勤技能-湖北-湖北电工一级(高级技师)历年参考题库含答案详解
- 2026事业单位工勤技能-湖北-湖北工程测量工二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-海南-海南食品检验工四级(中级工)历年参考题库含答案详解
- 三年级语文下册 第七单元 24《火烧云》教学设计 新人教版
- 2026事业单位工勤技能-浙江-浙江食品检验工二级(技师)历年参考题库含答案详解
- 义诊-我们做对了么?当义诊的流量入口碰上学科建设的“孤岛”
- 江苏省南京市2026-2027学年高三语文上学期开学模拟考试文言文详解:《王徽之传》、《任诞》、苏轼《墨君堂记》
- 2026宁夏文化发展集团有限公司第一批社会招聘45人笔试备考试题及答案详解
- 2026年贵州省中考英语试题(含答案)
- GA/T 1999.2-2022道路交通事故车辆速度鉴定方法第2部分:基于汽车事件数据记录系统
- 传统文化与人生修养
- 七年级下册数学计算题300道
- 双排钢板桩围堰的设计与施工
- 抗生素的合理应用培训课件
- YY 0465-2019一次性使用空心纤维血浆分离器和血浆成分分离器
- JJF 1849-2020微孔板化学发光分析仪校准规范
评论
0/150
提交评论