Computer Aided Design and Grading for an Electronic Functional Programming Exam
本文报告函数式编程电子考试的设计与自动评分实践,提出 Proof Puzzles 检查算法、AST 静态分析工具和正则表达式高层工具,验证其在公平性、效率与分数一致性上的效果。
2023-08-14 cs.CY
Automated Assignment Grading with Large Language Models: Insights From a Bioinformatics Course
University of Ljubljana(卢布尔雅那大学);Faculty of Computer and Information Science(计算机与信息科学学院);Baylor College of Medicine(贝勒医学院)
本研究在生物信息学课程中评估了LLM用于作业自动评分的表现,发现精心设计的提示可使LLM达到与人类助教相当的评分准确性和反馈质量,且开源模型不逊于商业模型。
2025-01-24 cs.CY cs.LG
SimGrade: Using Code Similarity Measures for More Accurate Human Grading
针对CS1课程编程题人工评分不一致问题,提出SimGrade方法,利用代码分布式表示衡量相似性并设计分配与排序算法,使评分者优先接触相似提交,显著提升了评分准确性。
2024-02-19 cs.CY
CodEval: Improving Student Success In Programming Assignments
CodEval是一个代码评估工具,它与Canvas学习管理系统集成,可以在提交后的几分钟内自动评估学生的工作。这种早期反馈使学生能够在他们的提交被评分之前发现和纠正他们提交的问题,并让他们清楚地了解他们提交的质量。CodEval处理评分的繁琐方面,例如编译和运行测试,让评分员有更多的时间花在评分的定性方面。在使用CodEval之前,教师直到截止日期之后才能清楚地了解学生对作业所评估的概念的理解。CodeEval帮助教师识别和解决学生理解中的差距,从而帮助更多的学生成功完成作业。我们使用Python使用公共Canvas API实现了CodEval。Canvas课程的任何讲师或评分员都可以使用CodEval自动评估提交的编程作业。我们开发了一种语法来表达提交的要求,例如编译参数,输入,输出,命令行参数,超时,退出代码,使用的函数,生成的文件,输出验证器等等。我们将CodEval开源。CodEval是一个简单的工具,为学生,评分员和教师,并与画布无缝集成。我们分享了在两个班级中使用CodEval的经验,共有90名学生和多个编码任务。
2022-11-21 cs.CY
Influence of Personality Traits on Plagiarism Through Collusion in Programming Assignments
基于印度高校105名学生的AI课程数据,研究发现学术诚信教育和荣誉承诺未能显著降低编程作业中的代码抄袭,且大五人格中外向性与抄袭倾向正相关、尽责性负相关,可用舞弊三角模型解释。
2024-06-29 cs.CY
Nifty Web Apps: Build a Web App for Any Text-Based Programming Assignment
虽然许多学生现在在各种智能设备上与Web应用程序交互,但我们绝大多数的Nifty浏览器仍然提供传统的用户界面,如控制台输入/输出和桌面GUI。在本教程中,参与者将学习构建简单的Web应用程序,用于执行学生编写的代码以动态响应用户交互的编程作业,从而获得更现代的应用程序体验。我们的方法需要比类似的桌面GUI应用程序少75%的代码,同时需要对现有任务进行很少的修改(如果有的话)。教师和学生都可以在自己的计算机上运行和修改这些Web应用程序,或者在线部署他们的应用程序,以便从任何智能设备免费访问。本教程提供了CS 1和CS2课程中Python和Java的示例,但这些想法通常适用。
2020-11-13 cs.CY
Identifying Different Student Clusters in Functional Programming Assignments: From Quick Learners to Struggling Students
教师和学生都经常关注编程作业的成绩,这是衡量学生掌握材料的程度以及学生是否在努力的关键。然而,这可能会产生误导。特别是当学生可以使用自动评分器时,他们的成绩可能会严重倾斜。在本文中,我们分析了学生作业提交数据收集的函数编程课程在麦吉尔大学,结合了广泛的功能。除了分数,我们还考虑活动时间数据,花费的时间和静态错误的数量。这使我们能够通过聚类算法识别出四类学生:“快速学习”,“勤奋”,“满意”和“挣扎”。然后,我们分析了工作习惯,工作时间,错误的范围,以及修复错误的能力如何影响不同的学生群。这种结构化的分析为教师积极帮助不同类型的学生并强调其整体课程设计的不同方面提供了宝贵的见解。它还为学生自己提供了见解,以了解他们仍然在努力解决的方面,并允许他们寻求澄清和调整他们的工作习惯。
2023-01-06 cs.CY
A systematic comparison of Large Language Models for automated assignment assessment in programming education: Exploring the importance of architecture and vendor
Adam Mickiewicz University(亚当·密茨凯维奇大学)
本研究基于6000余份编程课程学生作业,对比18款不同厂商的大语言模型的自动评分表现,发现模型间存在系统性差异,轻量版本表现弱于全量版,且自动评分与人工评分仍有差距,为教育场景模型选型提供参考。
2025-09-30 cs.CY
Code Interviews: Design and Evaluation of a More Authentic Assessment for Introductory Programming Assignments
针对生成式AI带来的评估挑战,本文提出“代码访谈”这一针对入门编程作业的更具真实性的评估方法,通过助教主导的访谈形式促使学生讨论作业并促进同伴学习,并探讨了该设计对学生体验、学术诚信及教学工作量的影响。
2024-11-18 cs.CY
CodEv: An Automated Grading Framework Leveraging Large Language Models for Consistent and Constructive Feedback
National Sun Yat-Sen University(国立中山大学)
CodEv框架利用大型语言模型、思维链提示和模型集成,为编程作业提供与人工评估一致且可靠的自动化评分与建设性反馈。
2025-01-10 cs.AI cs.CY cs.HC
Reducing Procrastination on Programming Assignments via Optional Early Feedback
本文提出不计分但提供提前自动化反馈的编程作业干预,实验与访谈表明其能促使学生提早开始,实际使用者成绩更高,并在心理健康和软技能方面受益。
2025-10-16 cs.CY
Effects of Automated Interventions in Programming Assignments: Evidence from a Field Experiment
MOOC的一个典型问题是课程指导者没有机会单独支持学生克服他们的问题和误解。本文介绍了在编程练习中自动干预困难学生的结果,并提供同伴反馈和量身定制的奖金练习。为了提高学习的成功率,我们并不想废除预期的尝试和错误,而是减少广泛的斗争和去动力。因此,我们开发了自适应自动及时干预措施,以鼓励学生寻求帮助,如果他们需要大大超过平均工作时间来解决一个问题。此外,我们为学生提供针对他们个人弱点的额外练习。该方法在现场课程中进行了评估,超过5,000名活跃的学生通过调查和收集的指标进行了评估。结果表明,我们可以增加高达66%的求助电话,并降低停留时间,直到发出行动。从实验中获得的经验教训可以进一步用于确定需要改进的课程材料,并根据受众的具体情况调整内容。
2018-09-21 cs.CY
Analyzing the Difficulty of Programming Assignments with Interpretable Knowledge Component Metrics
Aalto University(阿尔托大学);North Carolina State University(北卡罗来纳州立大学);University of California, Berkeley(加州大学伯克利分校);University of Pittsburgh(匹兹堡大学)
研究如何用知识组件(KC)理解编程入门课程作业难度与学生学习困境,分析基于KC的指标,如作业KC数量及连续作业间KC覆盖变化,揭示相关规律并提出分析框架。
2026-07-07 cs.CY cs.SE
Automatic Classification of Error Types in Solutions to Programming Assignments at Online Learning Platform
在线编程课程越来越受欢迎,但与传统教育系统相比,它们仍然存在明显的缺点,例如,缺乏反馈。在这项研究中,我们应用机器学习方法,以改善反馈的自动验证系统的编程任务。我们提出了一种方法,提供了一个关于如何修复给定的不正确的提交代码的见解。为了实现这一点,我们通过对以前提交的不正确的解决方案进行聚类来检测频繁的错误类型,标记这些聚类,并使用这个标记的数据集来识别新提交中的错误类型。我们研究和比较了几种方法来检测频繁的错误类型和分配集群的新提交。所提出的方法进行评估的数据集上提供的流行的在线学习平台。
2021-07-13 cs.CY cs.SE
Less Power for More Learning: Restricting OCaml Features for Effective Teaching
提出一个沙箱化并限制 OCaml 语言特性的框架,通过禁用特定语言和库特性及实现模拟 IO 系统来安全、自动化地扩展编程练习评分。
2023-09-08 cs.CY
FastFixer: An Efficient and Effective Approach for Repairing Programming Assignments
针对LLM修复编程作业时定位编辑不准且自回归推理较慢的问题,本文提出FastFixer,通过面向修复的微调与任务定制推理加速,实现修复效果提升20.46%、推理加速16.67倍。
2024-10-11 cs.CY cs.SE
Linking open-source code commits and MOOC grades to evaluate massive online open peer review
大规模开放式在线课程(MOOC)已被学生用作各种领域的低成本和低接触教育证书。了解这些课程作业背后的评分机制对于评估MOOC证书非常重要。一种常见的自由反应作业评分方法是大规模的同行评审,特别是用于那些不容易通过编程评分的作业。很难评估这些方法,因为这些反应通常需要人工评估。在这里,我们链接了来自GitHub上的公共代码存储库的数据和一个大型在线开放课程的课程成绩,以研究大规模同行评审的动态。这对于理解难以评分作业的动态具有重要意义。由于这项研究不是假设驱动的,我们在一个探索性的框架中描述了结果。我们发现三个不同的集群的重复同行评审提交,并使用这些集群来研究等级如何变化,以响应代码提交的变化。我们的探索还导致了一个重要的观察结果,即大规模同行评审分数是高度可变的,平均而言,随着重复提交而增加,分数的变化与构成重新提交基础的代码更改并不密切相关。
2021-04-15 cs.CY stat.AP
Evaluating Code Generation of LLMs in Advanced Computer Science Problems
Royal Institute of Technology(皇家理工学院)
本研究评估四种LLM工具在高级CS课程中生成Java、Python和C代码的能力,发现其解决高级作业较入门更难,但常能提供部分有用解决方案,为教学提供指导。
2025-04-21 cs.AI cs.CY
Impeding LLM-assisted Cheating in Introductory Programming Assignments via Adversarial Perturbation
University of Arizona(亚利桑那大学)
本文针对入门编程课程中的 LLM 作弊问题,测试了 5 种 LLM 的基线性能,并提出对抗扰动方法,通过用户研究验证该扰动能使代码平均正确性下降 77%,有效阻碍了 LLM 辅助的代码生成。
2024-10-15 cs.CL cs.CY cs.SE
LeafTutor: An AI Agent for Programming Assignment Tutoring
LeafTutor利用大型语言模型为编程作业提供逐步指导,展示了AI辅导在提升STEM教育学习中的潜力。
2025-12-12 cs.AI cs.CY cs.SE
Generative Grading: Near Human-level Accuracy for Automated Feedback on Richly Structured Problems
Stanford University(斯坦福大学)
大规模获得高质量教育的机会受到限制,因为在计算机编程,图形和简短回答问题等结构化领域的开放式作业中难以提供学生反馈。这个问题已经被证明是非常困难的:对于人类来说,它需要大量的手工工作,而对于计算机来说,直到最近,实现任何接近人类水平的精度都是无法实现的。在本文中,我们提出了生成评分:一种新的计算方法,提供反馈的规模,能够准确地分级学生的工作,并提供细致入微的,可解释的反馈。我们的方法使用生成描述学生的认知,写概率程序,合成数以百万计的标记的例子解决方案的问题,然后我们学习推断反馈,真正的学生解决方案的基础上,这种认知模型。我们将我们的方法应用于三种设置。在基于块的编码中,我们在以前的最佳反馈结果基础上实现了50%的改进,实现了超人的准确性。在另外两个广泛不同的领域-图形任务和简短的文本答案-我们实现了比以前的技术水平分别约4倍和1.5倍的重大改进,接近人类的准确性。在一个真实的教室里,我们进行了一个实验,我们使用我们的系统来增强人类评分员,在将评分时间减半的同时,提高了一倍的评分准确性。
2021-03-23 cs.CY cs.LG stat.ML
"Why Put in This Much Effort?": How AI Availability Shapes Students' Motivation in Introductory Programming
North Carolina State University(北卡罗来纳州立大学);University of Maryland(马里兰大学)
通过访谈13名工程专业学生,研究AI工具完成编程作业时学生的动机变化,发现AI可用性降低了努力价值感、学习满足感和长期技能认知,学生面临学习与走捷径的冲突,建议课程设计从关注产出转向支持学习过程。
2026-06-29 cs.CY
Ensuring Computer Science Learning in the AI Era: Open Generative AI Policies and Assignment-Driven Written Quizzes
Lawrence Technological University(劳伦斯理工大学)
本文提出了一种评估模型,允许在编程作业中使用生成式AI,同时通过基于作业的测验确保学生掌握课程内容,证明了开放AI政策在高级计算机科学课程中的可行性。
2026-01-16 cs.AI cs.CY
C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignments
INESC-ID/IST - U. Lisboa(里斯本大学INESC-ID/高等技术学院);Czech Technical University in Prague(捷克布拉格技术大学)
由于大规模开放式在线课程(MOOC)中注册的学生数量庞大,因此出现了越来越多的专注于介绍性编程作业(IPA)的自动程序修复技术。这些技术利用先前的正确学生实现,以便向学生提供自动化、全面和个性化的反馈。本文介绍了C-Pack-IPAs,一个公开的基准提交的学生计划为25个不同的IPAs。C-Pack-IPA包含语义正确、语义不正确和语法不正确的程序,以及每个IPA的测试套件。因此,C-Pack-IPAs可以用来帮助评估新的语义,以及语法,自动程序修复框架的发展,专注于提供反馈给新手程序员。
2022-06-17 cs.AI cs.CY cs.PL
Interpreting Latent Student Knowledge Representations in Programming Assignments
University of Massachusetts Amherst(马萨诸塞大学阿默斯特分校)
针对教育大模型学生知识表示可解释性不足的问题,提出信息正则化开放式项目反应理论模型InfoOIRT,通过最大化带先验的潜在知识状态与学生代码的互信息学习解耦表示,在真实数据集上实现代码生成与可解释知识表示的双重效果。
2024-05-13 cs.CL cs.CY cs.LG
Behavior Pattern and Compiled Information Based Performance Prediction in MOOCs
随着MOOC大规模在线开放课程的发展,越来越多的学科可以在线学习。研究人员目前对MOOC领域表现出越来越大的兴趣,包括辍学预测,作弊检测和成就预测。以往关于学业成就预测的研究主要集中在学生的视频和论坛行为上,很少有研究者考虑学生完成作业的情况。本文选择了一门C程序设计课程作为实验对象,共有1528名学生参加。本文主要研究学生在程序设计作业中的成就行为和从程序设计作业中获得的信息。本文根据日志的提交次数、提交顺序和剽窃程度提取日志的特征序列。实验结果表明,未通过考试的学生具有明显的序列模式,而通过考试的学生没有明显的序列模式。然后,我们从学生的编程作业的汇编信息中提取23个特征,并选择最具区别性的特征来预测学生的表现。实验结果表明,我们可以得到一个准确率为0.7049预测学生的表现。
2019-08-04 cs.CY cs.IR
Logic Error Localization in Student Programming Assignments Using Pseudocode and Graph Neural Networks
Texas Tech University(德克萨斯理工大学);Xavier University of Louisiana(路易斯安那泽维尔大学)
针对学生编程作业中逻辑错误难定位的问题,提出以伪代码为支撑构建代码-伪代码图、用图神经网络定位并修正错误的方法,还构建了对应数据集,实验显示top-10定位准确率达99.2%。
2024-10-11 cs.AI cs.CY cs.SE
Code-DKT: A Code-based Knowledge Tracing Model for Programming Tasks
North Carolina State University(北卡罗来纳州立大学)
知识追踪(KT)模型是一种流行的方法,用于预测学生未来的表现在实践中的问题,使用他们以前的尝试。虽然KT已经进行了许多创新,但包括最先进的Deep KT(DKT)在内的大多数模型主要利用每个学生的回答,无论是正确的还是不正确的,而忽略了它的内容。在这项工作中,我们提出了基于代码的深度知识跟踪(Code-DKT),该模型使用注意力机制来自动提取和选择特定于域的代码特征,以扩展DKT。我们比较了Code-DKT与贝叶斯和深度知识跟踪(BKT和DKT)在一个数据集上的有效性,该数据集来自一个50名学生的班级,他们试图解决5个入门编程作业。我们的研究结果表明,在5次分配中,Code-DKT始终优于DKT 3.07- 4.00%AUC,与其他最先进的领域通用KT模型相比,这是一个相当的改进。最后,我们通过一组案例研究来分析特定于问题的性能,以演示代码功能何时以及如何改善Code-DKT的预测。
2022-06-07 cs.AI cs.CY cs.SE
Neural Approximate Dynamic Programming for On-Demand Ride-Pooling
Singapore Management University(新加坡管理大学)
按需拼车(例如,UberPool)最近变得很受欢迎,因为它能够降低乘客的成本,同时增加司机和聚合公司的收入。与按需出租车(ToD)服务不同,在按需拼车中,每辆车(可能部分满员)都可以被分配一组乘客请求,其中有多个不同的起点和目的地对。为了确保接近实时的响应,实时拼车问题的现有解决方案是短视的,因为它们优化了目标(例如,最大化服务的乘客数量),而不考虑其对未来分配的影响。这是因为即使是拼车中的短视分配也需要考虑可以分配给车辆的乘客请求的组合,这给ToD问题增加了一层组合复杂性。近似动态规划(ADP)是一种解决ToD问题中短视分配限制的流行方法。然而,现有的用于ToD的ADP方法只能处理基于线性规划(LP)的分配,而拼车中的分配问题需要具有不良LP松弛的非线性规划(ILP)。为此,我们的主要技术贡献是提供了一个通用的ADP方法,可以从基于ILP的任务中学习。此外,我们通过使用基于神经网络的近似价值函数来处理乘客请求组合的额外组合复杂性,并显示与深度强化学习的连接,使我们能够以更高的稳定性和样本效率学习此值函数。我们表明,我们的方法在现实世界的数据集上比过去的方法性能高出16%,这在城市规模的交通问题上是一个显着的改进。
2019-11-20 cs.AI cs.CY cs.SY
InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments
INESC-ID;Instituto Superior Técnico(理工学院);Universidade de Lisboa(里斯本大学);CIIRC;Czech Technical University in Prague(布拉格捷克技术大学)
本文提出 InvAASTCluster 程序聚类方法,结合动态生成的程序不变量与匿名化抽象语法树表示语义等价的入门编程作业,集成至修复工具后使修复的学生程序数量提升约13%且耗时更短。
2025-04-30 cs.AI cs.CY cs.PL
Effects of Human vs. Automatic Feedback on Students' Understanding of AI Concepts and Programming Style
自动评分工具的使用在大型本科编程课程中几乎无处不在,最近的工作集中在提高自动生成反馈的质量上。然而,在接受计算机生成的反馈和人类书面反馈时,直接比较学生成绩的数据相对缺乏。本文通过将一个90名学生的班级分成两个反馈组,并分析两组学生的表现差异来解决这一差距。这门课是人工智能的入门课,有硬件编程作业。一组学生收到了关于他们编程作业的详细的计算机生成的反馈,描述了算法逻辑的哪些部分缺失;另一组学生还收到了人类撰写的反馈,描述了他们的程序语法如何与他们的逻辑问题相关,以及改进他们代码的定性(风格)建议。测验和考试问题的结果表明,人类的反馈有助于学生获得更好的概念理解,但分析发现,小组在最终项目上的合作能力没有差异。课程成绩分布显示,接受人类书面反馈的学生总体表现更好;这种效果在每组的中间两个四分位数中最为明显。这些结果表明,反馈的语法逻辑关系可能是一个主要的机制,人类的反馈提高学生的成绩。
2020-11-20 cs.CY cs.HC
Correctness, Convergence, and AI-Generated Code Detection: A Longitudinal Study of Student and Large Language Model Code in Introductory Programming
University of Toronto(多伦多大学);Aalto University(阿尔托大学);McMaster University(麦克马斯特大学);Maranatha Christian University(马拉纳撒基督教大学);University of Auckland(奥克兰大学);University of Toronto Mississauga(多伦多大学密西沙加分校)
本研究通过纵向分析学生与LLM代码,发现生成参考匹配可追踪群体代码趋同,但归因个体AI使用需额外证据。
2026-10-02 cs.CY cs.SE
Students' Perceptions and Preferences of Generative Artificial Intelligence Feedback for Programming
North Carolina State University(北卡罗来纳州立大学);Georgia Institute of Technology(佐治亚理工学院)
本研究探讨ChatGPT为CS1课程Java作业提供自动化反馈的可行性,通过调查发现学生认可其形成性价值,偏好含代码的针对性纠错反馈,为优化AI教育反馈提供了方向。
2023-12-17 cs.AI cs.CY cs.HC