第8课结束后,学生能看到自己错了几次、最后一次选了什么错因。但复盘报告只是“回头看”。
如果页面到这里就结束,学生仍要自己决定下一步练什么。
本课把第8课作品继续改造成“针对性再练”:完成一轮三题后,页面根据本轮被记录为最后错因的题目数最多的一类错因,安排0~2道没有做过的新题。
它不记录姓名、排名、用时或长期历史,只使用本轮已产生的复盘数据。
一、本课任务
完成后,页面应能:
- 2. 找出本轮被记录为最后错因的题目数最多的一类错因;如果并列,按“条件没读懂—关系用错—计算错误”的顺序选一个;
- 3. 候选题至少有1道时,在复盘页显示“下一步建议”和“开始针对性再练”按钮;
- 4. 从题库中抽取0~2道尚未在本轮出现、且包含该错因的新题;
- 5. 再练仍使用输入校验、错因选择和提示,但不把正确答案自动填入输入框;
- 6. 完成实际抽到的全部再练题后,显示“本轮练习完成”,并分别列出原练习和再练的结果;
- 7. 如果题库中找不到匹配新题,直接说明原因且不显示再练按钮;找到1道时只安排1道,不伪造或重复题目。
最终文件保存在:
Day09-针对性再练
├── index.html
├── 针对性再练设计.md
└── 测试记录.md
二、先确定页面流程
不要把“错因最多”理解成给学生贴标签。这里统计的是三道原练习题各自保存的最后错因,不是同一道题所有答错过程的累计次数;它只是本轮练习的一个复习入口。
页面按下面顺序变化:
原练习3题 → 本轮复盘 → 给出1条再练建议 → 再练0~2题 → 本轮完成
例如,本轮有两道题的最后错因是“关系用错”,另有一道题的最后错因是“计算错误”,页面可以提示:“这轮你较多地卡在关系使用上。先回到图中确认已知条件,再选择对应关系。”随后只抽取带有“关系用错”错因的新题。
如果三题都一次答对,没有错因数据,页面不必强行安排再练。显示“本轮没有记录到学习错误,可以重新抽题挑战不同题目”。
三、先写设计,再让 WorkBuddy 实现
在 Day09-针对性再练 中复制第8课已完成并按实际操作测试的 index.html 和 测试记录.md。先输入:
请读取当前 index.html 和“测试记录.md”,先不要修改网页。
请创建“针对性再练设计.md”,说明如何在现有错因复盘页面上增加本轮针对性再练。
要求:
1. 保留原三题和错因复盘;
2. 统计三道原练习题保存的最后错因,忽略“无”;每道题只计入其最后错因一次;
3. 并列时依次选择“条件没读懂”“关系用错”“计算错误”;
4. 复盘页给出针对目标错因的本轮再练建议,并只从尚未做过、包含目标错因的题目中抽取0~2道;
5. 再练结果与原练习结果分开保存和展示;
6. 无错误时不安排再练;候选题为0道时直接说明原因且不显示按钮;候选题只有1道时只安排1道;
7. 不记录任何长期个人信息。
请用标题、流程和清单写入“针对性再练设计.md”。
检查设计时,重点看三个问题:再练题是否真的没有在本轮出现过;候选题为0道或1道时页面能否正常结束;再练结束后是否仍能区分“原练习”和“再练”,避免把所有结果混在一起。
设计确认后,再输入:
请根据“针对性再练设计.md”修改 index.html。
要求:
1. 完成原练习三题后,按每道题的最后错因统计并确定目标错因;目标确定后,在再练过程中不得重新计算或切换;
2. 有目标错因且候选题至少有1道时,显示原因、再练建议和“开始针对性再练”按钮;无错误或候选题为0道时,不显示按钮并说明原因;
3. 点击按钮后,从未做过且包含目标错因的题目中随机抽取1~2道;不能重复原练习题或已抽到的再练题;
4. 再练沿用现有格式校验、错误次数、错因选择、提示和答对后锁定;
5. 完成实际抽到的全部再练题后,分别列出原练习三题和再练题的题号、错误次数、最后错因、答案和计算过程;
6. 候选题只有1道时显示实际数量;候选题为0道时说明原因,不临时编造或重复题目;
7. “重新抽题”清空原练习、再练、目标错因、提示和全部本轮结果;
8. 不增加外部资源,不记录姓名、排名、用时和长期历史。
完成后只报告代码检查过的内容;没有实际操作的测试不要写成通过。
四、测试与记录
至少实际测试以下情况:
让 WorkBuddy 只补充测试用例:
请更新“测试记录.md”,不要修改 index.html。
新增:零错因不安排再练、目标错因按最后错因统计、并列规则、候选题为0道、候选题只有1道、再练题不重复、再练中目标错因不切换、再练保留输入校验与错因选择、原练习和再练结果分开显示、重新抽题清空针对性再练状态。
没有亲自操作得到的“实际结果”和“是否通过”保持空白。
五、完成检查
再练的价值不在于多做两道题,而在于让“我错了”变成一次明确、可验证的下一步行动。