← 最新论文
💻 computer science

From Partial Correctness to Completion: Predicting Learners’ Early Success in Programming Practice

本研究提出并验证了一种用于编程实践中早期成功预测的部分正确性与进度感知公式化方法,证明了该方法通过更有效地捕捉学习者进展并实现有针对性的教学支持,其表现显著优于传统的二元和序数方法。

原作者: Md. Shahajada Mia, Yutaka Watanobe, Md. Mostafizer Rahman, Md Faizul Ibne Amin, Daniel M. Muepu

发布于 2026-07-21
📖 1 分钟阅读☕ 轻松阅读

原作者: Md. Shahajada Mia, Yutaka Watanobe, Md. Mostafizer Rahman, Md Faizul Ibne Amin, Daniel M. Muepu

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在观察一位朋友尝试解决一个棘手的谜题。在过去,老师可能只关心最终时刻:他们是完成了谜题,还是放弃了?这是一个简单的“是”或“否”的答案。但在计算机编程的世界里,学习更像是一段漫长、混乱的试错之旅。学生编写代码,计算机说“错误”,他们修正了一个微小的错误,计算机又说“虽然错了,但离正确更近了”,然后他们不断尝试,直到最终成功。这个过程发生在一个叫做“在线判题系统”(Online Judges)的特殊网站上,这些系统就像巨大的自动化评分机器,记录下学生每一次尝试的细节。

研究人员提出的核心问题是:我们能否通过观察一个学生“混乱的中期尝试”,来预判他们是否即将成功,或者是否正陷入失败的死循环?这有点像教练观察一名篮球运动员投篮未中。如果球员只是差了一点点,且动作正在改进,教练知道进球很快就会到来。但如果球员投得离谱且感到沮丧,他们可能需要帮助。这篇论文深入探讨了这样一个想法:尝试寻找一种最佳方法,通过当前的挣扎来预测学生未来的成功,利用数学和计算机模型来分辨什么是“接近成功”以及什么是“停滞不前”。


论文:在瞬息之间,从“错误”走向“正确”

这项研究就像是一个发生在 Aizu 在线判题系统 (AOJ) 这个数字游乐场里的侦探故事。AOJ 是一个庞大的网站,学生们在这里通过解决数百个问题来练习编程。研究人员(来自会津大学和圣母大学的一个团队)想要解开一个特定的谜团:仅仅通过观察学生现在的失败情况,我们能否预测他们在接下来的几次尝试中是否能解决一个编程问题?

为了实现这一点,他们不仅仅观察最终结果(通过或未通过),而是测试了三种描述学生进步方式的不同方法,就像用三种不同的方式来描述一名跑步者的比赛:

  1. “二元”视角(旧方法): 这是最简单的视角。它只看到两件事:学生做对了吗?是或否。它忽略了中间的一切。这就像一个只关心你是否冲过终点线的教练,而不在乎你是跑着过去还是爬着过去。
  2. “序数”视角(排名方式): 这稍微好一些。它将学生的尝试从“完全错误”到“接近正确”进行排序。这就像是在说:“你没投中,但你比上次更接近了。”它提供了一些细节,但仍然将这些步骤视为阶梯上的等级。
  3. “部分正确与进度”视角(新颖、超详细的方式): 这是全场的明星。它观察学生在每次尝试中解决了多少问题(例如,做对了 40% 的测试用例),并且至关重要的一点是,他们是否在每一次尝试中都在进步。它追踪“增益”——他们是否比上一次尝试有所进步?这就像一位教练不仅注意到你离篮筐更近了,还注意到你的跳跃高度在增加,瞄准也变得更稳了。

大型实验

研究人员从名为“算法与数据结构 I”(ALDS1)的课程中提取了超过 295,000 次编程尝试的大规模数据集,并从“计算几何”(CGL)课程中提取了一个较小的数据集。他们将这些数据输入到六种不同的计算机大脑模型(机器学习算法)中,包括一种名为随机森林 (Random Forest) 的流行模型,以观察哪种描述学生进步的“视角”在预测未来方面表现最好。

他们的发现

结果清晰且一致。新的、详细的**“部分正确与进度”视角 (M3)** 脱颖而出,每次都击败了其他两种方法。

  • 得分: 当使用最佳模型(随机森林)时,新方法实现了 75.39%PR-AUC。这是一个衡量模型寻找“成功”案例能力的专业分数。
  • 对比: 这是一个显著的飞跃。旧的“二元”方法得分仅为 70.99%,而“序数”方法为 71.21%
  • 提升: 新方法比二元方法提高了约 6.63%,比序数方法提高了约 6.78%

简单来说,通过关注学生是如何失败以及如何进步的,计算机能够比单纯等待看他们最终是否成功更准确地预测他们的成功。

为什么这很重要:“风险组”

研究人员不仅停留在分数上;他们利用获胜的模型将学生分为三个“风险组”,以观察其在现实世界中是否合理:

  • 低风险: 这些学生几乎肯定很快就会解决问题。
  • 中等风险: 他们处于中间状态,正在挣扎但正在取得进展。
  • 高风险: 他们很可能会持续失败。

令人兴奋的是,新方法创造了最清晰的组间区分。在“低风险”组(成功率达 71.20%)和“高风险”组(成功率仅为 24.06%)之间的成功率差异巨大。旧方法无法如此清晰地划分这些群体。

这表明新方法可以作为一个智能的预警系统。如果老师看到一名学生处于“高风险”区域,他们就知道应该在学生感到挫败之前,介入给予提示或一个更简单的题目。如果学生处于“低风险”状态,老师就知道可以让他们继续尝试,或者给他们一个更有挑战性的任务。

核心结论

论文表明,在编程教育中,你如何失败与你是否成功同样重要。 通过追踪学生尝试中的微小进步和具体的错误类型,我们可以构建更好的工具来帮助他们学习。这项研究证实,通过观察学生尝试的“部分正确性”和“进度”,我们能比仅仅看最终的“通过”或“失败”按钮,拥有一个更清晰的预测未来成功的“水晶球”。它将调试这一混乱的过程转化为了学习的路线图。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →