Mindstorms 共读实验室 编程猫 · 新员工与教师共读
MINDSTORMS / 共读与实践

程序出错时,学习怎样继续

一个没有闭合的三角形,能让我们看见孩子怎样思考。
先亲自做一次,再讨论老师可以怎样帮助。

本单元为原创教学示范,尚未接入原书译文;课堂对话为模拟。

01先动手

15 分钟

先预测:重复 3 次「前进 100 步、右转 60°」,角色会走出什么路径?最后朝向哪里?

需要一点提示

每次先走再转。用箭头记下角色当时面对的方向,也可以拿一张纸片跟着走。

我的程序

教学伪代码
重复
前进100
°
结束重复

每次从同一起点向右出发。先前进,再转向;转向本身不会画出线段。

路径与朝向
角色的移动路径尚未执行,角色从起点向右。
起点当前朝向
先预测,再点击「运行」或「逐条执行」。
本次学习中的试验记录 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°不能单独保证任意路径闭合。本实验讨论等步长、等转角的规则路径,不能直接推广为所有程序的判据。

    观察什么

    运行前的预测

    能否逐步对照预期与结果,指出最早出现差异的位置?

    修改的理由

    知道改动会影响什么吗?能否用下一次运行验证解释?

    新情境的解释

    在减少提示后,能否继续推演路径与最终朝向?

    这些材料只提供本次任务中理解情况的线索。不要凭一个短练习断定参与者掌握了普遍的调试能力;图示、动作和操作也可以提供证据。

    讨论时的四个问题

    1. 孩子能说明猜测并愿意继续尝试时,老师需要马上给答案吗?依据是什么?
    2. 孩子不知道「右转」从哪个方向算起时,哪条信息值得直接说明?
    3. 反复乱改数字并开始沮丧时,怎样缩小问题,让下一次尝试有依据?
    4. 孩子已经画出三角形后,还想观察什么,才能更了解他的理解?

    必要的示范和解释可以成为探索的支架。观察学习者已经知道什么、现在卡在哪里,比统一要求「永远不直接告诉答案」更有用。