高中信息技术选择性必修1“数组与链表”教学设计_第1页
高中信息技术选择性必修1“数组与链表”教学设计_第2页
高中信息技术选择性必修1“数组与链表”教学设计_第3页
高中信息技术选择性必修1“数组与链表”教学设计_第4页
高中信息技术选择性必修1“数组与链表”教学设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高中信息技术选择性必修1“数组与链表”教学设计一、教学设计背景与定位本节内容选自人教中图版(2019)高中信息技术选择性必修1《数据与数据结构》第二章“数据的组织方式”中第二节“数组与链表”,授课对象为高二年级选修本模块的学生,建议安排2课时完成。依据《普通高中信息技术课程标准(2017年版2020年修订)》对“数据与数据结构”模块的要求,学生需要通过学习理解线性数据结构的逻辑特征与物理存储方式,能够比较数组与链表两种基本结构在存储、访问、插入、删除等操作上的差异,并能依据实际问题选择合适的数据组织方式。这一内容是计算思维培养的枢纽:它向上承接必修模块中的Python列表应用经验,向下为后续树、图等非线性结构的学习奠定结构与算法相结合的思维基础,在整个模块知识体系中处于承上启下的关键位置。二、学情分析授课对象为高二年级学生,此前已在必修《数据与计算》中接触Python列表,能完成列表的创建、访问、增删等基本操作,具备一定的程序阅读与编写能力。但必须清醒地看到,学生的已有经验停留在“会用”层面,对“为什么列表可以扩容”“为什么删除中间元素较慢”这类底层问题缺乏追问意识。学生普遍存在三个认知缺口:其一,不清楚内存中数据是如何连续或分散存放的,把列表看作“天然容器”,缺少存储视角;其二,难以从时间代价角度衡量数据结构操作,缺少量化比较的思维习惯;其三,当问题情境稍作变化,习惯套用熟悉结构,缺乏为问题“量体裁衣”的结构选型意识。同时,高二学生抽象逻辑思维能力处于快速发展期,具备从具象操作上升到结构原理的智力条件,课堂应借助可视化、动手操作与生活类比完成这一跨越。班级学生在编程基础上分化明显,教学任务设计需要分层,允许部分学生以“修改运行”方式完成任务,能力强者则尝试独立实现链表节点类。三、教学目标(一)信息意识层面:学生能够从实际问题中识别数据的线性特征,意识到数据组织方式对程序性能的制约,在面对批量数据处理任务时主动思考“该用什么结构存放”。(二)计算思维层面:学生能够画出数组的连续存储示意与链表的节点—指针结构示意,能说明数组随机访问、链表顺序访问的机制差异;能够从插入、删除、查找三个维度比较两种结构的时间代价并用量化方式表达;能够在Python中借助类与对象模拟单向链表的基本操作。(三)数字化学习与创新层面:学生通过调试可视化演示程序、改写链表代码、完成结构选型的项目任务,养成借助数字化工具探究抽象概念的学习方式,尝试将链表思想迁移到实际应用场景。(四)信息社会责任层面:在小组协作与方案研讨中,学生能够倾听不同结构设计思路,用证据而非权威说服同伴,形成严谨的工程选型态度。四、教学重点与难点教学重点是数组的连续存储特性与链表的节点指针结构,以及两者在访问、插入、删除操作上的性能差异。此重点的确立源于课标要求与模块知识主线,差异比较是结构选型的逻辑前提。教学难点有三:一是指针概念的抽象性,学生难以直观理解“一个数据项还记得下一个同伴的住址”;二是链表插入操作中指针修改顺序的逻辑严密性,顺序颠倒即导致链断裂;三是从“知道差异”到“会用差异”的跃迁,即在开放问题中依据操作特征完成结构选型。突破策略为:以实物卡片排队游戏建立直觉,以动画演示暴露指针修改过程,以对比实验让性能差异“可测量”,以真实项目驱动选型论证。五、教学方法与资源准备采用问题驱动、实验探究、类比建构与项目学习相结合的教学策略。课前准备包括:Python运行环境预装的可视化演示程序(数组与链表操作动画)、用于计时对比的批量操作测试脚本、纸质卡片与细绳若干(链表模拟道具)、结构化任务单与分层练习素材、在线互评表单。教学中拟借助Python内置列表与自定义Node类两条线索并行:列表承载数组思想,Node类承载链表思想,使代码成为概念的落点而非额外负担。六、教学过程(2课时)第1课时:问题情境与两种结构的建构、对比环节一:情境导入——一个“卡壳”的成绩管理系统(10分钟)课堂伊始,教师投影两段功能相同的代码提纲:某校教务系统需要维护十万条学生成绩记录,高频的需求是“把一条新成绩插入到按学号排序后的任意位置”。教师提出两个方案,甲方案使用普通列表按顺序存放,乙方案设想一种“不必挪动他人即可插队”的存放方式。教师现场运行测试脚本:在十万元素的有序列表中部插入一条新数据,并显示耗时;学生直观看到数字并不微小的毫秒级耗时,进而讨论“仅仅是插一条数据,为什么花了可察觉的时间”。教师追问:“如果你是系统设计师,面对每天数千次这样的插入,会满意吗?卡住系统的究竟是代码写法,还是数据摆放的方式?”由此引出课题:数据的组织方式决定操作的代价,今天探究两种最基本的组织方式——数组与链表。此环节的设计意图在于用可测量的性能冲击替代空洞的概念陈述,让学习动机从真实矛盾中生长,同时埋下贯穿全课的主问题:不同的“摆放方式”如何决定增删查改的代价。环节二:概念建构之一——数组的连续存储(15分钟)教师借助打印在卡片上的“数据块”在黑板贴出一排连续的空格,引导学生从内存视角看待数组:数组是一片预先申请的连续存储区域,每个元素占据固定大小的位置,编号即下标。教师提问:“如果第一个元素住在内存1000号,每个元素占4个房间,那么第k个元素住在哪里?”学生口算得出“起始地址加上k乘4”的定位规律,教师在黑板写出定位算式,强调这正是“按下标直接访问”的物理基础,无论数组多长,访问任意下标的花费几乎固定。随后学生打开预先准备的演示程序,观察数组中部插入一个元素时发生的连锁反应:插入位置之后的所有元素依次后移,腾空出新位置。教师请学生用“排队时中间插入一人,后面所有人挪一步”类比,并追问:“移动的次数和白天的队列长度、插入位置有什么关系?”学生在任务单上归纳:插入越靠前,移动越多;平均而言插入一次的移动量与元素总数n成正比。本环节的关键,是让“连续存储—下标即地址—随机访问快、插入代价大”的三段因果链在学生头脑中拧紧,而非记住结论。环节三:概念建构之二——链表的节点与指针(20分钟)教师组织全班开展“火车编组”活动:每组领取若干卡片,每张卡片正面写一个数据、背面空白,学生用细绳把卡片串成一串,细绳代表“记住下一位在哪里”。教师宣布任务一:“这支队伍解散了前排卡片所在的场地,首尾两张卡片相距一米和三米都行,请大家保持顺序不变地‘拉长’队形。”学生轻松完成,体会到链表对存储位置“不挑剔”的特性。任务二:“请把一张新卡片插到第三位与第四位之间。”学生实际操作中发现只需剪断原绳、新卡片两端系上即可,无需移动其他任何卡片。任务三:“若先剪断两端的绳再接新卡,会发生什么?”多数小组演示出“绳断链散”的窘境——一旦旧绳先全断,后续卡片即“走失”,由此自然生长出指针修改顺序的铁律:新节点先指向后继,再让前驱指向新节点。实物活动之后,教师用动画程序复盘整个过程:一个节点由两部分构成——数据域与指针域,指针域存放下一节点的“地址”;整个链表只需记住第一个节点的位置(头指针),其余节点靠指针逐个“接力”找到。教师提问:“要找到链表的第k个节点,能不能像数组那样一步直达?”学生结合活动经验回答:只能从头出发顺着链走k步,这就是顺序访问。此环节落实课标“借助具体实例理解线性结构”的要求,让指针这一抽象概念在学生身体经验与视觉形象中获得载体。环节四:对比实验——让差异可测量(15分钟)学生两人一组运行教师提供的计时脚本。脚本分别构造含十万个元素的列表与预置的链表模拟程序,各执行两类任务:任务A,随机按下标读取一万次;任务B,在中部插入一千次。学生记录并填写对比表:数组读取飞速而插入迟滞;链表插入迅捷而访问缓慢。教师组织数据汇报,引导学生完成一句话概括:“快的操作与慢的操作互为镜像。”任务单要求各组画出对比表格:按访问、中部插入、中部删除三个维度,分别标注两种结构的代价性质(固定、与规模成正比)。教师进一步抛出结构化反思问题:“如果需求是每天成千上万次按下标查成绩,偶尔批量追加,你选谁?反之呢?”学生在任务单上做出选择并写明理由,为第2课时的项目选型埋下伏笔。本环节的要点在于用量化证据替代口头断言,学生亲手得到的毫秒数字比任何结论性陈述都更有说服力。环节五:课堂小结与分层作业(5分钟)学生用两分钟填写“三句话小结”:数组强在哪里、链表强在哪里、选结构的依据是什么。教师随机展示三份并进行即时点评。分层作业为:基础层完成数组与链表特征判断题并抄写链表节点结构的示意图;提升层阅读教师提供的Node类代码,用自己的话注释每一行的含义;挑战层思考“如果既要按学号快速定位、又要频繁插删,该怎么办”,允许查阅资料尝试给出设想,为后续学习哈希结构留白。第2课时:代码落地与结构选型环节一:复习激活(5分钟)教师展示三张结构示意图(正确链表、指针顺序错误的插入、数组连续存储),请学生在学案上指出哪张图“藏有错误”并说明后果。通过错误辨析迅速唤醒第1课时的认知成果,检测报告位居课前由课代表在黑板进行预检查,教师抽查两份讲解。环节二:动手编码——用类筑梦链表(20分钟)学生打开教师分发的半成品代码文件。代码中给出Node类的骨架:初始化方法含数据属性与next属性。教师逐行讲解“一个对象如何记住另一个对象”:第二个属性存放的不是数据,而是另一个Node对象本身。学生在教师带领下按以下步骤完成编码。第一步,补全Node类初始化代码,让新节点的next默认为空。第二步,编写函数逐个创建3个节点,分别存放“语文85”“数学92”“英语78”字样,并把它们的next属性首尾相接。第三步,编写遍历函数:从首节点出发,只要当前节点不为空就输出数据并走向next所指节点。第四步,实现插入函数:给定插入位置前的节点,先让新节点的next接管原后续,再更新前驱的next,验证先后顺序不可颠倒。学生运行时教师巡视。预期的典型故障有两类:一是遍历循环中忘记推进当前节点导致死循环,二是插入顺序写反导致链表“断尾”。教师不直接纠错,而是请学生回到第1课时的实物活动,带着卡片重走一遍操作,从经验中自我定位错误。能力强的学生完成拓展任务:为链表编写删除指定节点值的函数,并思考“要删除一个节点,需要知道它的前驱,如何处理删首节点的特殊情形”。此环节追求的是“敲得出、跑得通、讲得清”,代码成为抽象结构的证明,而非背诵的产物。环节三:项目任务——为真实场景选型(20分钟)教师发布两个微项目,各组任选其一深入研讨。项目一“图书馆流通系统”:借阅记录总量巨大且数量相对固定,管理员高频需求是按记录号抽查某次借阅,偶尔追加当天记录。项目二“列车车厢动态编组”:编组站每天无数次拆分与拼接车厢,顺序随之频繁变化,几乎不需要按位置直达指定车厢。每组按任务单框架输出方案:画出所选结构的存储示意图;从访问、插入、删除三方面陈述理由;预设“系统未来功能变化”的自我质询——若项目一后来要求频繁在任意位置插入记录,方案是否需要调整,如何权衡。小组展示环节,教师组织同伴依据“结构特征与需求特征是否匹配”这一标尺互评,故意安排选不同结构的组互相挑战。教师总结时强调:选结构不是选“先进”,而是选“匹配”;工程上没有绝对最优,只有与需求最合的那个解。此论断与第1课时的对比较实验形成闭环。环节四:拓展延伸——链动起来(8分钟)教师用两幅动画快速介绍单链表的两位“亲戚”:双向链表(每个节点记住前后两个邻居,倒车不用回到起点)与循环链表(首尾相接,适合轮询调度)。不讲实现细节,只让学部建立“链表家族”的整体印象,并指出实际操作系统的进程调度、浏览器前进后退等功能中都能找到双向链表的影子。教师以此回应第1课时挑战层作业的部分设想,并建议有兴趣的学生课后尝试用两个指针改造自己的Node类。环节五:课堂小结与作业(2分钟)学生完成出口卡:一句话说出指针的作用;一句话说出数组与链表各自的最佳场景;写下自己仍未弄懂的一个问题。作业分层设计:基础层绘制两种结构的对比思维导图;提升层独立完成单向链表的完整代码并附测试记录;挑战层查阅资料尝试实现双向链表的插入,并以三百字以内说明与单向链表的差异。七、板书设计主板书以对比框架展开:左侧呈现数组,关键词为“连续存储—下标即地址—随机访问—插入需搬运”;右侧呈现链表,关键词为“节点=数据+指针—顺序访问—插入只改链—先接后继再改前驱”。中间区域保留,用于学生对比实验数据汇报时填写实操数字,形成“结论由数据撑起的”板书结构。副板书用于即时记录学生项目研讨中的选型要点与典型错误。八、教学评价设计本节课采用过程性评价与表现性评价相结合的方案。课中通过任务单收集概念图与对比表,借助出口卡快速诊断理解的滞后点;小组项目采用师生共拟的量规,从“结构选择合理性”“论证逻辑”“原型实现”“表达交流”四个维度打分,纳入单元过程性成绩;课后分层作业的完成情况与单元测验中的结构性试题互为印证。对学有余力的学生,评价侧重问题的开放性与方案的自洽;对基础薄弱的学生,评价侧重概念辨析的准确性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论