程序出错时,学习怎样继续
一个没有闭合的三角形,能让我们看见孩子怎样思考。
先亲自做一次,再讨论老师可以怎样帮助。
本单元为原创教学示范,尚未接入原书译文;课堂对话为模拟。
01先动手
15 分钟先预测:重复 3 次「前进 100 步、右转 60°」,角色会走出什么路径?最后朝向哪里?
需要一点提示
每次先走再转。用箭头记下角色当时面对的方向,也可以拿一张纸片跟着走。
我的程序
教学伪代码每次从同一起点向右出发。先前进,再转向;转向本身不会画出线段。
本次学习中的试验记录 0 次
完成一次运行后,参数、结果与当时的预测会记在这里。
02让想法变得可以检查
共读短文一个孩子想让角色沿着三条边走,画出一个正三角形。他记得正三角形每个角都是 60°,便写下「前进,再右转 60°」,重复三次。程序执行了,三角形却没有闭合。
这个结果让我们看见了一件有用的事:孩子有一个想法,而且已经把它表达成可以执行的步骤。他把图形的内角,理解成角色沿边走到顶点时需要转动的角度。这两个角有关联,却不是同一个角。
如果老师直接改好数字,孩子很快就能得到一个三角形。此时,我们知道作品发生了变化,却还需要更多线索,才能知道孩子的理解是否发生了变化。
我们可以先邀请他说明:「你为什么选 60?」然后把程序放慢,一条一条地执行。停在第一个顶点时,在纸上画出角色到达时朝向哪里;再问,要沿着下一条边走,角色需要怎样转身。
孩子不一定马上能回答。老师可以提供一张带朝向箭头的纸片,陪他摆一摆;也可以直接解释「右转」描述的是朝向的变化,再让他预测接下来会发生什么。提供必要的信息之后,仍然可以把下一次尝试的选择交给孩子。
这一过程里,程序帮助我们把一个想法变得可以看见、可以讨论、可以修改。我们能够比较自己的预期与实际结果,检查原来的解释,再决定下一步怎样试。
课堂中值得保留的,也就包括那些尚未成功的时刻:一次有理由的预测,一次被结果推翻的猜测,一次说得清楚的修改。它们能为我们理解学习过程提供线索。
03走进课堂
教学模拟这段对话展示一种可能的推进方式,不是要求教师照读的话术,也不代表编程猫真实课堂记录。
「它没画成三角形。我写了三次啊。」
「你原来以为三次走完会停在哪里?」
孩子指了指起点。
「60 是怎么想到的?」
「三角形的角就是 60。」
「你想到的是图形里面的角。我们先停在第一个拐弯的地方,看看角色这时朝哪里。」
「我还是不知道该转多少。」
如果你是老师,接下来会说什么、做什么?
想一想:孩子已经知道什么,又缺少哪条信息?
继续读:教师怎样提供帮助(含实验答案)
老师用笔延长第一条边:「假如不转,它会沿着这个方向继续走。程序里的右转,是从这个方向开始转。你可以先摆一摆,也可以画出你想让它走的下一条边。」
孩子把纸片摆到下一条边的方向:「好像要转得比 60 多。我想试试 120。」
老师:「先画一下你预测三次走完的样子,然后我们运行。」程序画出了闭合的三角形。
孩子:「这样对了。」
老师:「你可以指给我看,图形里的 60 和刚才转的 120 分别在哪里吗?」
孩子能指出图形里面的角,但解释转角时仍然有些迟疑。老师在观察记录里写下:「在提示下开始区分内角和转向;还需要观察新的情境。」
04我的学习记录
回到刚才的试验,留下能够说明你怎样思考的线索。记录仅在当前页面临时保留,刷新后会清空;复制后可自行保存。
带回自己的岗位
教师与教研同事
找一处通常会立即纠正的课堂情境,补写一个了解孩子想法的动作,以及一个必要时提供支持的动作。下一次课后,记录孩子的实际回应。
产品及其他岗位同事
选择自己负责的一项工作,想一想它怎样影响学习者「看见过程、表达想法、再次尝试」的机会,并提出一个需要验证的问题。
05主持人指南
含答案与观察要点查看共读流程、实验解析与观察依据
30 分钟怎么安排
15 分钟动手实验,先预测再运行
6 分钟阅读短文与课堂案例
7 分钟讨论与岗位迁移
2 分钟整理自己的学习记录
实验解析
- 3 次、每次右转 60°:产生三段未闭合路径,是正六边形路径的前三条边;最后一次转向只改变朝向。
- 3 次、每次右转 120°:画出闭合的正三角形并恢复初始朝向。图形内角是 60°,沿边行走时的外转角是 120°。
- 6 次、每次右转 60°:画出闭合正六边形,并恢复初始朝向。参数是否合适,需要联系意图判断。
- 累计转向 360°不能单独保证任意路径闭合。本实验讨论等步长、等转角的规则路径,不能直接推广为所有程序的判据。
观察什么
运行前的预测
能否逐步对照预期与结果,指出最早出现差异的位置?
修改的理由
知道改动会影响什么吗?能否用下一次运行验证解释?
新情境的解释
在减少提示后,能否继续推演路径与最终朝向?
这些材料只提供本次任务中理解情况的线索。不要凭一个短练习断定参与者掌握了普遍的调试能力;图示、动作和操作也可以提供证据。
讨论时的四个问题
- 孩子能说明猜测并愿意继续尝试时,老师需要马上给答案吗?依据是什么?
- 孩子不知道「右转」从哪个方向算起时,哪条信息值得直接说明?
- 反复乱改数字并开始沮丧时,怎样缩小问题,让下一次尝试有依据?
- 孩子已经画出三角形后,还想观察什么,才能更了解他的理解?
必要的示范和解释可以成为探索的支架。观察学习者已经知道什么、现在卡在哪里,比统一要求「永远不直接告诉答案」更有用。