这次作业要求写一个带输入校验的小程序。批改时如果只看分数,很容易得到“整体完成度尚可”的印象;但把错误逐一归类后,问题会具体很多。
四类错误
我把错误分成四类:
- 概念错误:对变量作用域、循环边界或类型转换的理解不正确。
- 语法错误:拼写、缩进、括号匹配等基础问题。
- 调试错误:程序能运行,但遇到异常输入就崩溃,学生没有主动测试边界情况。
- 表达错误:变量命名含糊、缺少必要注释,导致程序难以阅读。
统计结果里,语法错误数量最多,但概念错误集中在少数几个知识点上;调试错误则普遍存在,很多同学只测试了“正常输入”,没有测试空值、负数或非数字输入。
课堂上的调整
下一次课我准备做三件事:
- 用两个短例子讲清循环边界,不展开成完整语法课。
- 现场演示一次“先写测试用例,再写程序”的过程。
- 给出一份最小的代码自查清单,包括命名、输入校验和异常处理。
分数仍然要保留,但它只说明这次作业的结果。错误类型才说明学生下一次可能在哪里卡住,也说明我的教学在哪里需要补位。
反馈方式的变化
以前我习惯在作业末尾写一段总评,这次改为针对最关键的两三个问题写具体建议,并给出可修改的示例。总评变短了,但学生更容易知道下一步怎么做。
批改不是为了把作业分出高低,而是为了让下一次练习更有针对性。这个视角调整之后,批改记录也变成了我自己的教学资料。