2.1 数组 教学设计(2课时,表格式)

文档属性

名称 2.1 数组 教学设计(2课时,表格式)
格式 zip
文件大小 124.3KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2021-10-25 17:44:47

文档简介

2.1数组教学设计
一、教学设计
课程标准 和 教学目标 数组
教材内容: 2.1数组的概念、特性、基本操作
1.3结合生活实际,理解数据结构的概念,认识数据结构在解决问题过程中的重要作用。 1.4 通过案例分析,理解数组的概念,并能编程实现其相关操作。
教学目标: ●通过实例讨论与分析,培养学生寻找解决现实问题关键数据的意识与能力 ●通过实例中关键数据的数字化表达,学会使用数组来表示一组相同类型数据,理解数组的概念和特性。 ●在数字机房中通过实例的编程实现,掌握数组的相关操作和使用数组编程的思维。 教学重点:数组的概念、组织结构及其特性 教学难点:能合理利用数组设计算法解决相应的简单问题并编程实现 指向的核心素养: ●信息意识落点在“能够根据解决问题的需要,自觉、主动地寻求恰当方式获取信息与处理信息;在合作解决问题的过程中,愿意与团队成员共享信息,实现信息的更大价值。”教学中是将数组的概念及其基本操作融入实际问题之中,在教师的引导下,通过师生的交流探讨一步一步学习数组相关的理论知识,并根据这些理论,从现实情境问题中提取出关键数据并使用数组存储;在其后的班级抽奖项目的实现过程中自主分析并提取其中关键数据并使用合适的数据结构(数组)存储这些数据;在以上过程中均在培养或提升学生获取关键信息的能力,即信息意识的培养与提升。 ●计算思维落点在 “能够采用计算机科学领域的思想方法界定问题、抽象问题特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。”学生在车牌摇号随机抽取程序实现过程中,在教师的引导下体验并参与完整的问题解决过程,学习并明了计算机解决实际问题的步骤及相应算法的设计,在此基础上,学生自主完成班级学生随机抽奖问题的建模及算法设计,在该过程中可以加深及强化学生建模及算法设计的能力,提升自身的计算思维。
学习环境:机房,预装Python编程环境。
建议课时:1.5课时
教学活动设计 教学环节 教学过程 设计意图
情境导入 以“车牌摇号”的实例引出在编程过程中如何将同类数据保存在一起,从而导出“数组”的概念,数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分它们的变量的集合,这个名字称为数组名,这个编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。 数组特性: (1)每个元素类型相同。 (2)一般元素个数固定。 (3)数组元素使用数组名和它在数组中的位置来表示。 围绕车牌摇号的生活案例,引导学生从数据结构的角度重新审视程序,导出“数组”概念及特性的讲解。同时,由项目的分析提出数组,一方面可以使学生更容易接受,另一方面在介绍这些偏理论方面的内容时,由于涉及到项目的解决从而让学生学习时更有积极性
知识讲解1 将数组创建、数组访问、数组元素内容修改等基本操作融入“统计分数”、“五子棋盘描述”、“基于数组实现数据合并的功能”等现实情境中,在实例学习中掌握数组的基本操作。 引领学生学会根据实际项目的数据特点选择合适的数据结构,并在此基础上设计相应的算法。
问题与讨论1 参考数组元素的插入过程,分组讨论并得出在数组中删除一个数组元素的步骤及其注意事项。并结合两者的不同从而得出本讨论的结论。 教师可以适当引导学生注意并参考数组元素插入的步骤和注意事项,并结合两者的不同从而得出本讨论的结论。通过插入数组元素和删除数组元素的对比教学,有助强化学生对数组基本操作的理解,培养学生知识迁移的能力。
知识讲解2 通过“车牌摇号系统”项目的分析,让学生体验问题界定、抽象特征、建立结构模型、合理组织数据结构,形成算法、程序实现的过程。并通过该项目的算法分析及程序实现,展示数组的应用,最后利用思考与练习中班级随机抽奖问题的分析与实现,重温利用数组结构解决问题的过程,培养学生知识迁移的能力,并起到巩固、提高的教学效果。 让学生体验使用数组解决实际问题的编程过程,通过实际问题的解决,培养学生使用数据结构解决实际问题的意识。
自主学习(1) 教师引导学生自主学习Python列表常用函数与方法,并利用列表的方法简化环节8中的程序代码。 通过体验不同的程序实现方式,开拓学生的视野,培养学生在解决问题中合理评估并选择最优方案的意识,同时体会所学Python语言的优势,提升学生学习Python语言的兴趣。
课堂小结 知识梳理: 学习评价(附件10:学习评价表) 通过自评引导学生反思本节课所学内容,发现问题与不足,起到查漏及巩固的作用,通过互评与交流加强同伴的交流与合作,实现团队协作中多种能力的培养。
布置作业 ●基础作业(面向所有学生): 1.选择题(详见课后练习)。 2. 参考二维数组的行优先存储方式,画图模拟二维数组的列优先存储方式。观察并比较行优先存储与列优先存储中相同元素的存储位置的改变,如qp[1][2]在行优先存储方式下在序列的第7个位置,则其在列优先存储方式下在序列的第几个位置? 3. 参考摇号系统的功能实现,将自己班级所有同学的名字以一个名字一行的形式存入文件name.csv,并使用文件读入的方式,使用数组实现随机抽奖程序。设计意图:课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。根据学生的基础和能力设置不同难度的作业,以满足不同层次的学生需求。 ●提升作业(面向学有余力学生): 网上购物已经成为人们的一种生活方式,人们可以在购物网站上查询商品、购买商品,最终付款。请实现功能:根据购买商品清单计算需付款金额。 课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。根据学生的基础和能力设置不同难度的作业,以满足不同层次的学生需求。
针对 核心素养培养的 设计考虑 信息意识:落点在“能够根据解决问题的需要,自觉、主动地寻求恰当方式获取信息与处理信息;在合作解决问题的过程中,愿意与团队成员共享信息,实现信息的更大价值。”教学中是将数组的概念及其基本操作融入实际问题之中,在教师的引导下,通过师生的交流探讨一步一步学习数组相关的理论知识,并根据这些理论,从现实情境问题中提取出关键数据并使用数组存储;在其后的班级抽奖项目的实现过程中自主分析并提取其中关键数据并使用合适的数据结构(数组)存储这些数据;在以上过程中均在培养或提升学生获取关键信息的能力,即信息意识的培养与提升。 计算思维:落点在 “能够采用计算机科学领域的思想方法界定问题、抽象问题特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。”学生在车牌摇号随机抽取程序实现过程中,在教师的引导下体验并参与完整的问题解决过程,学习并明了计算机解决实际问题的步骤及相应算法的设计,在此基础上,学生自主完成班级学生随机抽奖问题的建模及算法设计,在该过程中可以加深及强化学生建模及算法设计的能力,提升自身的计算思维。2.1数组的应用教学设计
一、教学设计
课程标准 和 教学目标 数组的应用
教材内容: 2.1数组的概念、特性、基本操作
1.3结合生活实际,理解数据结构的概念,认识数据结构在解决问题过程中的重要作用。 1.4 通过案例分析,理解数组的概念,并能编程实现其相关操作。
教学目标: ●通过实例讨论与分析,培养学生寻找解决现实问题关键数据的意识与能力 ●学会使用数组来表示一组相同类型数据,理解数组的概念和特性。 ●掌握数组的相关操作和使用数组编程的思维。 教学重点:数组的概念、组织结构及其特性 教学难点:能合理利用数组设计算法解决相应的简单问题并编程实现 指向的核心素养: 信息意识:能够根据解决问题的需要,自觉、主动地寻求恰当方式获取信息与处理信息;在合作解决问题的过程中,愿意与团队成员共享信息,实现信息的更大价值。 计算思维:能够正对限定条件的实际问题进行数据抽象,运用数据结构合理组织、存储数据,选择合适的算法编程实现、解决问题。 数字化学习与创新:学生在解决困难时能有意识地运用数字化环境中的信息与学习资源展开自主学习。
学习环境:机房,预装Python编程环境。
建议课时:1课时
教学活动设计 教学环节 教学过程 设计意图
情境导入 五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。 随着技术发展,棋类游戏不再仅仅出现了真实的棋盘上,手机、电脑等设备上都出现了可以下棋的应用软件,五子棋也不例外。现在,你应邀参与制作团队,作为简易五子棋游戏的设计者与开发者,来思考下在游戏设计时需要解决的问题并使用python语言开发实现。 通过五子棋的情景导入,让学生学会重信息技术学科的视角分析问题。
知识讲解 项目分析: ①参考已有的棋类游戏软件,明确五子棋游戏规则应用,激发学生参与的兴趣。确定现阶段实现系统的可行性,包括人员、时间、场地等安排,重点明确简易五子棋游戏设置为双人对战方式。 ②通过组员对战演练等方式体验和分析,准确理解【简易五子棋游戏】界面设置,游戏进程的开始和结束等具体要求。(学习站在开发者的角度去思考问题,将需求分成基本型需求与期望型需求,以必须满足的基础功能作为重点对象) ③讨论分析:将非形式的需求表述转化为完整的需求定义,确定系统必须做什么的过程。其中,功能模块的划分需结合软件界面设计,可以通过思维导图将需求整理清楚,例如: 代码实现: ①抽象建模1:可以使用python里什么样的数据类型来存储和表示棋子呢?通过抽象,因为棋盘呈现二维数据特征,推荐使用二维数组。 ②抽象建模2,搭建【简易五子棋游戏】的框架,如何在主程序中调用【落子】、【重置游戏】等自定义函数。(学生自学自定义函数调用的方法) 学生掌握收集需求的方法,学会游戏开发者的角度去思考问题,划分功能模块。 通过五子棋项目的抽象与建模,让学生学会在真实问题情境中,选择合适的数据结构与算法来处理问题。
自主学习 小组实践活动:调试教师下发的五子棋半成品程序,完善棋盘初始化,及落子数组修改模块。 五子棋起始界面 五子棋落子界面 本案例采用程序半成品方式导入,便于学生将目标聚焦在数组与数组操作的部分,通过项目的实践,加深学生对数组概念与特征的理解,同时学会数组的基本操作。
课堂小结 ●知识梳理: ①二维数组定义及使用 ②初始化二维数组 ③二维数组行列基本操作 学习评价(附件4:学习评价表) 通过自评引导学生反思本节课所学内容,发现问题与不足,起到查漏及巩固的作用,通过互评与交流加强同伴的交流与合作,实现团队协作中多种能力的培养。
布置作业 ●基础作业参考二维数组的行优先存储方式,将五子棋棋盘与五子棋界面进行行列转置存储。 ●提升作业(面向学有余力学生): 阅读“gameover(xx, yy)”程序水平五子搜索代码段,根据提示完成其他方向搜索判断代码,实现五子棋输赢自动判断。 课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。根据学生的基础和能力设置不同难度的作业,以满足不同层次的学生需求。
针对 核心素养培养的 设计考虑 信息意识:落点在“能够根据解决问题的需要,自觉、主动地寻求恰当方式获取信息与处理信息;在合作解决问题的过程中,愿意与团队成员共享信息,实现信息的更大价值。”教学中是将数组的概念及其基本操作融入实际问题之中,在教师的引导下,通过师生的交流探讨一步一步学习数组相关的理论知识,并根据这些理论,从现实情境问题中提取出关键数据并使用数组存储;在五子棋项目的实现过程中自主分析并提取其中关键数据并使用合适的数据结构(数组)存储这些数据;以上过程中均在培养或提升学生获取关键信息的能力,即信息意识的培养与提升。 计算思维:落点在 “能够采用计算机科学领域的思想方法界定问题、抽象问题特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。”学生在五子棋程序实现过程中,在教师的引导下体验并参与完整的问题解决过程,学习并明了计算机解决实际问题的步骤及相应算法的设计,在此基础上,学生自主完善五子棋程序,提升了学生算法设计的能力。