资源简介 《可以复用的代码(第 2 课时)》教学设计【学科核心素养】1. 运用基本算法设计解决问题的方案,能使用编程语言实现这一方案。(计算思维)2. 通过代码共享,提高数字化分享的意识,能够在虚拟社会中与其他成员安全、负责任地交流与合作;(信息社会责任)【课标标准要求】1.6 从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。1.7 掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。【学业要求】依据解决问题的需要,设计和表示简单算法;掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题。【学情分析】在第 1 课时的学习中,学生通过对“火柴棒摆数字问题”的算法分析,学会了面对复杂问题采用“从上而下,逐步细化”的思想,以及使用函数实现代码复用,将问题“化繁为简,分而治之”的方法。这节课将继续围绕“火柴棒摆数字问题”进一步引导学生学会发布共享代码,导入和使用模块解决问题,形成模块化程序设计的思想,提高数字化分享和协同合作的意识,同时引导学生关注知识产权,能在虚拟社会中与其他成员安全、负责任地交流,增强社会责任感。【教学目标】1. 学会发布共享代码,提高数字化分享的意识;2. 掌握模块的导入与使用方法,能够运用模块解决问题;3. 提高知识共享与版权保护意识,能在虚拟社会中与其他成员安全、负责任地交流与合作;【教学重点难点】教学重点:(1)学会共享代码的发布;(2)掌握模块的导入与使用方法;1(3)使用模块解决问题教学难点:使用模块解决问题,形成模块化程序设计的思想与方法;【教学过程】教学环节 教学内容 学生活动 设计意图1. 回顾复习:小挑战:有 6 根火柴棒,列出所有能摆出的自然数,要求火柴 通过回顾上节课棒正好用完。 的问题分析与算算法设计:枚举算法一一对比找出所有符合条件的自然数。 知识回顾 法设计,帮助学复习引入 学会运用自定义函数实现模块化程序设计和程序内的代码复用生重整思路,同提出任务 这些函数代码具有一定的价值和作用。时提出本节课的任务,建立已知2. 提出本节任务: 和新知识之间的小愿望:可不可以将这些有价值的程序代码共享,让其他人其 联系他程序直接调用,从中受益呢?任务一:共享火柴棒摆数字的程序代码发布共享代码的操作步骤 思考任务 讲 解 模 块 的 构第一步:准备发布文件 聆听讲解 成,帮助学生理创建一个文件夹 mymodule,包含两个文件 解函数与模块之①函数定义文件 mymodule.py 间的关系,通过②版权、功能说明文件 setup.py 声明文件建立学生代码版权的意第二步:构建发布文件 识。发布 ①打开 cmd窗口,进入到上一步建立的文件夹 mymodule下面共享代码 ②然后执行 python setup.py sdist 命令,在文件夹下面将生成如下的文件结构 通 过 mymodule③将模块文件夹 mymodule 发布互联网,让别人都能分享你的成 共 享 模 块 的 发果 布,掌握发布共理解要点 享代码的方法,实践操作 培养学生数字化分享与合作的意识任务二:调用火柴棒摆数字模块解决问题导入并使用模块的操作步骤 思考任务 通 过 mymodule第一步:安装模块 聆听讲解 模块的安装、导①打开 cmd窗口,进入到文件夹 mymodule 入和调用,让学②执行 python setup.py install 命令执行安装 生体验用模块解③执行完毕,将生成名为 build 的新文件夹 决问题,提升开理解要点 发效率,形成模导入模块 实践操作 块化、结构化的并使用 管理模式第二步:导入模块并使用导入模块语句:import 模块名使用模块名.函数名来访问模块内的函数注意:要先导入模块,程序才能使用模块内的函数21. 模块 聆听讲解 通过介绍 Python指实现一组相关功能的函数与变量的 Python定义和声明文件。 的标准模块和常2. 模块化程序设计 用的扩展模块,将一个大程序按照功能划分为若干小程序模块,每个小程序模块 巩固和加深学生完成特定的功能,通过模块的相互协作完成整个功能的程序设计 对模块的认识方法。 Python提供了大量的标准模块(标准库)time 模块—— 获取计算机的时钟信息random 模块—— 获取随机数据os 模块—— 操作系统、目录和文件turtle 模块—— 绘制图形……运用 Python Python常用的第三方库numpy 库—— 科学计算模块解决问matplotlib 库—— 数据可视化题 观察分析requests 库—— 网络爬虫 通过综合应用实思考回答Pillow 库—— 图像处理 例分析,让学生…… 体会到 Python 函数、模块和第三应用实例 1: 方库的强大功能“时钟显示”程序代码 与魅力,可以简化程序代码,提应用实例 2:高程序效率,有生成随机数”程序代码效解决问题。应用实例 3:“最强大脑”游戏的程序代码,Python是一款自由、开放源码的软件 通过交流讨论,1. 开放源代码 思考交流 让学生了解开源开放源代码是一种软件发布模式。开源即代码是公开的,任何 的思想,提高数人都可以去查看,修改以及使用。 字 化 分 享 的 意知识共享与 识,同时引导学版权协议 2. 思考:开放源码是否意味着我们可以任意使用、修改和再发布? 生 关 注 知 识 产师生共同讨论,明确开源并非完全没限制的,我们促进知识共享 权,能在虚拟社的同时尊重他人的知识产权,使用者应遵循开源许可协议,并需 会中与其他成员要承担相应的风险与责任。 安全、负责任地交流,增强社会责任感。运用自定义函数和模块解决下列问题,并试将你的代码分享给同学和老师。 练习巩固 通过练习,让学求解年份生肖?(可参照课本 P45) 生进一步掌握、请输入出生年份,输入 0结束:2004 理解代码段 --函练习你的生肖是:猴 数 --模块的结构请输入出生年份,输入 0结束: 化编程思想,培养知识分享与知识保护的意识。1. 发布共享共享共享者: 生成模块安装包,发布模块 归纳梳理2. 导入并使用模块小结 使用者: 安装模块,导入模块并调用模块中的函数3. 运用 Python模块解决问题4. 知识共享与版权协议促进知识共享,尊重知识产权,使用者应遵循开源许可协议。3【教学反思】4 展开更多...... 收起↑ 资源预览