项目八:设计批量数据处理算法
----以手机通讯录制作为例
学校:福建师范大学附属中学 学科:信息技术 汇报人:王可可 时间:2021.1.5
教学意图:
为了提升学生数字化学习与创新意识,培养学生计算思维。围绕学科核心素养展开项目式教学。本项目以5G时代手机运用作为背景引入,简单回顾手机的基本操作,以手机通讯录制作、手机敏感词汇过滤系统为项目主题。通过“自顶向下,逐步求精”的方法设计算法,引导学生一步步完成项目要求,以达到数据批量操作的python实现--列表。
教学目标:
认识python数据存储的基本方式:列表。
掌握列表的基本操作:添加,引用及切片(整体引用)、更新、删除等。
设计算法完成手机通讯录和手机敏感词汇过滤系统。
教学重点:
Python列表的认识及基本操作。
自顶向下,逐步求精的算法设计方法。
教学难点:
算法设计与程序设计过渡。
教学步骤:
教学环接 | 教师活动 | 学生活动 |
引入 (3分钟) | 播放视频:《1G到5G:1分钟带你了解移动通信的发展史》 设计目的: 激发课堂气氛,引入项目主题 提出问题: 我们站在巨人的肩膀上引来了5G时代,但是快速发展的今天,我们不能浮躁,社会提倡的工匠精神必须从我们学生时代开始培养。因此我们今天将以手机作为主题展开我们的项目探究。项目将以设计最底层也是最重要的手机通讯录开始。下面我们思考一个问题,手机通讯录主要包含哪些功能? | 1、观看,聆听 2、回答问题“手机通讯录包含哪些功能?” |
项目引导1 (3分钟) | 1、介绍“自顶向下、逐步求精”的算法设计核心概念:先进行顶层设计,再对各组成部分进行细化。 2、项目:手机通讯录顶层算法设计 “通讯录管理系统”: 1)增加姓名和手机号 2)删除姓名和手机号 3)修改手机号 4)查询所有用户 5)根据姓名查找手机号 6)退出 3、依据顶层设计展示制作的程序模块图 注释:顶层设计中的步骤,并不能直接对应一条明确的程序语句,还需要进行细化设计,将顶层设计“模块化”,每一步为一个独立的功能模块。 | 1、了解“自顶向下,逐步求精”算法设计核心思想。 2、设计通讯录管理系统顶层算法 |
项目引导2 (6分钟) | 1、提供顶层设计模块,引导学生开始分模块逐步设计。 设计目的:认识列表,及列表引用 2、设计模块1)的算法--增加姓名和手机号。 “增加姓名和手机号”算法细化: 1.1)输入姓名给字符串变量 1.2)如果通讯录里有此姓名则跳过,否则将姓名添加到通讯录最后。同时输入手机号并在通讯录里存入手机号 1.3)打印“输入完成” 第1.2)步算法细化: 1.2.1)单分支判断姓名是否出现在姓名列表,如果是,打印“已有此联系人请重新输入” 1.2.2)如果姓名列表没有此姓名,则使用append方法将姓名添加到姓名列表 1.2.3)输入手机号添加到对应手机号列表,并打印“输入完成”
设计目的:掌握列表操作功能一:添加元素 | 根据设计模块1的算法完成模块1语法细化程序,并成功运行。 掌握列表引用及添加元素到列表的方法。
|
4、项目引导3 (6分钟) | 1、设计模块2)的算法--删除姓名和手机号。 “删除姓名和手机号”算法细化: 2.1)输入要删除的联系人到字符串变量 2.2)找到联系人在姓名列表内的位置 2.3)在姓名列表内删除此姓名 2.4)对应位置的手机号列表内删除手机号 2.5)打印“删除完成” 设计目的: 1、认识列表索引查找方法:index()函数 2、认识列表元素内容删除方法:remove()函数 3、认识列表元素位置删除方法:del 操作 | 1、根据设计模块2的算法完成模块2语法细化程序,并成功运行。 2、掌握根据元素查询索引的方法 3、掌握列表元素内容删除方法 4、掌握根据列表元素位置删除的方法 |
5、项目引导4 (6分钟) | 1、设计模块3)的算法--修改手机号 “修改手机号”算法细化: 3.1)输入要修改的联系人姓名 3.2)找到联系人姓名在列表内的位置 3.3)通过位置找到手机号列表对应位置,并对此位置的号码进行修改 3.4)打印修改完成 第3.3)步算法细化: 3.3.1)输入要修改的手机号到字符串变量 3.3.2)根据手机号列表对应位置,直接进行新手机号赋值,即完成修改。 设计目的: 认识修改列表元素方法 | 根据设计模块3的算法完成模块3语法细化程序,并成功运行。 掌握修改列表元素的方法
|
项目引导5 (3分钟) | 设计模块4)的算法--查询所有用户 “查询所有用户”算法细化: 4.1)循环遍历姓名列表并输出 设计目的:结合列表复习循环结构 | 1、根据设计模块4的算法完成模块4语法细化程序,并成功运行。
|
项目引导6 (5分钟) | 设计模块5)的算法--根据姓名查找手机号 “根据姓名查找手机号”算法细化: 5.1)输入需要查找的联系人给字符串变量 5.2)找到联系人姓名在列表内的位置 5.3)通过位置找到手机号列表对应位置,并输出手机号 设计目的:列表的引用练习 | 1、根据设计模块5的算法完成模块5语法细化程序,并成功运行。
|
项目汇总 (5分钟) | 1、将以上5个细化的算法模块通过最终的整合完成“手机通讯录管理系统”的制作。 2、总结整个项目中涉及到的列表的基本操作,和“自顶向下、逐步求精”的算法设计方法的优点。 2、布置“手机敏感词汇过滤系统”制作小作业。 | 1、完成5个算法细化模块的汇总,形成一个完善的手机通讯录管理系统项目。
|