Appearance
第一教学文案:列表——数据的“收纳盒”与基础操作
课题
列表:给数据找个“家”——认识列表与基础操作
教学时间
2课时(90分钟)
课前准备
- 教师端:电脑(Python 3.10+)、投影仪、多媒体课件(含“收纳盒”类比动画)、实物道具(分层收纳盒3个,分别贴“班级成绩”“植物高度”“兴趣爱好”标签,内装对应纸条)、数据卡片(写有具体数值,如“85分”“12厘米”)。
- 学生端:电脑(Python环境)、笔记本、科学实验记录本(若有植物生长数据可带入)、彩色笔(标注列表结构)。
- 教学素材:代码模板(列表创建、访问示例)、“数据收纳小能手”奖励贴纸、AI代码小助手(支持“列表怎么添加元素”等提问)。
一、导入活动:从“实物收纳”到“数据收纳”(15分钟)
活动1:“收纳盒分类”游戏——理解“同类数据集中存储”
- 教师展示3个收纳盒:“班级成绩盒只能放分数纸条,植物高度盒只能放厘米数——生活中我们用收纳盒整理同类物品,编程中用什么整理同类数据呢?”
- 学生分组操作:将10张数据卡片(含成绩、身高、爱好)放入对应收纳盒,讨论“为什么要分类收纳”(方便查找、避免混乱)。
活动2:“混乱的数据”情境——引出列表需求
- 教师在黑板写:“小明85分,小红92分,小刚78分”,提问:“如果要计算这3人的平均分,需要反复抄写名字和分数,麻烦吗?”
- 类比:“如果把分数集中放在一个‘盒子’里,直接拿出来计算,会更高效——这个‘盒子’就是Python中的‘列表’”。
二、知识点讲解:认识列表与基础操作(35分钟)
模块1:列表是什么?——数据的“有序收纳盒”(10分钟)
- 核心概念:列表(list)是Python中存储多个同类数据的“容器”,用方括号
[]表示,数据之间用逗号分隔,例如:python# 存储班级3名同学的数学成绩 math_scores = [85, 92, 78] # 存储4天的植物生长高度(单位:厘米) plant_heights = [5, 8, 12, 15] - 关键特征:
- 有序性:数据按顺序排列,位置固定(如同收纳盒里的物品按顺序摆放);
- 可变性:可以随时添加、删除数据(如同收纳盒可以增减物品);
- 索引访问:用
列表名[索引]获取数据,索引从0开始(重点强调:第1个数据是[0],第2个是[1]):pythonprint(plant_heights[0]) # 输出第1天高度:5 print(math_scores[1]) # 输出第2名同学成绩:92
模块2:列表基础操作——“收纳盒”的增删查改(25分钟)
操作1:创建列表与访问元素(结合代码演示):
python# 步骤1:创建列表(给收纳盒“装东西”) hobbies = ["阅读", "编程", "篮球"] # 字符串列表(爱好) ages = [12, 13, 11, 13] # 数字列表(年龄) # 步骤2:访问单个元素(从收纳盒“取东西”) print("第1个爱好:", hobbies[0]) # 输出:第1个爱好:阅读 print("最大的年龄:", ages[3]) # 输出:最大的年龄:13操作2:添加元素——给“收纳盒”加东西(
append()方法):python# 给hobbies列表添加新爱好“绘画” hobbies.append("绘画") print(hobbies) # 输出:["阅读", "编程", "篮球", "绘画"]- 比喻:
append()就像“给收纳盒加一层隔板,放入新物品”,只能加在末尾。
- 比喻:
操作3:修改元素——替换“收纳盒”里的东西:
python# 修正ages列表中第3个数据(索引2):11→12 ages[2] = 12 print(ages) # 输出:[12, 13, 12, 13]常见错误提醒:
- 索引越界:
ages[4]会报错(因为列表只有4个元素,索引最大为3); - 忘记逗号:
[12 13 14]会报错,需用逗号分隔数据。
- 索引越界:
三、练习题设计:分层任务+数据实践(25分钟)
基础任务(全员完成):“我的数据收纳盒”
- 要求:创建2个列表(如
my_scores存储3门学科成绩,my_friends存储3个朋友名字),完成:- 访问第2个元素并打印;
- 用
append()各添加1个新数据; - 修改1个已有数据(如修正成绩)。
- 示例框架:python
# 1. 创建列表 my_scores = [90, 88, 95] # 语文、数学、英语成绩 my_friends = ["小林", "小雨", "小天"] # 2. 访问第2个元素(索引1) print("数学成绩:", my_scores[1]) # 3. 添加新数据 my_scores.append(92) # 加入科学成绩 my_friends.append("小阳") # 4. 修改数据(假设语文成绩应为91) my_scores[0] = 91 print("修改后成绩:", my_scores)
进阶任务(选做):“科学实验数据整理”
- 结合科学课植物生长实验,用列表存储5天的豆芽高度(如
bean_heights = [2, 4, 7, 10, 13]),完成:- 打印第3天和第5天的高度;
- 添加第6天的预测高度(如16厘米);
- 用文字描述“从数据中发现的生长规律”(如“每天大约长高3厘米”)。
教师支持:
- 打开AI代码小助手,学生可提问“为什么索引从0开始?”“怎么添加多个元素?”,AI用生活化语言解释(如“就像书架第1层叫0号层,方便计算机计数”)。
四、讲解与互评:从“操作”到“理解”(10分钟)
- 学生展示:选2名学生投屏代码,讲解“你的列表存储了什么数据?”“修改元素时遇到了什么问题?”。
- 点评重点:索引是否正确(纠正“第1个元素用[1]”的错误)、
append()是否正确添加到末尾。
- 点评重点:索引是否正确(纠正“第1个元素用[1]”的错误)、
- 小组互评:每组检查1份同伴作业,用“√”标注正确操作,用“?”标注疑问处,教师汇总共性问题(如索引越界)并讲解。
五、总结与作业(5分钟)
课堂总结:
- 列表是存储多个同类数据的“收纳盒”,格式:
列表名 = [数据1, 数据2, ...]; - 核心操作:用
[索引]访问/修改元素,用append()添加元素; - 索引从0开始(第1个数据是
[0])。
课后作业:
- 用列表记录家里3种水果的数量(如
fruits = [5, 3, 2],对应苹果、香蕉、橙子),并尝试添加1种新水果; - 观察科学课实验数据,思考“如果数据很多,怎么快速计算平均值?”(为下节课循环处理列表铺垫)。
教学理论支撑:
- 皮亚杰具体运算阶段理论:通过“收纳盒”实物类比,将抽象的“列表”概念转化为学生熟悉的具体事物,符合11-15岁少年“具象→抽象”的思维过渡特点。
- 维果茨基最近发展区:基础任务确保全员掌握列表创建与访问(现有水平),进阶任务结合科学实验数据(潜在发展区),AI助手作为“脚手架”帮助突破难点。
- STEAM教育融合:结合科学(实验数据整理)、数学(数据有序性)、技术(Python工具),让列表成为跨学科数据处理的载体。