家长与教师指南
第 6 周:调试与可靠性
课时长度:70 至 85 分钟
学习目的
学生要把自己做出来的反应式机器人变得靠得住。他们会明白,调试就是弄清楚实际结果为什么和预期结果不一样,而问题一共分三大类:机械类(某个实体部件出了岔子)、程序类(指令写错了或漏了)和传感器类(读数、阈值或校准不对)。他们要在专门设计的调试任务里练手,认识变量和计数器这两样用来存放和跟踪数值的工具,还要做可靠性试验:把同一件任务做三遍,逐次记录预期与实际,用来证明机器人是真的管用。
预期的学生成果
这一周结束时,学生将能够:
- 把调试解释成:弄清楚实际结果为什么和预期结果不一样
- 从症状分辨出机械、程序和传感器三类问题
- 在程序里用变量或计数器来存放或跟踪一个数值
- 做一次可靠性试验:把同一件任务做三遍,并记录预期与实际
- 诊断一台不听话的机器人,并说明该怎么修
建议的节奏
About 70 至 85 分钟. Adjust to your group - these are guides, not limits.
| 步骤 | 重点 | 分钟 |
|---|---|---|
| 调试与三大问题家族 | 预期结果与实际结果,以及机械、程序和传感器三类问题。 | 15 min |
| 预测问题属于哪一族 | 先读每一个症状,在动手排查之前先预测它属于哪一族。 | 5 min |
| 「问题侦探」任务 | 诊断并修好机械、程序和传感器三类问题,每次只改一样。 | 18 min |
| 障碍物计数器 | 用一个变量当计数器,跟踪躲开了多少障碍物。 | 12 min |
| 三次运行的可靠性试验 | 把同一件任务跑三遍,记录预期与实际以及「一致吗?」。 | 15 min |
| 知识检测 | 关于调试、问题家族、计数器和可靠性的五道题。 | 8 min |
| 反思 | 写一写你找到的一个问题,以及那三遍运行让你明白了什么。 | 7 min |
开始之前
场地布置
- 为每位学生或每组打印三次运行测试记录表和「问题侦探」表。
- 把上周那些反应式机器人(或模拟器任务、卡片程序)准备好,随时可以拿来调试。
- 布置一个可重复的测试用例:划出起跑线,并固定墙或障碍物的距离,让每一遍运行都真正一模一样。
提前准备
- 提前每一族各埋一个问题:把轮子拧松(机械)、改掉一个转向数字(程序)、把阈值设坏(传感器)。
- 练一练在你的套件或模拟器里读取实时传感器数值,这样才好指导学生调整阈值。
- 想好在你们的设备上学生要怎样给计数器「加 1」,并自己先把障碍物计数器程序跑一遍。
材料
- 三次运行测试记录表(可打印)(套件, 模拟器, 不插电)
- 「问题侦探」活动纸,含三大问题家族(可打印)(套件, 模拟器, 不插电)
- 记录结果用的铅笔和纸(套件, 模拟器, 不插电)
- 第 5 周做的一台反应式机器人,至少带一个传感器(套件)
- 卷尺或直尺,用来在每次运行时布置出同样的测试用例(套件, 不插电)
- 装有浏览器模拟器的电脑或平板(模拟器)
- 前几周用过的纸板机器人、程序卡片和地板胶带赛道(不插电)
- 便利贴或计数表,用来当计数器可选(不插电)
安全
- caution拧轮子、挪线缆或检查机械部件之前,先把机器人关掉。(套件)
- caution运行过程中,让测试区和障碍赛道上别有手、脚和杂物。(套件, 不插电)
- info如果要重做纸质保险杠或模型部件,请使用儿童安全剪刀,并在大人陪同下进行。(不插电)
- info常常保存你的程序和测试记录,免得刷新浏览器把结果弄丢。(模拟器)
完整安全须知
Review these once with your group. They apply across the whole course; the notes above are what matters most this week.
Batteries and circuits套件
- Use only appropriate low-voltage educational equipment - no wall outlets and no household batteries wired by hand.
- Never connect a battery's two terminals directly to each other.
- Stop right away if a motor, wire, or battery becomes hot, and tell an adult.
- Disconnect the power before changing wheels, motors, or other mechanical parts.
Motors and gears套件
- Keep fingers, hair, jewelry, sleeves, and loose clothing away from moving gears and wheels.
- Do not force a stalled motor that has stopped turning - switch it off and find out why.
- Make sure moving parts are secured before you run a test.
Moving robots
- Test on the floor, not on a table where the robot could drive off an edge.
- Keep robots away from stairs, roads, water, pets, and people's feet.
- Use a clear, open test area.
- Always include a safe-stop behavior so the robot halts when the job is done or something is in the way.
Tools and materials套件, 不插电
- Ask an adult for help with cutting or any sharp tools.
- Use safe classroom materials - no sharp, toxic, or breakable items.
- Never launch or swing an attachment toward a person.
怎样组织这节课
- 1.在碰任何机器人之前,先讲清楚预期与实际的区别,以及三大问题家族。
- 2.让学生先根据症状预测问题属于哪一族,再动手排查;别让他们瞎捣鼓。
- 3.坚持每次只改一样、然后重跑一遍,这样才知道到底是什么把问题解决的。
- 4.给完整的三次运行可靠性试验留出时间;碰巧成功的一次算不上证据。
常见误解
- 「跑通过一次,就算修好了」:可靠性需要多次一致的运行,而不是一次。
- 以为所有问题都出在代码里:很多其实是机械问题(轮子松、线缆拖地)或传感器问题(阈值不对)。
- 一次改好几样,结果谁也说不清到底是哪一改起了作用。
- 以为变量和计数器是两码事:计数器不过就是一个拿来计数的变量。
可以问的问题
- 你原本预期会发生什么?实际又发生了什么?
- 它是每一遍都以同样的方式出错,还是只是偶尔?这说明它属于哪一族?
- 你改动的那「一样」东西是什么?它和你的预测对上了吗?
- 你凭什么说你的机器人是可靠的,而不是碰巧走运?
课堂与分组的调整
降低难度
一次只给学生一个埋好的问题,并直接告诉他们属于哪一族,让他们专心练习修复和三次运行测试,不必同时去判断家族。
提高难度
同时埋下两个来自不同家族的问题,或者要求做一个能触发动作的计数器(比如躲开 3 个障碍物后就停),并且这个功能同样要经受可靠性测试。
小组与全班
In pairs or small groups, give each student a role that rotates - driver (builds or types), navigator (reads the plan), and recorder (fills the worksheet) - so everyone participates. For a whole-class demo, run one shared robot or simulator on the board, have students predict together, then let groups repeat it on their own path. Groups can also mix paths: one builds on the kit while another checks the same idea in the simulator or unplugged, then they compare results.
有器材与无器材说明
Every activity this week runs three ways - all three teach the same core idea, so pick whichever fits your room. No specific product is required.
套件
- 三次运行测试记录表(可打印)
- 「问题侦探」活动纸,含三大问题家族(可打印)
- 记录结果用的铅笔和纸
- 第 5 周做的一台反应式机器人,至少带一个传感器
- 卷尺或直尺,用来在每次运行时布置出同样的测试用例
模拟器
- 三次运行测试记录表(可打印)
- 「问题侦探」活动纸,含三大问题家族(可打印)
- 记录结果用的铅笔和纸
- 装有浏览器模拟器的电脑或平板
不插电
- 三次运行测试记录表(可打印)
- 「问题侦探」活动纸,含三大问题家族(可打印)
- 记录结果用的铅笔和纸
- 卷尺或直尺,用来在每次运行时布置出同样的测试用例
- 前几周用过的纸板机器人、程序卡片和地板胶带赛道
- 便利贴或计数表,用来当计数器
疑难排查
这一周活动中常见的问题,以及可以试试的办法。
- 一口气把「所有地方」都改了,结果不知道原因是哪一处套件Try: 把改动一个一个撤回,只留一处;改一样,跑一遍,看是不是就是它。
- 拿不准问题属于哪一族套件Try: 跑三遍:每次错得一模一样,多半是程序;每次结果都不同,那就指向机械或者不稳的传感器。
- 循环永远结束不了模拟器Try: 这是程序类症状:检查「重复直到」的那个条件是不是真有机会变成真。
- 机器人对墙毫无反应模拟器Try: 在模拟器里读一下传感器数值,看看阈值是不是落在它正确的那一侧:这是传感器问题。
- 每次「运行」这个机器人的方式都不一样不插电Try: 把每张卡都写成一条精确的指令,让实际结果可以重现:这样才找得出真正的问题。
- 分不清是卡片的事还是保险杠的事不插电Try: 把卡片一字不差地念出来;要是卡片没错,那问题就是机械上的。
- 三遍下来结果一点点地在漂套件Try: 检查电池和起始位置:电量渐渐不足,正是造成不可靠的一种机械或供电原因。
- 对上了两次,第三次失手套件Try: 失手那一遍就是你的线索:那一遍刚跑完就立刻检查传感器读数和实体安装。
- 明明什么都没改,几遍跑出来却不一样模拟器Try: 检查起点格是不是真的一模一样,以及循环是靠一个明确的条件结束的,而不是碰运气结束的。
- 每一遍都对得严丝合缝,感觉太容易了模拟器Try: 换一个更难的测试用例(墙更近、弯更急),看看可靠性在哪里开始崩。
- 换个人来跑,终点就不一样不插电Try: 把卡片重写成精确、没有歧义的步骤,好让实际结果能够重现。
- 同一个人跑出来的终点也不一样不插电Try: 把起点位置和步幅都标出来,让测试用例每一遍都真正一模一样。
- 计数器数出来太多了套件Try: 机器人对同一个障碍物加了不止一次 1:要保证每检测到一次才计一次数,而不是每绕一圈循环就计一次。
- 计数器一直停在 0套件Try: 检查加 1 这一步是不是在「如果有障碍物」那一支里面,而不是在外面:这是程序问题。
- 计数器数多了模拟器Try: 只要还挨着同一个障碍物,加 1 就每圈触发一次;应该每检测到一个「新的」才计一次。
- 计数器一直不变模拟器Try: 确认加 1 的积木块在传感器条件里面,而不是在光秃秃的循环里。
- 笔画画得太多了不插电Try: 只有「转弯躲开」那张卡真的被触发时才画一笔,而不是每走一步都画。
- 忘了把计数器清零不插电Try: 每开始新的一遍,都要先把计数器归 0:存放的值必须从头开始。
知识检测参考答案
这里的答案只给成人看;学生活动纸上是不显示答案的。
1. 诊断一下最可能是哪一类问题。
正确答案:需要重新校准的传感器问题
原因:同样的代码,加上变了的光线,再加上不对劲的读数,指向的是传感器与校准的问题,而不是程序或机械问题。
2. 什么是调试?
正确答案:弄清楚实际结果为什么和预期结果不一样,然后把它修好
原因:调试是那种侦探工作:找出实际结果为什么和预期结果不一样,然后把那个原因解决掉。
3. 一台机器人上周还走直线。它的程序没改过,可现在每一遍都往一边打弯。这最可能属于哪一族问题?
正确答案:机械问题
原因:代码没改过,机器人却总往同一边偏,那就怀疑机械问题,比如轮子松了或线缆拖地。
4. 什么是计数器?
正确答案:一个从某个数字开始、每发生一次事情就加一的变量
原因:计数器是一个保存累计数目的变量:它从某个数字开始,每发生一次事件就加一。
5. 在可靠性试验里,「预期结果」指的是什么?
正确答案:程序运行正确时「应该」发生的事
原因:预期结果是应该发生的事;你每跑一遍都拿它和实际结果对照,看机器人可不可靠。
6. 在可靠性试验里,为什么要把同一件任务跑三遍?
正确答案:为了证明机器人一遍又一遍都能行,而不是碰巧成功了一次
原因:反复一致的运行才能证明可靠性;如果某一遍的实际结果和预期结果对不上,你就找到了一个要修的问题。