第四单元《计算与问题解决》第3课时《巧学诗词有妙招——学习模块实现》 教学设计 教科版(2019)高中信息技术必修1

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

第四单元《计算与问题解决》第3课时《巧学诗词有妙招——学习模块实现》 教学设计 教科版(2019)高中信息技术必修1

资源简介

高中新课程新教材优质课评选
课时 第3课时
子项目 巧学诗词有妙招——学习模块实现
1.子项目分析 在大单元教学设计背景下,“乐学古诗词小助手”软件设计的功能分析和界面设计已 经完成,并且诗词库的整理已经就绪。本节课将研究如何有效学习诗词。因此,子项目中 会涉及到诗词文件的读取、统计和显示等编程技能,特别是要通过数值计算的应用,确定 每次学习哪些诗词。 根据子项目1的设计, 此项目中采用文本控件显示选学的诗词。但是, 诗词库中的诗词 名句数据量较大,学习者每次只能选取其中一部分学习。根据学习者的进度确定每次选学 诗词的数量。但,学习进度的确定有待深入研究。
2.学情分析 学生通过前面章节的学习, 学生能在python编程环境下, 使用tkinter模块设计简单的 GUI。学生已经掌握了访问数据库文件的一般方法。学生对Text控件的使用有了初步的了解。 但是,在软件设计中,学生还不懂如何应用基本算法实现开发功能。因此本节课重在引导 学生分析算法,掌握数值计算在实际应用中的一般过程。
3.核心素养目标
学科知识 (1)计算机进行数值计算的基本流程和方法。 (2)迭代算法的原理与应用。
问题解决 (1)如何用计算机进行数值计算?通过对实际数学问题的求解过程, 了解计算 机进行数值计算的基本流程和方法。 (2)如何理解迭代法? 迭代法能解决什么问题? 通过经典例题 ,理解选代 法解决问题的过程.并实践应用。
学科思维 (1)通过使用经验性知识和解析法解决数学问题, 感受设计程序解决问题的优 越性。(信息意识、计算思维) (2)关联数学逻辑、程序循环等知识, 归纳迭代法的特征, 思考在特定类型问 题中的重要意义,感受数值计算在现代学科中的重要意义。(信息意识、信息 社会责任)
4.学习重点 (1)数据变化的规律及表达方式。 (2)迭代模块和软件其他模块的数据传递。
5.学习难点 (1)迭代过程的理解。 (2)应用迭代算法统计已经学习过诗词句的数量。
6.学习流程
7.成果预期 (1)基础:能够编程实现输入天数,输出已经学过多少句诗词。
1
高中新课程新教材优质课评选
(2)提高:实现在文本框控件中显示当天选学的诗词。
8.学习支架 教学环境: 多媒体网络教室、电子教室软件、问卷星平台、 Python 3.8编程环境。 教学资源:
9.课前准备 (1)为每个学生机分发自主学习资源包,并介绍资源包中内容及使用方法。 (2)为每位同学分发一份纸质“项目活动手册”。 (3)辅导组长了解本节课要解决的问题、如何使用“项目活动完成进度记录表.xlsx” 完成对本组成员的评价。
10.教学过程
教学 环节 教师活动 学生活动
子项目 引入 《荀子·劝学》中有诗句:“不积跬步, 无以至千里;不积小流,无以成江海。”同 样, 面对大量的古诗词名句, 我们必须一步 一个脚印的学习, 那么, 我们如何制定循序 渐进的学习计划呢? 聆听 学生打开上一节课后完成的作 品“乐学古诗词.py ”程序, 观察思考,讨论。
设计意图:提出如何制定学习计划,引出选学诗词数量的确定这一数值计算问 题。通过算法分析,进而完成学习模块的设计的。
2
子项目 确定 假设每20天为一个周期,具体计划是 这样的: 第1天学习1条, 第2天学习2条, 即以后每天比前一天多学1条。 那么,如何通过计算确定某一天要学习哪 些诗词? 在项目活动手册中记下学习任 务。 思考分析:问题的已知条件是哪 些?在每天的学习诗词句过程中, 发现哪些数据在变化?
设计意图:计划中数据具体化,精确化,引导学生使用数值计算的思维方式分 析问题。
子项目 分析 已知项目中学习计划是每天递增的, 我们需要通过数学方法把规律表现出来, 并应用在学习模块的编程设计中。以下问 题作为参考,请同学们尝试完成。 问题1:按照学习计划,学习诗词数量的递 推关系如何表达? 问题2:如何编程计算已经学过的诗词句数 量? 问题3:根据已经学过的诗词句数量,确定 从第几句开始学习? 问题4:如何把每天选学的诗词内容显示在 文本框中? 学生聆听、观察思考,数据的变 化。
设计意图:分解项目问题,细化思考问题的步骤,引导学生思考编程的本质。 有利于学生按步骤完成子项目编程实现。
子项 目实 施 活动1: 算法分 析 假设输入学习天数d,要计算d 天内学过的诗词句数量。我们如何 才能发现这种计算方法的规律性 呢? 阅读活动手册,完成相应内容。 (1)完善表格 (2)总结规律 total=total+d
设计意图:讨论交流, 寻求解决问题的方式。通过手动填表递推的过程, 体验迭代过程, 从而领悟迭代的思想。解决了“问题 1 ”。
活动2: 编程实 现 通过活动1的分析, 我们已经发 现如何计算累计学习诗词的数量。 那么,我们如何编写程序实现累加 功能呢? 参考活动手册, 使用Python编辑器打开 文件“xuanxue.py”。 (1)完善程序设计 (2)调试运行
o
设计意图:借助独立的一个小程序,完成数学计算功能,从得出已学诗词累计数量。 通过分析数量的关系,进一步体会迭代三要素。这个小程序的成功调试,增强了学生 自信心,也为后面复杂程序的编写奠定了基础。解决了“问题 2”。
子项 活动3: 通过活动1表格的分析, 我们知 道了每天学习的诗词句的数量和天 数day有关。 通过活动2的学习, 我们能计算 阅读活动手册, 使用Python编辑器打开程 序文件:“乐学古诗词之学习模块.py ”。 完成活动3的内容: (1)关键语句分析
;
目实 施 实际应 用 出某一天之前的学过的诗词数量, 从而我们可以确定这一天开始学习 诗词的位置。 那么,我们如何文本框中显示学过 诗词的数量?并且显示这一天要学 习的诗词内容呢? selectL=xuanxue(day-1)+1 (2)完善程序 (3)调试程序
设计意图:通过对关键语句的分析与填空,帮助学生进一步认识算法在程序设计中的 应用过程。通过本节课的活动为学生后期各个功能模块的分析奠定了基础。解决了 “ 问题 3”、“问题 4”。
子项目评价 教师抽查作品和活动手册,展 示交流,依据评价表,相互评价。 引导学生提出学习过程中产生的疑 问。 学生展示、交流、观察评价。 提出改进意见。 体验设计软件的迭代反馈过程。
学业考评 问卷星在线“随堂测试” https://ks.wjx.top/vm/rZ1CZ8k. aspx 学生分析题目、选择答案。
设计意图:考察学生利用资料自主学习的能力,阅读程序的能力,数据变化规 律的发现能力。为下一节学习算法埋下伏笔。
子项目总结 同学们基本完成子项目的功 能,单击“学习诗词”按钮,我们 可以按计划学习诗词了,我们如何 设计测试功能呢? 学生实验, 交流, 把问题记录在活动手 册上。 有利于后期改进,为下一次课做铺垫。
课后作业 层次1:所有同学进一步完善课堂上分析的程序,调试运行。 层次2:感兴趣的同学尝试一下,如果每天学习5句诗词,如何改写程序?
11、板书
12、反思 1)函数showtext1()比较复杂,涉及到文件内容的输出和输出诗词起始点的计算等, 所以下次课,这部分程序详细介绍。可以采用微视频。 2)Python的编程的格式很严格,在程序填空过程中,学生容易出错。下次课只留语 句的后半部分为填空部分。 3)学生积极参与活动,但是整体活动效果不明显,特别是组长检查后,没有当堂展 示检查效果,而是放在课后作业检查的内容。 4)项目式学习是以问题为线索, 沿着发现问题、分析问题、解决问题的路线完成学习。 本节课问题分析过程中没有充分发挥学生自主创新能力。问题分析存在教师主观性, 应该 引导学生利用发散思维,充分体现课堂生成性的价值。
4
项目活动手册
子项目 3:巧学诗词有妙招——学习模块实现
学 生 信 息 年 月 日 星期
我的班级 所在组别 组长姓名
我的姓名 组长职责 任务分工,督促完成活动手册
我的任务 我负责指导其他同学完成 “活动 ”,还有
一、 确定问题(2 分钟)
假设每 20 天为一个周期,具体计划是这样的:第 1 天学习 1 条,第 2 天学习 2 条, 即以后每天比前一天多学 1 条。
本节课将 通过 。
二、 分析问题(2 分钟)
问题 1:按照学习计划,学习诗词数量的递推关系如何表达?
问题 2:如何编程计算已经学过的诗词句数量?
问题 3:根据已经学过的诗词句数量,确定从第几句开始学习?
问题 4:如何把每天选学的诗词内容显示在文本框中?
三、 子项目学习过程(30 分钟)(组长始终检查督查中)
活动 1:如何计算学习诗词的数量——算法分析(8 分钟)
1) 完善表格
以下表格显示了, 每天的学习诗词的数量以及 d 天累计学习的诗词数量。请你根据前三 天的规律,完成第 4 天和第 5 天的相关数据。
天数 (d=0) 当天学习的诗词 句数量 比前一天多学的 诗句数量 累计学的诗词数量
第 1 天 1 1 1
第 2 天 2 1 1+2
第 3 天 3 1 (1+2)+3
第 4 天
第 5 天
… … … …
第 20 天 20 1 (1+2+…+19)+20
发现:
5
2)发现规律
假设诗词累计数量保存在变量 total 中,以下表格体现了 total 的值是如何变化的。 请你把空白处填写完整。
天数(d) 累计学的诗词数量(total) 表达式表示
total total=0
第 1 天 total total=total+1
第 2 天 total total=total+2
第 3 天 total total=total+3
第 4 天 total
第 5 天 total
发现: total= ,累加的数量 total 初始值为
(回答了第几个问题: 1 ?)
【小结】
(用自己话说)
【自我评价 :☆☆☆☆☆】
活动 2:如何编程计算出已经学过的诗词数量——编程实现(10 分钟)
根据活动 1 的分析,此算法为常见的累加求和算法。
1)完善程序
请根据注释,完善空行①和②, 并调试程序。
o #调用函数 xuanxue(),输出返回值。
备选语句: A、total=total+d
B、total=0
,

记录调试程序过程中出现的问题: 。
2)程序运行:
参考视频,使用 IDLE 打开文件“xuanxue.py”,完善程序,并运行。
多次运行程序,输入不同的数值给变量 day,记录运行结果。
输入: 1 输出: 。
输入: 2 输出: 。
输入: 4 输出: 。
输入: 6 输出: 。
输入: 20 输出: 。
思考:
6
程序中第 4 行变量 d 的变化范围是:最小值是 ,最大值是输入的数值 ,数学表
达式为: ≤d≤
(回答了第几个问题 : ?)
【小结】(配对)
程序中如何体现迭代三要素:
下图是迭代三要素和程序的关键语句,请你按照对应关系一一连线。
①确定迭代的终止条件 ②确定迭代变量 ③建立迭代表达式
, , 。
【自我评价 :☆☆☆☆☆】
活动 3:如何把要学习的诗词显示在文本框中——实际应用(12 分钟)
使用 Python 编辑器打开程序文件:“乐学古诗词之学习模块.py ”。
完善程序
阅读程序文件“乐学古诗词之学习模块.py ”。填写缺少的模块或者语句。
a.填写关键语句,完成问题 3 中提出的功能。
(
o
)
答题处: 。
b. 填写关键语句,完成问题 4 中提出的功能。
(

)
答题处:
【自我评价 :☆☆☆☆☆】
7
【班长总结】:
1、通过自定义函数 xuanxue()的 运算,确定了已经学习诗词句的数量。
2、从学过的诗句后第 句开始学习。
拓展资料:
一、 文件库 “古诗词.xlsx”的数据结构:
二、 文本框控件(Text1)
Text1 = ScrolledText(window, width=80, height=15, )
Text1.place(x=100, y=120)
三、 按钮控件(Button1)
Button1 = tk.Button(window, text='学习诗词',command=showtext1, width=14,height=3, ) Button1.place(x=100, y=500)
#文本框控件中的命令 conmmand 参数,运行函数 showtext1(),把诗词显示在文本框中。
四、 “学习诗词”模块中用到的库
from tkinter import * #导入 tkinter 模块,创建图形用户界面
from tkinter.scrolledtext import ScrolledText
import tkinter as tk
import openpyxl #导入 openpyxl 模块, 实现对表格的操作
五、 使用变量:
selectL=1 #选学诗词起点
selectN=1 #选学诗词数量
MaxRow=1 #诗词库最大行数
day=1 #学习进度,如第 day 天
六、 迭代法实现确定选学诗词的数量
def xuanxue(day): #利用迭代法求 day 天学过了多少句诗词
total=0
d=0
for d in range(1,day+1,1):
total=total+d
return total
#通过自定义函数 xuanxue()的累加运算,确定了已经学习诗词句的数量。
七、 下面六行功能:在文本框中显示当天选学的诗词句.
回答了问题 4:如何把每天选学的诗词内容显示在文本框中?
8
Text1.insert(INSERT,"\n 速览新学诗词名句:\n\n")
for iinrange(selectL,selectL+selectN):
wordsId.append(i)#添加选学的诗词编号
Text1.insert(INSERT,str(i)+' '+main_sheet.cell(i, 2).value)
Text1.insert(INSERT,"\t"+main_sheet.cell(i,3).value)
Text1.insert(INSERT,"\n")
活动完成情况进度记录表
活动进度记录表
组员 活动 1 活动 2 活动 3
组长 -
2
3
4
5
6
7
8
9
根据完成的优劣,给分值 A、B、C。
9

展开更多......

收起↑

资源预览