内容正文:
教学设计
课程基本信息
学科
信息技术
年级
高二
学期
春季
课题
链表
教学目标
1.理解链表的概念,理解节点和指针的含义,知道单向、循环和双向链表的形式;
2.理解链表的特性,能结合链表与数组的特性,在具体问题中合理选择使用,提升信息意识;
3.理解并有清晰思路运用链表的基本操作解决实际问题,提升计算思维。
教学重难点
教学重点:
1. 理解链表的概念和特性。
2. 熟悉链表的基本操作。
教学难点:
1. 对指针的理解,以及在解决问题过程中正确编辑指针。
教学过程
一、项目引入
在高铁站的大屏幕、在12306 APP中,会实时显示列车的各种数据,方便人们出行安排。这背后是少不了计算机内程序对数据的处理。编写程序,根据现实列车的运行情况(如:增开、停运、晚点等),实时调整并按到站时间升序显示最新的列车到站信息。
从本项目的数据组织来引出对链表的学习。
二、初识链表
1.链表的概念
教师分析概念:
链表:将需要处理的数据对象以节点形式,通过指针串联在一起的一种数据结构
指针:用来指示一个数据存储地址的变量。
节点:即数据元素,是数据的基本单元,一个节点可以由若干个数据项组成。
学生在学习活动过程中直观体会链表的相关概念:
通过【写一写】、【画一画】,识别指针、节点和链表。
通过【说一说】、【读一读】,认识循环链表、双向链表。
2. 链表的特性
教师引导学生在对比和学习活动穿插过程中理解链表特性:
(1)同一链表中每个节点的结构均相同
学习活动:【画一画】结点结构。
(2)每个链表必定有一个头指针(链表入口、循环链表的边界处理)
(3)链表占用的空间不固定 (不需要连续空间,按需使用空间,提高存储空间利用率)
移动head指针:很少用head=head+1; 而是用head=data[head][1]
【连一连】加深对数组与链表的对比分析。
三、操作链表
教师引导学生在思考、动脑和动手中熟悉、理解链表的基本操作:
1.创建链表
【写一写】自主阅读教材,写出创建空链表的语句。
2.访问链表
【写一写】链表名为data,head值为1,如何通过指针q访问链中所有节点并输出?请描述算法步骤,写出代码。
3. 插入节点
在p指向的“张”与q指向的“郑”之间插入“刘”节点,请描述算法步骤,写出代码
在尾节点(q指向的“王”节点)之后插入新节点“刘”,请写出语句。
在头节点(head指向“李”节点)之前插入新节点“刘”,请写出语句。
4.删除节点
删除q指向的节点(p指向q的前驱节点),请描述算法步骤,写出代码。
写出删除头节点、删除尾节点q的语句。
5.对比数组与链表的应用适用场景。
四、应用链表
教师引导学生在项目求解过程中亲历利用计算机解决实际问题的过程,迁移应用知识:
1. 确定数组结构:链表
2. 任务分解: 增开列车、停运列车、列车晚点
3. 用模块化思想,逐一对3个任务进行算法设计、编写程序。
五、小结
教师引导学生基于单元的结构化知识背景,来认识本节内容,突出知识之间的关联性,也强调在项目实施过程中对知识的综合应用。
附:【设计思路】
本节内容概念性、原理性内容和实践性内容稍多,对于初学者有一定难度,特别是对指针的理解和编辑。为了降低难度和增进学生对学习的兴趣,课堂设计了较多的互动环节,让学生在动手、动口和动脑过程中对抽象知识的理解能更深入;为了促进学生感悟所学知识的价值性,本节通过一个真实项目带动学习和实践,在用中学,在学中学;为了使学生进行深度学习,在教学过程中突出步骤化、在小结时展示思维导图,这些有助于培养学生结构化的思维,促进对知识本质的理解。
设计本节课的核心思想是:让学生在直观、互动、结构清晰的学习过程中学得有兴趣、理解有深度、应用有价值,来促进核心素养的发展。
学科网(北京)股份有限公司
$$