第四单元《计算与问题解决》第2课时《分类诗词便查找——软件制作准备》 教学设计 教科版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

第四单元《计算与问题解决》第2课时《分类诗词便查找——软件制作准备》 教学设计 教科版(2019)高中信息技术必修1

资源简介

高中新课程新教材优质课评选
课时 第 2 课时
子项目 分类诗词便查找——软件制作准备
1.子项目分析: 在大单元教学设计背景下,延续上一子项目,本节课我们将学习如何利用 python 读取古 诗,为后续利用软件学习古诗做准备,在读取过程稿中利用枚举算法,引领学生感受顺序查 找在的生活中的应用。内容学生通过活动活动一:初探读古诗,发现原序输出的古诗词杂乱 无章,接下来呈现活动二:分类读唐诗,在完成活动的过程中,手带动脑,身临其境的感受 枚举算法的思想,最后利用活动三:完善查找代码,师生共同经历利用 range+if 结构实现个 性化查找的过程。
2.学情分析: 学生经历了第一个子项目的学习,小组成员之间经历了一周的磨合慢慢熟悉起来,他们 乐于用所学知识和数字化工具解决生活实际问题。 通过前面单元学习的开展,学生掌握了Python 语言的基础知识,对 Python 编程解决 简单问题的过程较熟悉;他们在生活和数学学科的学习中接触了算法,因此对“ 乐学古诗词 小助手”的软件开发充满好奇心,但是缺乏算法实际学习与解决问题经验,这些在课堂上, 教师可以在学些手册里给出具体指导。
3.核心素养目标:
学科知识 (1)枚举法 (2)openpyxl库
问题解决 (1)枚举法是什么 (2)通过实际案例,理解枚举的特征
学科思维 联想利用计算机的特点,类比生活中解决问题的经验,概括枚举法的特点, 思考其在实际问题解决中的意义。
4.学习重点: 了解枚举法的含义,并能够使用枚举法解决相关问题
5.学习难点: 能够设计出解决问题的算法;能够用枚举法解决相关问题
6.学习支架 教学工具: 网络机房、极域网络电子教室软件、白板、 教学资源: Python3.7编程环境、课堂教学课件、项目活动手册、 自主学习资料
7.成果预期 (1)基本:①理解枚举法的特征②能够通过枚举法设计读取唐代古诗词
1
高中新课程新教材优质课评选
(2)提高:能个性化的利用枚举法读取唐诗词
8.课前准备 (1)分发学习任务包。 (2)辅导组长了解课时任务、分工以及如何使用项目活动手册。
9.教学过程
教学 环节 教师活动 学生活动
子项目 引入 这里是大家上节课课后提交的古诗, 汇 总为一个诗词库, 大家看, 每个同学的爱好 不一,这里是不同时代不同作者不同风格的 诗词库。学习者喜欢分类学习, 在设计软件 时, 我们如何把诗词库的诗词分类显示在软 件里呢? 回顾上周所学内容 观察汇总古诗词
子项目 确定 待解决的问题: 如何分类读取诗词,以便学习呢? 各组在项目活动手册中记下学 习任务。
设计意图:抛出问题,引发学生的共鸣与思考,从而在真实地氛围里引出子项 目
子项目 分析 “ 乐学古诗词小助手 ”软件,首先需要 能完成对汇总古诗词的读取,然后再实现按 需求个性化读取古诗词,那么我们将面临以 下问题: 问题1:python如何实现读取古诗词? 学生聆听、观察。 查找相关学习资源。
2
问题2:python如何实现按 类别读取古诗 词?
设计意图:分解项目任务,细化问题,引导学生思考编程本质。有利于学生完 成子项目。
子项 目实 施 活动1: 初探 读古 诗 采用原始采集的诗词表, 利用python读 取学习,大家观察过程,思考有什么弊端。 import openpyx l main_book = openpyx l. load_workbook( "gushici.xlsx") main_sheet = main_book.active for i in range (1,201): print(i,main_sheet.cell (i,1).value,main_sheet.cell(i, 2).value,main_sheet.cell(i, 3).value) ①输出列表内第i条的各段值 ②初始化列表[1,201) ③读取openpyx l库 ④读取“gushici”工作簿 ⑤读取工作表 (1)运行“ 活动1.py”,通过 修改参数体验代码,为以下代码选 择合适的功能; (2)运行“连连看 ”,验证选 择 (3)汇报探究成果;
设计意图:呈现项目内在联系,前后贯穿的探究体验,有利于深入挖掘学生在信息课 堂中的潜力,帮助其形成利用信息技术解决实际问题的理念。
活动2: 分类读 唐诗 利用枚举法,逐个列举,逐一验证, 挑选唐代的诗句学习。 (1)师生共同探究, 如何读取 “唐”代古诗词; (2)运行“ 活动 2.py”,按照 以下提示补充语句; (3)汇报探究成果;
;
高中新课程新教材优质课评选
设计意图:通过手带动脑的流程图的体验,思考代码语句的功能,在协作探究中,修 改合适的代码,实现枚举唐代诗词的活动。
子项 目实 施 活动3: 完善查 找代码 能不能进一步精确定位呢? (1)结合对枚举算法的理解, 如 果 缩 小 枚 举 范 围 , 应 该 在 (A/B)位置修改算法; 结合对枚举算法的理解,如果更改 判断条件,应该在 (A/B)位置 修改算法; (2)个性化修改“活动3.py” 中的代码,并提交; (3)汇报探究成果;
设计意图:引导学生提出猜想,动手验证,总结规律,真正做到学以致用。
课后作业 进一步探究如何精细化查询所需语句,调试运行。
4
高中新课程新教材优质课评选
子项目评价 展示每个小组推荐的作品, 依据评价 表,相互评价。 引导学生提出改进意见 学生展示、交流、观察评价。 提出改进意见。
设计意图:学习者作为课堂的主人,在40分钟的项目探究后,以成果和回头 看的方式,激励自己继续学习。
子项目总结 本节课,我们进行了个性化选择诗词 的学习,但是,软件一次性给出很多学习 内容,能不能给学习古诗词做一个科学的 进度表呢? 这将作为下一个子项目的内容。下节 课继续探究 学生实验,交流,把问题记录 在任务单上。 有利于后期改进,为下一次课 做铺垫。
设计意图:抛出科学有计划地学古诗词的话题,为下一节做铺垫。
10.板书设计
5
11.课后总结 本课是子项目2,在学生已有项目规划的基础上进行的深入的软件开发工作。执教前, 教师预设了学生将达到的水平:理解枚举法的思想;掌握rang+if结构。因此在开设活动时, 为了层层递进的铺开项目活动,在每个活动过程中教师都进行了穿针引线式的发问,并提 供脚手架式的学习素材。 活动1的开展的过程中,有一个不足之处,“连连看 ”的游戏,虽然令掌握各语句含义 的学习变得形象,但也吸引了部分意志力薄弱学生的注意,他们不断地进行游戏的体验, 导致分散了一定的注意力。这为以后再次进行教学设计提供了一个心得:活动既要承接项 目的开展,又不能过分吸引学生注意力。 活动2的开展, 在整个项目中至关重要, 一切如期而至, 通过顺序读取古诗流程图和枚 举读取古诗流程图的呈现,引出条件判断的重要性,进而激发学生动手实践的积极性,在 学生进行代码补充时,手写,复制, 自创发的不同形式并存,即有效开展了项目学习,有 留给学生发挥的余地,这个环节的开展,教师比较满意。 活动3的开展, 旨在进一步深化查找算法的变形与实际意义, 这也为后续项目“学习古 诗 ”埋下伏笔,毕竟兴趣是最好的老师,首先学生需要预想哪些古诗是自己感兴趣的,哪 些古诗是自己需要学习的,然后才能有动力进行软件开发。将古诗词学习与信息技术课程 进行结合, 真正做到数字化学习工具提高学习效率, 落实计算思维在学科中的体现。当然, 也有一些可改进之处,比如,当学生提出“查找是李白或者是杜甫的诗词 ”时,教师应该 顺势引导,可以设计代码查找题目中包含“李白或杜甫 ”的古诗,这样可以延展到古诗里 的人物关系,这样的课堂会更有生命力和张力,但是教师本人没有进行迁移,除了保障大 项目“乐学古诗词软件开发”的顺利开展之外,还有一个原因是个人反映能力欠佳。 蔡元培先生说过, “教育者,非为已往,非为现在,而为将来 ”,回顾子项目2的开展, 有得意的生成, 也有遗憾的瞬间, 教师相信, 这些都将为后续大单元的顺利开展积攒经验, 为教学实践中贯彻学科核心素养抛砖引玉。
项目活动手册
子项目 2:分类诗词便查找--软件制作准备
学 生 信 息 年 月 日 星期
我的班级 所在组别 组长姓名
我的姓名 组长职责 任务分工,督促完成活动手册
承担任务 我负责指导其他同学完成 “活动 ”,还有
一 、子项目分析(2分钟)
问题1:python如何实现读取诗词?
问题2:python如何实现按类别读取古诗词?
二、子项目实施(30分钟)
【活动1:初探读古诗】(10分钟)
(1)运行“活动1.py”,通过修改参数理解代码,为以下代码选择合适的功能;
6
import openpyxl #
main_book = openpyxl.load_workbook( "gushici.xlsx") #
main_sheet = main_book.active #
for i in range (1,201): #
print(i,main_sheet.cell(i,1).value,main_sheet.cell(i,2).value,main_sheet.c ell(i,3).value) #
①输出列表内第 i 条的各段值
②初始化列表[1,201)
③读取 openpyx l 库
④读取“gushici”工作簿
⑤读取工作表
(2)运行“连连看 ”,验证你的选择;
(3)汇报探究成果;
①汇报上面代码的含义 ②openpyx l 属于第三方库,是一个在 python 中能够处理 文件 的模块; ③range函数的“()”相当于数学里的 区间;
【活动2:分类读唐诗】(10分钟)
(1)运行“活动2.py”,按照提示补充代码;
for i in range (1,201): if main_sheet.cell(i, 2).value=='唐': print(i,main_sheet.cell(i,1).value,main_sheet.cell(i,2).value,main_ sheet.cell(i,3).value)
(2)汇报探究成果;
①演示“活动 2.py”代码界面,并运行;
7
②枚举法定义:根据题意, ,并 ,检 验那些是需要的、那些是不需要的; ③枚举法黄金搭档: + (结构);
【活动3:完善查找代码】(10分钟)
(1)结合对枚举算法的理解,如果缩小枚举范围,应该在 (A/B)位置修改算 法;
结合对枚举算法的理解,如果更改判断条件,应该在 (A/B)位置修改算法;
(2)个性化修改“活动 3.py”中的代码,并提交;
(3)汇报探究成果;
展示本小组更改的代码,并演示运行过程。 for i in range(1,100,1): # 从第 1 条记录开始读取, 直到第 100 条 if main_sheet.cell(i, 2).value=='唐'and main_sheet.cell(i, 3).value=='李白': #如果 cell(i, 2)的值为'唐'和 cell(i, 3)的值为 '李白' if main_sheet.cell(i, 2).value=='唐'or main_sheet.cell(i, 2).value=='宋': #如果 cell(i, 2)的值为'唐'或 cell(i, 2)的值为' 宋'
三、学习资源
8
高中新课程新教材优质课评选
【1、CSDN
【2、CSDN
【3、CSDN
Python 入门教程】 openpyxl 模块简单介绍
Python 入门教程】 range 函数的 for 循环
Python 入门教程】 枚举算法
9

展开更多......

收起↑

资源预览