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
How Consistent Are Humans When Grading Programming Assignments?
本文通过28名评分者对40份CS1 Java作业的重复分组评分实验,发现人类评分者之间及个人内部均存在明显不一致,说明仅靠共享评分量规不足以保证编程作业评分一致性。
2025-07-23 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
A survey on grading format of automated grading tools for programming assignments
在线平台和研究的普及产生了对自动评分工具的需求,因此,市场上有很多。开发这些工具是为了快速、准确、轻松地对编码作业进行评分。由于有各种各样的工具可以满足程序设计语言和概念的不同选择,因此任何教师都无法决定哪一种适合自己的要求。有几项调查研究了这些工具,并深入了解了它们的功能和支持内容。然而,除了了解功能之外,对于教师来说,了解作业是如何评分的以及测试用例的格式是什么也很重要。这是至关重要的,因为教师必须设计评分格式,因此需要一个学习曲线。本调查研究和评估的自动评分工具的基础上,他们的评估格式。这反过来又帮助读者决定选择哪种工具,并提供了一个深入了解什么是评估设置和方法,用于在任何特定的评分工具中对编码作业进行评分。
2022-12-04 cs.CY
Identifying Different Student Clusters in Functional Programming Assignments: From Quick Learners to Struggling Students
教师和学生都经常关注编程作业的成绩,这是衡量学生掌握材料的程度以及学生是否在努力的关键。然而,这可能会产生误导。特别是当学生可以使用自动评分器时,他们的成绩可能会严重倾斜。在本文中,我们分析了学生作业提交数据收集的函数编程课程在麦吉尔大学,结合了广泛的功能。除了分数,我们还考虑活动时间数据,花费的时间和静态错误的数量。这使我们能够通过聚类算法识别出四类学生:“快速学习”,“勤奋”,“满意”和“挣扎”。然后,我们分析了工作习惯,工作时间,错误的范围,以及修复错误的能力如何影响不同的学生群。这种结构化的分析为教师积极帮助不同类型的学生并强调其整体课程设计的不同方面提供了宝贵的见解。它还为学生自己提供了见解,以了解他们仍然在努力解决的方面,并允许他们寻求澄清和调整他们的工作习惯。
2023-01-06 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
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
Code Interviews: Design and Evaluation of a More Authentic Assessment for Introductory Programming Assignments
针对生成式AI带来的评估挑战,本文提出“代码访谈”这一针对入门编程作业的更具真实性的评估方法,通过助教主导的访谈形式促使学生讨论作业并促进同伴学习,并探讨了该设计对学生体验、学术诚信及教学工作量的影响。
2024-11-18 cs.CY
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
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
Interpreting Latent Student Knowledge Representations in Programming Assignments
University of Massachusetts Amherst(马萨诸塞大学阿默斯特分校)
针对教育大模型学生知识表示可解释性不足的问题,提出信息正则化开放式项目反应理论模型InfoOIRT,通过最大化带先验的潜在知识状态与学生代码的互信息学习解耦表示,在真实数据集上实现代码生成与可解释知识表示的双重效果。
2024-05-13 cs.CL cs.CY cs.LG
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
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
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
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
Behavior Pattern and Compiled Information Based Performance Prediction in MOOCs
随着MOOC大规模在线开放课程的发展,越来越多的学科可以在线学习。研究人员目前对MOOC领域表现出越来越大的兴趣,包括辍学预测,作弊检测和成就预测。以往关于学业成就预测的研究主要集中在学生的视频和论坛行为上,很少有研究者考虑学生完成作业的情况。本文选择了一门C程序设计课程作为实验对象,共有1528名学生参加。本文主要研究学生在程序设计作业中的成就行为和从程序设计作业中获得的信息。本文根据日志的提交次数、提交顺序和剽窃程度提取日志的特征序列。实验结果表明,未通过考试的学生具有明显的序列模式,而通过考试的学生没有明显的序列模式。然后,我们从学生的编程作业的汇编信息中提取23个特征,并选择最具区别性的特征来预测学生的表现。实验结果表明,我们可以得到一个准确率为0.7049预测学生的表现。
2019-08-04 cs.CY cs.IR
Student's opinions about System for automatic assessment of programming tasks Projekt Tomo
在之前的一篇论文中,描述了一种名为Projekt Tomo的Web服务,旨在简化教师和学生的编程学习过程。由于这项服务受到教师和学生的热烈欢迎,我们决定收集更多关于学生对这项服务的看法的信息,以便进一步改进。在本文中,我们简要介绍了我们的Web服务和分发给学生的高中水平的Python编程课程的问卷调查的详细分析。
2017-02-17 cs.CY
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
A Zero-Shot LLM Framework for Automatic Assignment Grading in Higher Education
The Chinese University of Hong Kong(香港中文大学);Nagoya University(名古屋大学)
提出零样本LLM自动作业评分框架,利用提示工程评估学生回答并提供个性化反馈,实验表明能提升学习动机与理解,优于传统评分。
2025-01-24 cs.AI cs.CY
Teaching Python programming with automatic assessment and feedback provision
我们描述了一种自动反馈的方法,为学生学习编程和计算方法的Python。我们从2009年开始实施、使用和改进这个系统,以满足不断增长的学生人数,并总结了使用它的设计和经验。核心思想是使用一个单元测试框架:教师创建一组单元测试,通过运行这些测试来测试学生代码。通过我们的实施,学生通常会提交作业进行评估,并在提交后几分钟内通过电子邮件收到反馈。测试的选择和向学生报告的选择是为了优化学生的教育价值。该系统非常显着地减少了工作人员的时间来确定学生的解决方案是否正确,并转移计算实验室的学生接触时间的重点从评估正确性提供指导。自动反馈的自定进度性质支持以学生为中心的学习方法。学生可以重复提交他们的工作,并迭代地改进他们的解决方案,并享受使用该系统。我们包括使用它在一个班的425名学生的系统和数据的评估。
2015-09-11 cs.CY
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
Effects of Human vs. Automatic Feedback on Students' Understanding of AI Concepts and Programming Style
自动评分工具的使用在大型本科编程课程中几乎无处不在,最近的工作集中在提高自动生成反馈的质量上。然而,在接受计算机生成的反馈和人类书面反馈时,直接比较学生成绩的数据相对缺乏。本文通过将一个90名学生的班级分成两个反馈组,并分析两组学生的表现差异来解决这一差距。这门课是人工智能的入门课,有硬件编程作业。一组学生收到了关于他们编程作业的详细的计算机生成的反馈,描述了算法逻辑的哪些部分缺失;另一组学生还收到了人类撰写的反馈,描述了他们的程序语法如何与他们的逻辑问题相关,以及改进他们代码的定性(风格)建议。测验和考试问题的结果表明,人类的反馈有助于学生获得更好的概念理解,但分析发现,小组在最终项目上的合作能力没有差异。课程成绩分布显示,接受人类书面反馈的学生总体表现更好;这种效果在每组的中间两个四分位数中最为明显。这些结果表明,反馈的语法逻辑关系可能是一个主要的机制,人类的反馈提高学生的成绩。
2020-11-20 cs.CY cs.HC