Automatically Classifying Students in Need of Support by Detecting Changes in Programming Behaviour

A. Estey, H. Keuning, Y. Coady
{"title":"Automatically Classifying Students in Need of Support by Detecting Changes in Programming Behaviour","authors":"A. Estey, H. Keuning, Y. Coady","doi":"10.1145/3017680.3017790","DOIUrl":null,"url":null,"abstract":"Educational research has established that learning can be defined as an enduring change in behaviour, which results from practice or other forms of experience. In introductory programming courses, proficiency is typically approximated through relatively small but frequent assignments and tests. Scaling these assessments to track significant behavioural change is challenging due to the subtle and complex metrics that must be collected from large student populations. Based on a four-semester study, we present an analysis of learning tool interaction data collected from 514 students and 38,796 solutions to practice programming exercises. We first evaluate the effectiveness of measuring workflow patterns to detect students at-risk of failure within the first three weeks of the semester. Our early predictor analysis accurately detects 81% of the students who struggle throughout the course. However, our early predictor also captures transient struggling, as 43% of the students who ultimately did well in the course were classified as at-risk. In order to better differentiate sustained versus transient struggling, we further propose a trajectory metric which measures changes in programming behaviour. The trajectory metric detects 70% of the students who exhibit sustained struggling, and mis-classifies only 11% of students who go on to succeed in the course. Overall, our results show how detecting changes in programming behaviour can help us differentiate between learning and struggling in CS1.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3017680.3017790","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24

Abstract

Educational research has established that learning can be defined as an enduring change in behaviour, which results from practice or other forms of experience. In introductory programming courses, proficiency is typically approximated through relatively small but frequent assignments and tests. Scaling these assessments to track significant behavioural change is challenging due to the subtle and complex metrics that must be collected from large student populations. Based on a four-semester study, we present an analysis of learning tool interaction data collected from 514 students and 38,796 solutions to practice programming exercises. We first evaluate the effectiveness of measuring workflow patterns to detect students at-risk of failure within the first three weeks of the semester. Our early predictor analysis accurately detects 81% of the students who struggle throughout the course. However, our early predictor also captures transient struggling, as 43% of the students who ultimately did well in the course were classified as at-risk. In order to better differentiate sustained versus transient struggling, we further propose a trajectory metric which measures changes in programming behaviour. The trajectory metric detects 70% of the students who exhibit sustained struggling, and mis-classifies only 11% of students who go on to succeed in the course. Overall, our results show how detecting changes in programming behaviour can help us differentiate between learning and struggling in CS1.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
通过检测编程行为的变化来自动分类需要支持的学生
教育研究已经证实,学习可以被定义为行为的持久改变,这种改变源于实践或其他形式的经验。在编程入门课程中,通常通过相对较小但频繁的作业和测试来接近熟练程度。由于必须从大量学生群体中收集微妙而复杂的指标,因此扩大这些评估以跟踪重大行为变化具有挑战性。基于四个学期的研究,我们分析了从514名学生和38,796个编程练习解决方案中收集的学习工具交互数据。我们首先评估测量工作流程模式的有效性,以检测在学期的前三周内有失败风险的学生。我们的早期预测分析准确地检测出81%的学生在整个课程中表现不佳。然而,我们的早期预测也捕捉到了短暂的挣扎,因为最终在课程中表现良好的学生中有43%被归类为有风险。为了更好地区分持续挣扎和短暂挣扎,我们进一步提出了一个衡量编程行为变化的轨迹度量。轨迹指标检测出了70%表现出持续努力的学生,只有11%的学生在课程中取得了成功。总的来说,我们的研究结果表明,如何检测编程行为的变化可以帮助我们区分CS1中的学习和挣扎。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Handling Very Large Lecture Courses: Keeping the Wheels on the Bus III (Abstract Only) CS1: Computation & Cognition -- An Evidence-Based Course to Broaden Participation (Abstract Only) Lessons Learned in the Design and Delivery of an Introductory Programming MOOC Micro Projects: Putting Light and Magic into Learning Computer Systems Concepts (Abstract Only) Building Evaluative Capacity for Out of School Organizations that Engage Girls in Computer Science (Abstract Only)
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1