高一信息技术Python基本数据结构教学设计_第1页
高一信息技术Python基本数据结构教学设计_第2页
高一信息技术Python基本数据结构教学设计_第3页
高一信息技术Python基本数据结构教学设计_第4页
高一信息技术Python基本数据结构教学设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高一信息技术Python基本数据结构教学设计一、教材与学情分析本课选自浙教版(2019)高中信息技术必修1《数据与计算》第三章第二节,核心内容是Python中的字符串、列表、字典三种基本数据结构。教材此前已安排变量、表达式与顺序结构的学习,学生能写出十几行的简单程序,但面对成批数据时仍习惯用逐个变量命名的笨办法,这是引入数据结构的天然契机。高一学生具备两个有利条件:一是数学课已接触集合与数列的初步概念,对"有序""无序""可变""不可变"这类属性词不陌生;二是日常大量使用社交软件与购物平台,对通讯录、购物车、成绩单这类真实数据形态有直观体验。困难集中在三点:把生活对象抽象为程序结构的能力不足;索引从0开始的计数习惯与日常直觉冲突;字典的键值对模型与列表的位置模型容易混淆。教学必须用真实任务驱动,让学生在"存得下、取得出、改得动"的反复操练中建立结构感。二、教学目标1.能说出字符串、列表、字典三种结构的存储特征,区分子符串与列表的异同,说明字典键值对的组织逻辑。2.能正确书写三种结构的创建、索引、切片、遍历与增删改操作,读懂并修改三十行以内的相关程序。3.能针对"班级成绩单"这一贯穿情境,选择恰当的数据结构组织数据,完成一次完整的录入、查询、排序、统计任务。4.在小组协作修改程序的过程中,养成先想清楚数据怎么存、再动手写代码的习惯,体会数据结构选择对程序效率与可读性的影响。三、教学重点与难点重点是列表的索引、切片与常用方法,字典的键值访问。难点是根据问题情境选择合适的数据结构,尤其是理解字典为何比双列表更优。突破策略是"同一个成绩表,三种存法对照":让学生先用字符串拼接存,再用列表存,最后用字典存,亲历复杂度下降的全过程。四、教学准备机房一人一机,预装Python3.x与IDLE或Thonny;教师机安装广播软件;课前下发导学任务单,含班级十名学生的语文、数学、英语三科原始成绩表;课件内嵌交互式代码运行截图;准备"结构选择速判卡"若干,用于课堂即时检测。五、教学过程环节一:情境导入——成绩单引发的麻烦(约7分钟)上课伊始,教师在黑板上写出两行代码:name1="张明"score1=92name2="李婷"score2=88教师提问:"班里有45名同学、3门学科,用这种方法要定义多少个变量?"学生很快算出45乘4等于180个,教室里出现明显的畏难反应。教师追问:"如果还要按总分排序、查某人某科成绩,这些变量名你能记住吗?"这一问把矛盾推到了顶点。教师顺势亮出本课任务:"今天我们用一节课的时间,把这180个变量压缩成三种结构,并且让查询、排序、统计都变成一两行代码。"板书课题:Python基本数据结构——字符串、列表、字典。设计意图:用变量爆炸的真实痛感制造认知冲突,让学生感到数据结构不是课本上的名词,而是救急的必需品。环节二:温故辨新——字符串再认识(约8分钟)学生实际上在第二章已零散用过字符串,这里不是从零教起,而是补足"序列"这个上位概念。教师演示:s="DataAndCalc"print(s[0])输出Dprint(s[1])输出cprint(s[0:4])输出Data学生跟做后完成两道微练习:取出"Calc",倒序输出整个字符串。教师巡视时重点观察切片写法的两类典型错误:误写成s[0:5]取"Data",或写成s[1:12:1]时方向混乱。针对错误现场投屏纠错,强调"含头不含尾、步长定方向"口诀。随后教师点破关键:"字符串里每个字符有固定位置,可以用下标取——这种'有顺序、按下标访问'的家族,在Python里叫序列。字符串是序列,接下来要学的列表也是序列,刚才学的索引和切片规则可以原封不动搬过去。"这一句话为列表学习搭好了认知支架。环节三:核心建构——列表的诞生(约15分钟)教师回到成绩单情境:"先解决'一门学科45个分数怎么存'。"演示:math_scores=[92,88,76,95,81]学生立刻发现这与字符串用法神似:math_scores[0]取第一个分数,math_scores[0:3]取前三名。教师请一名学生上机完成"把第3个同学的76改成78":math_scores[2]=78。改完教师追问:"字符串能不能这样改?试试s[0]='d'。"学生尝试后看到TypeError,课堂自然生成"字符串不可变、列表可变"的结论。教师板书对比口诀:字符看不得动不得,列表取得又改得。接着补充列表的四个高频方法,全部围绕成绩单讲:append补录一名转学生成绩,insert在中途插入,remove删除无效数据,sort排序。学生跟做:math_scores.append(90)math_scores.sort(reverse=True)print(math_scores)教师强调sort会就地修改原列表,若想保留原顺序可用sorted函数返回新列表,这一细节后续作业会考到。之后引入遍历。教师提问:"名单越来越长,逐个下标打印太累,怎么办?"引出:forscoreinmath_scores:print(score)配合len函数求人数、sum函数求总分,学生现场算出平均分:sum(math_scores)/len(math_scores)。至此,"存得下、取得出、改得动、算得了"四个层次全部落实。环节四:进阶挑战——字典登场(约12分钟)教师抛出新难题:"数学成绩存好了,可我想问'李婷的数学考了多少',用列表怎么查?"学生发现必须先知道李婷在名单里是第几个,再到成绩列表的同一位置取数——两个列表之间靠位置强行对应,极易错位。教师演示一次故意错位导致的"张冠李戴",让学生看到这种方案的脆弱。"Python给出的答案是:干脆把名字和分数绑在一起存。"教师板书:math_dict={"张明":92,"李婷":88,"王强":76}print(math_dict["李婷"])输出88学生观察到此处用花括号、用冒号连接、用名字直接取值。教师给出规范表述:字典由若干键值对组成,键唯一且不可变,通过键访问对应的值,不依赖位置。学生完成三项跟做任务:新增一名同学math_dict["赵娜"]=85;修改成绩math_dict["王强"]=78;安全查询math_dict.get("刘洋","查无此人")。教师对比中括号直接访问与get方法的区别——键不存在时前者报错后者返回默认值,提醒学生查询用户输入的数据时优先考虑get。遍历环节:forname,scoreinmath_dict.items():print(name,score)教师提醒items、keys、values三个方法的区别,并让学有余力者尝试找出最高分同学:top=max(math_dict,key=math_dict.get)print(top,math_dict[top])这一行对全班只作欣赏不作硬性要求,分层处理,避免基础薄弱学生受挫。环节五:综合实战——三种结构怎么选(约10分钟)这是本课的思维制高点。教师发放"完整的班级成绩单"原始数据,小组合作完成四层递进任务。任务一:把全班姓名存入一个列表names,把任一同学的姓名作为字符串处理,判断其姓氏是否属于班里第一大姓。任务二:把三门学科成绩分别存入三个列表,计算每科平均分并找出数学成绩的中位数。任务三:用字典重构数据——外层键为姓名,值为一个含三科成绩的内层字典,如:class_data={"张明":{"语文":88,"数学":92,"英语":90},...}输入任意姓名,输出其三科成绩与总分。任务四:小组用一段话回答——为什么任务三的查询比"三个列表平行存放"可靠?把结论写在任务单上。教师巡回指导,重点关注两类问题:嵌套字典的取值写法class_data["张明"]["数学"]是否写对;小组回答任务四时能否说出"键直接定位、不依赖人为对齐位置、增删成员不影响其他数据"这类要点。任务单上预留的空白处鼓励学生用自己的语言表达,不强求术语统一。环节六:展示评议与课堂小结(约8分钟)随机抽取两个小组投屏展示任务三的程序与任务四的论述,其他小组按"运行正确、代码清晰、阐述有理"三条标准打星级。教师对共性优点给予肯定,对典型问题(如字典遍历时误用下标)作最后一次集中纠正。小结由学生接力完成,教师只递话头:"字符串适合存……""列表适合存……""字典适合存……"待学生补全后,教师用一张选择速判表收束全课:单一文本信息,用字符串;一批同类数据、顺序重要、需要增删改,用列表;成对的映射信息、按名字或编号快速查找,用字典;复杂对象,用嵌套结构组合表达。教师最后留一分钟讲解下节课预告:"存好了还要处理,下节课我们让程序自己做判断和重复劳动——分支与循环。"六、板书设计主板书分左右两栏。左栏写三种结构的创建样例与访问方式:s="..."配s[0:4],lst=[...]配lst[2]、lst.append(),dct={键:值}配dct["键"]、dct.get()。右栏对应写三个关键词:不可变序列、可变序列、键值映射。底部横写选择口诀一句:按位置找列表,按名字找字典。七、作业设计基础题:补全一段统计全班平均身高的程序,挖空处涉及列表切片、append与sum/len组合。提升题:给定一份含二十条记录的图书信息(书名—作者—价格),用字典或嵌套结构存储,实现"输入书名查询价格"与"统计平均价格"两个功能。拓展题:思考微信通讯录里"昵称—微信号—备注—标签"该如何用Python结构组织,写出结构示意并说明理由,允许查阅资料,下节课课前三分钟交流。八、教学评价过程性评价依托课堂任务单与速判卡,重点观测索引与切片的准确率、结构选择的理由陈述质量;结果性评价以作业三段式展开,基础题人人过关,提升题小组互批,拓展题计入学期项目档案袋。对编程基础薄弱的学生,允许对照课件完成跟做并将"能读懂程序"作为达标线;对学有余力者,以拓展题与嵌套结构综合题拉开梯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论