资源简介 知识探究课时课题 第1节 处理批量数据 第3课时 操作列表及应用课时目标 1.通过受邀人员管理程序输出和现场赛计分系统的求最值功能,了解遍历列表及批量访问数据的方法。 2.通过判断回文数程序,了解列表切片(使用列表的一部分)及快速访问部分批量数据的方法。 3.通过判断回文数程序的不同版本,了解Pythonic,加强代码规范意识。 4.通过石头剪子布游戏的多种解决方案,进一步了解同解决同一问题可能会有多种方法。教学准备 机房、编程平台(如jupyter notebook,预先调试好)、PythonTutor(预先调试好)、学生素材、教学PPT等导学流程导学过程导学设计 意图交流环节一、问题探讨 (1)问题导入:以受邀人员管理程序为例,如何把所有人的姓名都输出呢?在现场赛计分程序中的分数列表中,如何不用排序的方法找出最大值和最小值呢?在你的项目中是否有同类型的问题要解决? (2)小组讨论:分小组讨论,各组代表进行汇报。 环节二、自主阅读 (1)学习内容:操作列表(1.3.1遍历列表、1.3.2数据排序、拓展阅读:代码规范与Pythonic)。 (2)学习要求:先进行自主整体阅读,再进行组内讨论(疑难互解、操作列表能解决哪些问题)。 (3)操作与实践:可使用PythonTutor和编程平台进行调试,理解相关内容,遇到内容先自我尝试,再小组合作交流,还不能解决的向其他小组老师求助。 环节三、教师导学 (1)重点内容导学:两种遍历方法(索引遍历和列表项遍历)的区别;切片的起始与结束(闭开区间)和步长;求最值过程的条件迭代等。(具体参考课本) 环节四、体验活动 (1)先了解石头剪子布游戏规则,然后进行试玩。 (2)阅读教材石头剪子布游戏代码2种不同代码及优化分析说明,在平台上分别进行调试。第二种方法借助了列表进行优化,大减少了代码量。 (3)体验活动:完善石头剪子布。先画出流程图(参考流程如图),对输入的处理及求选手得分的环节都需要进一步细化设计。 (4)根据流程图写出代码(逐步细化与完善)。 (5)调试运行,组内交流。 (6)展示、汇报与交流。 环节五、项目应用 讨论相关知识在小组项目中解决问题的作用并做好记录。及时做好项目的纸质讨论材和电子档案的更新、整理与保存。 项目情景 善用工具 先设计流程图,再根据流程图去写代码,并逐步细化,更有利于培养计算思维。知识探究课时课题 第1节 处理批量数据 第1课时 列表基础课时目标 1.通过受邀人员管理程序所需的数据实例,了解列表基础(认识列表、访问列表和维护列表)及其应用情景。 2.通过受邀人员管理程序的数据维护(增、删、改)操作,建立问题分解意识和抽象建模能力。 3.通过PythonTutor可视化变量呈现工具,熟悉网络平台中的技术工具、软件系统的功能与应用,并协助了解列表的原理。 4.通过“完善受邀人员管理程序”的体验活动,提高程序开发能力,了解反馈对系统优化的作用。教学准备 机房、编程平台(如jupyter notebook,预先调试好)、PythonTutor(预先调试好)、学生素材、教学PPT等导学流程导学过程导学设计 意图交流环节一、问题探讨 问题导入:以“受邀人员管理程序”为例,在程序设计中,如果要表示很多个变量,比如 50 个同学的姓名,如何用变量来表示和存储呢?小组项目中是否也有同样的问题?要解决这类问题需要学习哪方面知识? 小组讨论:分小组讨论,各组代表进行汇报。 环节二、教师导学 (1)程序调试平台介绍:向学生介绍编程平台(建议使用jupyter notebook)启动方法,笔记本文档(.ipynb文件)打开、保存与重命名方法,程序运行方法等。 (2)PythonTutor调试方法:双击PythonTutor代码可视化服务器.bat,出现成功提示后,在浏览器中输入http://localhost:8003/live.html,在网页中输入代码进行调试(如图)(说明:教师进行现场演示或提供微视频)。 重点内容导学:什么是列表?列表如何表达?如何取一个元素?如何增、删、改?用一个实例来演示与说明。(具体参考课本) 自主学习方法提示:先通读内容,遇到代码要进行尝试,如果遇到错误要耐心解决。先独立阅读与调试,再小组互学,共同解决遇到的问题。 环节三、自主学习与实践 学习内容:列表基础(认识列表、访问列表和维护列表)。 学习要求:阅读、可视化呈现助学、jupyter进行代码编写。 先自主学习(还可参考拓展阅读和应用编程系统的帮助系统解决),再小组合作,如遇疑难向教师求助。 环节四、体验活动 (1)尝试运行,完善受邀请人员管理程序 (2)阅读代码,并尝试编写待开放功能。 # 受邀人员管理程序 menu = '''受邀人员管理程序\n 1.查看名单 2.删除人员 3.增加人员 4.修改人员 5.退出 请选择(1-5):''' names = ['小王', '张三', '李四', '小明', '小杨'] while True: c = int(input(menu)) if c == 1: print('编号 姓名') for i in range(len(names)): print('{} => {}'.format(i, names[i])) elif c == 2: n = int(input('请输入要删除的人员编号:')) del names[n] print('已删除编号为{}的人员'.format(n)) elif c == 3: print('待开放') # 参考代码: # name = input('请输入要增加的人员姓名:') # names.append(name) # print('{}已增加'.format(name)) elif c == 4: print('待开放') # 参考代码: # n = int(input('请输入要修改的人员编号:')) # name = input('你要把{}修改为:'.format(names[n])) # names[n] = name # print('已修改完成!') elif c == 5: break print('再见!') (3)调试运行,组内交流。 (4)展示、汇报与交流。 环节五、项目应用 讨论相关知识在小组项目中解决问题的作用并做好记录。 及时做好项目的纸质讨论材和电子档案的更新、整理与保存。 创设子项目情景 善用工具 可视化工具是很好的学习支架 突出自主性 巩固知识, 学以致用知识探究课时课题 第1节 处理批量数据 第2课时 组织列表课时目标 1.通过设计现场赛计分程序实例,了解组织列表(列表数据转换、排序)及其应用情景。 2.通过现场赛计分程序的批量数据转换和排序操作的多种实现方法,知道同解决同一问题可能会有多种方法。 3.通过“现场赛计分程序”的实践活动,提升算法设计能力,并知道程序设计要从用户需求出发。教学准备 机房、编程平台(如jupyter notebook,预先调试好)、PythonTutor(预先调试好)、学生素材、教学PPT等导学流程导学过程导学设计 意图交流环节一、问题探讨 (1)问题导入:以“现场赛计分程序”为例,在程序设计中,如何对批量数据进行组织(如把字符串转化为数字,进行排序)?小组项目中是否也有同样的问题?要解决这类问题需要学习哪方面知识? (2)小组讨论:分小组讨论,各组代表进行汇报。 环节二、教师导学 (1)程序调试平台介绍:向学生介绍编程平台和PythonTutor调试方法。 (2)重点内容导学:如何获取批量数据(字符串的split方法)并转换成数值?如何用内置方法或函数进行排序?如何对排序后的数据取最大值和最小值?如何对列表数值求和?(具体参考课本) (3)自主学习方法提示:先通读内容,遇到代码要进行尝试,如果遇到错误要耐心解决。先独立阅读与调试,再小组互学,共同解决遇到的问题。 环节三、自主学习与实践 (1)学习内容:组织列表(数据转换和数据排序)。 (2)学习要求:阅读、可视化呈现助学、jupyter进行代码编写。 (3)先自主学习(还可参考拓展阅读和应用编程系统的帮助系统解决),再小组合作,如遇疑难向教师求助。 环节四、实践活动 先画出流程图(如图),对输入的处理及求选手得分的环节都需要进一步细化设计。 根据流程图写出代码(逐步细化与完善)。 调试运行,组内交流。 (4)展示、汇报与交流。 环节五、项目应用 讨论相关知识在小组项目中解决问题的作用并做好记录。及时做好项目的纸质讨论材和电子档案的更新、整理与保存。 项目情景 善用工具 先设计流程图,再根据流程图去写代码,并逐步细化,更有利于培养计算思维。 展开更多...... 收起↑ 资源列表 粤教清华版信息技术八上 1. 1《处理批量数据》第1课时(教案).docx 粤教清华版信息技术八上 1. 1《处理批量数据》第2课时(教案).docx 粤教清华版信息技术八上 1. 1《处理批量数据》第3课时(教案).docx