Appearance
小组协作:用代码绘制主题几何画册
课题
循环与条件的“图形魔法”——团队创作几何主题画册
教学时间
2课时(90分钟)
课前准备
- 教师端:电脑(Python 3.10+,预装turtle库)、投影仪、多媒体课件(含优秀几何画册案例:如“四季”“动物”主题)、实物几何教具(不同颜色的正方形/三角形积木)、小组分工表模板、互评评分表(含“图形多样性”“代码逻辑性”“合作默契度”维度)。
- 学生端:电脑(Python环境)、笔记本(记录分工和代码思路)、彩笔(绘制画册草图)、U盘(保存小组代码)。
- 教学素材:循环+条件组合代码模板(如“画大小渐变的正方形”)、主题参考列表(四季、节日、校园、自然)、AI代码小助手(支持“如何让图形居中”“如何设置渐变色”等问题)。
一、导入活动:从“实物拼贴”到“代码组合”(15分钟)
活动1:“几何积木拼主题”——感知图形组合逻辑
- 分组发放几何积木(正方形、三角形、圆形),任务:用10分钟拼出“春天”主题场景(如“三角形=屋顶,正方形=房子,圆形=太阳”)。
- 每组展示成果,提问:“你们用了哪些图形?它们的大小、颜色有什么不同?”引导发现“主题需要多个图形按规律组合”。
活动2:“代码积木”回顾——衔接循环与条件知识
- 教师板书:“循环(for)= 重复画相同图形,条件(if)= 让图形有差异(如颜色、大小)”。
- 示例代码片段:python
import turtle t = turtle.Turtle() for i in range(5): # 循环5次 if i % 2 == 0: # 偶数次画红色 t.color("red") else: # 奇数次画蓝色 t.color("blue") t.forward(50 + i*10) # 大小递增(50,60,70...) t.right(90) - 提问:“这段代码会画出什么效果?”(5个颜色交替、大小递增的正方形),明确“循环+条件=多样且有序的图形”。
二、知识点讲解:主题画册的代码实现逻辑(25分钟)
模块1:确定主题与图形设计(10分钟)
- 主题选择:从参考列表中选1个(或自定),要求能通过几何图形表达(如“秋天”→ 三角形=枫叶、圆形=果实、长方形=树干)。
- 图形拆解:以“秋天”为例,小组需讨论:
- 基础图形:需要哪些图形(三角形、圆形、线段);
- 变化维度:大小(如枫叶从小到大)、颜色(如橙色→黄色渐变)、位置(如果实分布在树枝上)。
- 草图绘制:学生用彩笔在笔记本上画画册分镜(至少3个场景),标注每个图形的“代码参数”(如“枫叶:三角形,边长30,颜色橙色,位置(0,50)”)。
模块2:循环+条件的组合进阶(15分钟)
- 核心逻辑:用函数封装单个图形(如
draw_leaf(size, color)),再用循环批量生成,用条件控制差异。 - 代码示例:绘制“秋天枫叶群”python
import turtle t = turtle.Turtle() t.speed(0) # 最快速度 def draw_leaf(size, color): # 定义画枫叶的函数(三角形简化) t.color(color) t.begin_fill() for _ in range(3): # 三角形 t.forward(size) t.right(120) t.end_fill() # 用循环+条件生成10片不同的枫叶 for i in range(10): size = 20 + i*5 # 大小递增(20,25...65) # 条件:前5片橙色,后5片黄色 if i < 5: color = "orange" else: color = "yellow" # 移动位置(避免重叠) t.penup() t.goto(-200 + i*40, 0) # x坐标从-200到200,y=0 t.pendown() draw_leaf(size, color) turtle.done() - 关键技巧:
- 用
penup()和goto(x,y)移动画笔,避免图形重叠(坐标知识应用); - 函数参数
size和color让图形可定制(模块化思维); - 循环变量
i控制大小和位置,实现“有序排列”(数学规律应用)。
- 用
三、项目实操:小组协作完成主题画册(30分钟)
阶段1:分工明确(5分钟)
- 每组4人,按“设计组”“编码组”“测试组”“记录组”分工(可轮换):
- 设计组:完善草图,标注每个图形的参数(大小、颜色、坐标);
- 编码组:将草图转化为代码,使用函数和循环;
- 测试组:运行代码,检查图形是否符合设计(如位置错误、颜色不对);
- 记录组:填写“开发日志”(遇到的问题及解决方法)。
阶段2:代码实现(20分钟)
- 基础要求:至少包含3种图形(正方形、三角形、圆形),使用循环生成5个以上图形,用条件控制颜色/大小差异。
- 进阶挑战:添加文字说明(
t.write("秋天来了"))、背景色(turtle.bgcolor("skyblue"))、图形旋转(t.right(angle))。 - 教师支持:
- 打开AI代码小助手,学生可提问“如何让圆形排成圆形?”“怎么设置渐变色?”,AI生成参考代码(如用角度计算圆形排列坐标);
- 巡视各组,重点指导“坐标计算”(如“要让图形居中,x从-100到100”)和“函数调用”(如忘记传参数导致图形不变)。
阶段3:初稿调试(5分钟)
- 每组运行代码,截图保存初稿效果,测试组记录需优化的问题(如“枫叶重叠”“颜色不够鲜明”)。
四、互评与优化:从“初稿”到“成品”(15分钟)
- 小组展示:每组派代表投屏初稿,讲解:
- 主题与图形的关联(如“用黄色圆形代表秋天的果实”);
- 代码中循环和条件的应用(如“用for i in range(6)画了6棵树,if i>3让后3棵变高”)。
- 多维互评:各组用评分表互评,重点:
- 数学性:图形大小/位置是否有规律(如比例递增);
- 艺术性:颜色搭配是否符合主题(如“冬天”用蓝色/白色);
- 技术性:代码是否用函数封装、循环是否简洁(避免重复代码)。
- 教师点评:肯定创意(如“用三角形旋转45度表现风车”),指出可优化点(如“用x = i*50让图形更均匀”)。
五、总结与作业(5分钟)
课堂总结:
- 主题画册=“图形拆解+代码组合”:先确定主题→拆解为基础图形→用循环批量生成→用条件制造差异;
- 团队协作关键:明确分工+及时沟通(如设计组和编码组需同步图形参数)。
课后作业:
- 小组根据互评建议优化代码(如调整颜色、增加图形数量),最终版命名为“主题_小组名.py”;
- 每人写1段“编程日记”:记录自己在项目中负责的部分、遇到的最大困难及解决方法(如“我负责画太阳,一开始圆形太大,后来改小了radius参数”)。
教学理论支撑:
- 皮亚杰形式运算阶段理论:通过“实物拼贴→草图设计→代码实现”的三阶转化,帮助学生从具体形象思维(积木拼贴)过渡到抽象逻辑思维(用代码参数表达图形特征)。
- 维果茨基最近发展区:小组协作中,能力强的学生可作为“脚手架”帮助同伴(如编码组教测试组看懂循环逻辑);AI代码小助手解决语法细节问题,降低“想得到做不出”的挫折感。
- STEAM教育融合:
- 科学(图形规律观察)、技术(Python代码实现)、工程(团队分工与问题解决)、艺术(主题创意与色彩搭配)、数学(坐标计算、大小比例、循环变量规律)的跨学科整合;
- 强调“过程性创造”,而非单一结果,符合STEAM“动手实践+创新应用”的核心。
- 自我决定理论:通过小组命名、主题自选、分工自主,满足学生的自主性需求;互评中的正向反馈(如“创意之星”)增强归属感与胜任感,激发内在学习动机。