资源简介 《数据与结构》第 1课时教学设计【学科核心素养】掌握数字化学习的方法,能够根据需要选用合适的数字化工具开展学习(信息意识、数字化学习与创新);能够利用软件工具或平台对数据进行整理、组织、计算与呈现;依据解决问题的需要,设计和表示简单算法;掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题(计算思维)。【学业要求】对于日常生活中常见的问题,利用利用软件工具或平台对数据进行整理、组织、计算与呈现。【内容要求】熟悉队列结构的概念和特点,能够使用 Python 语言对队列进行操作;能够比较不同数据结构的特点,会选用合适的数据结构组织数据解决简单问题。【教学内容分析】本节课节选自教育科学出版社出版必修 1《数据与计算》中的第三单元《认识数据》第 2 节《数据与结构》,本节共 2 个课时,此课为第 1 课时。本节的任务一是让学生通过活动 1“了解订单数据”,亲身体验数据的类型——字符串、数值(整数、浮点数)、布尔型(逻辑值),理解各种不同类型的数据的基本处理方式;通过活动 2“编制订单数据处理程序”,以队列为例(Python 中以列表实现),认识和掌握数据结构是对数据间关系的抽象和组织,引导学生深刻领会应用数据结构解决学习和生活实际问题,并能举一反三,触类旁通。两个活动相互关联,前者主要是对数据的简单类型建立感性认识,后者是对简单数据类型进行组织和结构化(成为复合数据类型),以便与实际应用更好对接,建议任务一安排 1课时。【学情分析】本节课教学对象为高一学生,这个年龄段的学生探究意识比较强;在第 2 单元《编程计算》的学习中,他们已经认识了整数、浮点数和字符串等常见的数据类型,学习了分支结构、循环结构,对列表有了初步认识;由于课时不足的原因,以上知识没有得到很好的巩固,学生还不能熟练应用。【教学目标】1. 了解常见的数据类型。2. 了解常见的数据结构。3. 了解队列结构及其特点,体验使用 Python 语言对队列进行操作。【教学重难点】教学重点:了解常见的数据类型和数据结构,了解队列结构及其特点。教学难点:使用 Python 语言对队列进行操作。【教学准备】网络机房;Python 语言环境;微课;教学课件和学案。【教学策略】教法:情景驱动、任务驱动、问题导学、演示法、讲授法学法:思考讨论、自主探究、实践学习【教学过程】过程与方法环节 学生活动 设计意图 教学资源(教师活动)情景驱动(2min) 观察、思考、回 向学生展示 PPT向学生展示购书订单截 购书订单截图,答:订单截图里有姓图,并提问:截图里有些什 引导学生观察图名、电话号码、收货么数据呢? 中有哪些数据,地址、书的名称、封有姓名、电话号码、收 并思考这些数据货地址、书的名称、封面图 面图片、单价、购买 在 Python中将会片、单价、购买数量等等。 数量等等。 被表示为什么类引发思考:这些订单数 型的数据。(一)据是从计算机系统里调用出引来的,它们在计算机系统里入是怎样存储和应用的呢?各种计算机语言都定义了多种数据类型来存储和组织这些数据。引出以 Python为例了解数据类型,刚才那些数据在Python里会被表示为什么类型的数据呢?1.探究数据类型(5min) 启动 Python 的开 让学生自主 PPT请同学们在 Python的开发环境,利用 type() 探究 Python中的 学案发环境中,利用 type()函函数探究订单数据 数据类型。 微课数探究订单数据类型,把探究结果填写在学案中的表 1, 类型,把探究结果填 Python具 体 操 作 可 以 观 看 微 课 写在学案中的表 1。(type 函数.mp4)。(二) 通过探究,我们发现商讲授 品名称、商品编号是字符串新课 数据,数量是整型数据,单 听讲。 通过教师讲价是浮点型数据。 解,让学生了解 PPT我们学习了数据编码, 定义数据类型的知道怎样把数据输入并存储必要性。在计算机中。接下来,为了方便对数据进行处理,我们可以选择合适的软件工具,例如 Python,根据问题的需要为数据抽象出合适的数据 通过教师讲类型,然后对数据进行组织解,了解数据类 PPT和计算。数据类型用来定义一系 听讲。 型的分类:简单列值及应用于这些值的一系 数据类型和复合列操作,大多数程序设计语 数据类型,了解言都定义了两类数据类型: Python 中的常见简单数据类型和复合数据类 数据类型。型。在 Python 中,整型、浮点型、字符串、布尔型等,不能分解成更小的数据类型,这些属于简单数据类型。由简单数据类型或者复合数据类型组成的则是复合数据类型,比如列表、字典等。2.探究列表(list)(5min)在第二章第 3 节,我们完成任务:在 通过完成任初步认识了列表,接下来我Python 中创建列表 务,复习对列表 PPT们进一步探究列表这种复合OrderList=[“苏东 的已有知识,同 学案数据类型。布置任务:请你根据表 2 坡传”,19.90,3], 时也是为后面对中的订单数据,在 Python 中 同时在学案中把表 2 列表的操作做铺创建列表 OrderList=[“苏东 填写完整。 垫。坡传”,19.90,3],同时在学案中把表 2 填写完整。教师演示填写结果。 检查自己的填写结果。在第二章的学习中,我 PPT们知道索引号从第一个数据元素开始依次是 0、1、2、3, 听讲。通过创建列通过索引号,我们可以找到相应数据元素的值,比如 表和听讲,进一OrderList[0]的值是商品的名 步了解从数据到称 , OrderList[1] 的 值 是 数据类型的抽象19.90。 过程。同学们发现没有?订单观察。中的每一个数据项可以抽象为简单数据类型,商品名称抽象为字符串数据,单价抽象为浮点型数据,数量则抽象为整型数据;而商品名称、单价、数量等基本数据项,组合在一起形成了一个订单听讲,抽象。 通过问题,数据,这样的订单数据可以抽象为列表这种复合数据类 引发学生思考,型,这个复合数据类型是由 认识到对数据进简单数据类型构成的。 行组织和管理的提出思考:有大量订单 思考。 必要性,从而引的话,计算机如何有效地操出数据结构。作和管理数据呢?3.探究数据结构(3min)提问:如何有效地操作通过思考、和管理数据?思考、回答、听讲。 回答问题,引出解答:各种类型的数据数据进行结构化被编码表示成二进制数据存的重要性。储到计算机中,在计算机解决问题的过程中,这些数据将是最基本的元素。比如,我们网购的时候每消费一笔,就会产生一个订单,包PPT含了很多相关数据。零散孤立的数据是很难被有效利用的,大量的订单数据,每个订单的管理模式应该是一样的,每个订单独立管理的话,管理效率低下。因此要根据所要解决的问题的不同,我们还需要依据数据关系建立合适的结构,采用这些结构将数据组织起来,才能有利于操作和管理,进而更高效地解决实际问题。提问:那什么是数据结构呢?解答:数据结构是存在特定关系的数据元素的集 听讲。 通过讲解,合,这种特定的关系包括数 了解数据结构及据的逻辑结构和存储结构。 其分类,指出本 PPT在解决问题的时候,一些相 课重点了解线性关联的数据将集中在一起, 数据结构。形成了一个数据的集合,这种集合能够单独或作为一个整体被访问和处理。这里所讲的数据结构属于逻辑结构,每一种数据结构里的数据元素之间都存在一定关系,我们可以依据这种关系分为线性结构和非线性结构两类。线性数据结构有队列、栈等,非线性数据结构有树和图等。今天这节课我们将学习线性数据结构,下节课将学习树结构、图结构。4.探究线性数据结构(2min)线性数据结构也称为线 通过讲解,性表,在线性数据结构中除 听讲。 了解线性数据结 PPT首元素没有前趋元素,尾元 构及其特征。素没有后继元素外,其他元素都有一个前趋元素和后继元素,数据元素之间是一对一的关系。队列是一种有限制的线性结构,数据元素只能在一 听讲。 通过讲解,端依次添加,在另一端依次 了解队列及其操 PPT删除。添加的这一端叫队尾, 作特点,为后面添加的操作称为进队;删除 利用队列来解决的那端叫队首,删除操作也 订单问题做知识称为出队。队列的特点是先 铺垫。进 先 出 ( FIFO:First In FirstOut),也就是先进来的总是先出去,就像付款排队、候车排队、医院电子屏上的候诊名单一样,依次进行。5.应用(2min)今天这节课的两个重点 以“如何利分别是数据类型和数据结 用数据结构解决构,它们之间有什么关系 听讲、理解、抽 订单数据处理问吗?实际上它们关系密切, 象。 题”作为一个案我们通过订单数据处理问题 例,理论联系实来分析两者之间的关系和应 际地讲解如何把用。 数据类型和数据许多程序设计语言定义 结构结合起来解了复杂数据类型,以实现对 决实际问题。数据结构更高层级的抽象。复杂数据类型可以封装并隐藏数据结构中的操作细节,让程序设计者更多地关注数据结构能做什么,便于利用数据结构解决问题。现在,我们回到前面的订单数据处理问题。订单处理的一般原则是“先下单先发货”,这个原则跟我们刚才讲的线性数据结构队列的操作特点“先进先出”刚好吻合,结合我们前面讲的列表,同学们是不是有解决问题的思路了呀?没错,我们可以考虑利用列表来解决订单处理问题。Python 中的列表数据类型,可以实现线性结构组织的数据元素的存储和操作。列表的使用者只需要知道列表上有哪些可用的操作,而不需要知道这些操作是如何进行的。我们可以建立列表存储全部订单编号,然后通过对列表里订单编号的操作来实现对订单的管理,所以我们需要知道列表的哪些操作可以实现对订单的增加和发货处理。6.探究列表的常见操作(5min)讲解列表的常见操作 听讲。 讲解列表的(以变量名为 listque 的列 pop(0) 和表为例进行说明)。append(x)的操作listque.pop(0),这个方法的同时,紧点前面的是列表的名称,点后面的是可以应用于列表的 密联系要解决的方法,也就是对列表的具体 订单问题实际:操作。 发 货 和 增 加 订listque.pop(0)的作用 单,让学生了解是删除列表的首元素,并返通过列表的操作回该元素的值,相当于队列方法来实现对订的出队操作,通过出队可以单数据的管理是实现发货。listque.append(x) 的 如何实现的。作用是在列表尾部添加一个数据元素,相当于队列的入队操作,通过入队可以实现增加订单。以上列表的两个方法对应了“队列”这种特殊的线性数据结构的基本操作,为了满足一般的线性数据结构中的其他数据处理的需求,列表还有一些其他的操作,如插入数据元素、统计数据元素出现的次数和获取列表的长度等等。7.订单问题的抽象过程(1min) 通过图形展图示:订单问题抽象过 示订单问题的抽程。 象过程,加深学讲解:根据订单处理原 生的理解。则这个实际情况,把集合在 听讲。一起的大量订单数据,抽象成队列这种数据结构进行管理,而列表这种复合数据类型很好地隐藏了队列数据结构中的操作细节,我们只需要 掌 握 列 表 的 pop() 和append()两个操作方法,便可实现对订单的添加和发货管理,数据类型和数据结构巧妙结合在一起方便地解决了一个实际问题。编制订单数据处理程序 观看、补充代(14min) 码、调试。 PPT(三) 布置任务:先观看分析 微课自主 订单处理程序的视频(订单 Python探究 处理程序讲解.mp4),然后自己动手完善订单处理程序并测试运行。(四) 归纳总结本节课的学习内容 听讲、回顾知识 总结、梳理、 PPT课堂 (1min) 点。 巩固。小结 展开更多...... 收起↑ 资源预览