Quest Ladder
TeachFORGE.ai
Quest Ladder / 代码执行
代码执行题
设定语言、编写测试用例,让代码按能否运行来评判。
代码要么能跑,要么不能。这在评分里是少见的礼物。
是什么
学习者写代码;代码对照测试用例运行;结果决定分数。在「额外设置」中有两项设置塑造它: 语言,以及 测试用例 从 1 到 6,默认 2。
这是唯一一种错误答案能在你不写任何内容的情况下真正提供信息的题型——失败本身就告诉学习者哪个用例没处理好。
编写测试用例
两个用例是默认值,也是有用的最少数量:一个是任何说得通的尝试都能通过的,一个用来区分真解与猜测。上限是六,上限是有原因的——六个里错五个,学到的往往不如只错那个关键用例。
- 第一个用例做成显而易见的,好让走在正轨上的学习者得到「你对了」的反馈。
- 做一个边界用例:空输入、零、负数、区间边界。
- 避免只差在规模上的用例。形状相同、数字更大的测试只是在考耐心。
比较输出时忽略空白 在正确答案步骤上几乎总是正确设置。没有它,末尾换行就会判错正确程序,学习者无从知道原因。
分值与部分给分
每个测试用例是带自有分值的槽位,因此 评分模式 设为 加权 对通过的用例给分。处理了正常路径却未处理空输入的解法,仍值得大部分分数。
全有或全无也有用武之地——当题目明确要求 让所有测试通过 —但作为默认会丢掉该题型最有用的信号。
它不做的事
测试用例检查行为,不检查质量。通过全部测试的代码仍可能难读、该线性却二次、或硬编码成期望答案表。
若风格或效率是教学内容,请配一道书面题让学习者解释思路,并在 评分队列中批改。测试管正确性;其余由你处理。