数据与结构

2020-06-08 15:43黄梅薄志国
中国信息技术教育 2020年9期
关键词:队列数据结构路线

黄梅 薄志国

项目设计依据

数据是计算机加工的基本对象,伴随技术的发展,计算机可处理的数据类型越来越多。数据结构是存在特定关系的数据元素的集合,其与算法紧密关联,让各种算法能够有效地通过程序实现。

本案例内容出自教育科学出版社出版的《信息技术必修1:数据与计算》第3单元“认识数据”第2节,学生第一次接触数据结构,这是培养学生根据现实问题选择并使用数据结构能力的开始。书中通过一系列的任务逐步分析队列、树、图等数据结构的特点,促使学生循序渐进地了解数据结构中数据之间的关系。通过本案例的学习,学生能对简单的问题进行分析,选择恰当的数据结构,并用Python语言编程实现,在问题解决过程中对数据抽象、数据结构的思想与方法有初步认识。

项目教学目标

学生通过前面两个单元的学习,对数据及计算有了初步的了解,知道了简单的编程计算的方法,但对数据之间的关系从未进行过深入了解,对数据结构更是未知,所以本项目的教学目标设定如下:①比较已有的数据分类的知识,理解数据类型的概念及常用种类。②能够将有限制条件的、复杂生活情境中的关系进行抽象,用适合的数据结构表达数据的逻辑关系。③结合生活实际,认识数据结构在解决问题过程中的重要性,学会发现并合理利用身边的数据结构解决实际问题。

项目概述及实施流程

本项目从解决实际问题出发,以“包裹的旅行”项目进行研究,通过“购物体验”“订单管理”“物流运输”“智取包裹”四个环节,依次剖析数据的类型以及队列、树、图等数据结构,预设2课时完成。通过分析生活中的实际问题,培养学生的抽象建模能力,进而提高其运用所学知识解决问题的能力。上页图1为项目探究流程图。

项目教学过程

1.项目引入

知识技能:联系生活,结合实际,获取有效信息。

活动形式:学生讨论、代表发言、教师引导。

问题:在全国人民抗击新冠疫情的时候,很多人的生活必备品都是通过网络购买的。老师今天要跟同学们一起探讨的问题是,通过网络购买的包裹是如何来到我们身边的?

设计意图:疫情发生后,互联网成为全社会抗击疫情的“神助攻”,各大电商为保障抗疫前线物资供应和居民生活物资供应提供了重要的后勤支持。本课选用和生活息息相关的问题,以一个“包裹的旅行”来了解网络购物的流程并探讨网络背后的秘密。

2.项目分析

活动热身:分工协作,讨论项目完成的各个环节。每4~5位学生为一组,选出一位组长,由组长统筹整个项目的实施,并填写相关表格。

设计意图:分组协作,组织讨论实现网络购物的流程,提前对整个项目的过程有个概括的认识。

教学建议:这部分内容可以提前以课前导学单的形式发给学生,让学生提前思考有所准备,然后课上通过数字化工具在线上交流完成。

3.项目实施

环节一:购物体验——认识数据类型

知识技能:数据类型的概念;通过分析实际案例中各种类型的数据,掌握常用的数据类型及其特点。

活动1:购物体验。此部分内容可以提前让学生在家里和家长一起体验网上购物的过程,然后在活动热身时和大家一起讨论分享。

活动2:阅读材料并且填写表格。①自主阅读相关知识第57页部分材料,根据需要有选择地阅读教师提供的自主学习材料。②思考:订单中有哪些数据?有什么特点?③填写表1。

设计意图:浏览购物订单中的数据时进行知识迁移,分析各种数据类型的特点,并且能夠根据实际的需要为数据抽象出适合的数据类型。

环节二:订单管理——初识线性数据结构之队列

知识技能:队列结构的概念及特点。

活动3:订单管理功能分析。①小组讨论卖家对清单有几种操作?②生活中,卖家是怎样合理安排发货的?(引出FIFO先进先出——队列的特性)③完成队列资料的学习,对应清单操作与队列命令,填写相关表格。

活动4:订单管理的编程实现。阅读教师提供的半成品程序,同时完善部分代码。

设计意图:通过对订单如何排单、发货等实际问题的思考,得出规律,所有订单排列在一起,像是一群人在排队,先下单的先安排发货。让学生自己总结出线性数据结构队列的特点,用Python程序实现自己的想法,体验自动化订单管理的便利性。考虑到并不是所有学生的认知水平都一样,所以对于编程有困难的学生,可以借助流程图的形式加深理解,实现分层教学。

环节三:物流运输——认识数据结构之树

知识技能:理解非线性数据结构树的基本概念及应用。

活动5:分析包裹运输路线。①小组讨论包裹发货后的运输形式和路线?②根据下页表2提供的物流详情,用最简单易懂的方法画出A、B快递运输路线?③阅读自主学习材料,总结树结构的特点及生活中的应用。

设计意图:通过观察表2中两个物流详情,总结出包裹运输的路线,通过分析抽象出其逻辑关系,在脑海中建立树结构的模型。先体验,再由教师引导总结扩展,有助于学生思维能力的提升。

环节四:智取包裹——认识数据结构图

知识技能:理解非线性数据结构图的基本概念及应用。

活动6:规划取包裹最快路线。①根据教师提供的相关视频,讨论:快递最后一公里问题?②根据图2给出的信息,规划取包裹的最快路线。③设计算法解决问题,并在教材第63页的方框中描述你的算法。

设计意图:通过对取包裹路线的分析,抽象出点、线、面的关系,并建立图的模型。根据活动中“规划取快递最快路线”这个任务,进一步锻炼学生抽象建模的能力,有意导向学生将复杂问题简单化的思维方式,使其在设计算法时能够将图的问题简化成树的问题,从而算出最快路线。提醒学生在生活中有很多事情也可以做规划,从而将现实中的复杂问题简单化处理。这部分也是促进算法思维能力提升的重点环节。

活动7:程序体验。运行教材第64页求解最短用时参考程序(略)。

设计意图:图结构的知识相对抽象,学生不容易理解,容易丧失学习兴趣。适当给学生体验程序的机会,激发学生进一步探索知识的兴趣。

4.项目展示

设计意图:一个完整的项目教学最重要的环节就是给学生提供展示的平台。学生在项目实施的过程中会遇到很多疑问,也会有很多收获,在一次次思想的碰撞中,学生的项目反复迭代,才能越做越好。

5.项目总结与拓展

设计意图:数据结构这个概念并不是在计算机诞生之初就有,它是伴随着程序设计技术的发展,旨在弥合计算机硬件的简单性和程序应用的复杂性之间的鸿沟,逐步形成和发展起来的。通过总结和拓展活动能让学生意识到,通过采用不同的数据组织方式可以提高计算的效率,而且数据结构在生活中无处不在。

设计后感

每次精心设计一节课,都会对课标有新的领悟,对教材有新的认识。第3单元认识数据这部分内容比较抽象,特别是数据结构的内容,学生从来没有接触过,要在两三个课时内让学生理解,很有难度。本节课融合了书中给出的实例,整合成“包裹的旅行”这个项目进行教学设计,希望学生在整个项目的实施过程中,能理解项目设计背后的关于数据和数据结构的秘密。

教学设计从最初的想法,到最后的定型,经历了漫长的过程,在一次次磨砺中主线逐渐清晰,设计的过程也是一次项目实施的过程,只有不断的迭代,才能找到最优解,形成相对完善的设计。

猜你喜欢
队列数据结构路线
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
队列队形体育教案
画出路线
闻鸡起舞
缓存淘汰算法研究
青春的头屑
找路线
队列操练
数据结构与算法课程设计教学模式的探讨