Automated Assessment in Computer Science Education: A State-of-the-Art Review

J. C. Paiva, J. P. Leal, Á. Figueira
{"title":"Automated Assessment in Computer Science Education: A State-of-the-Art Review","authors":"J. C. Paiva, J. P. Leal, Á. Figueira","doi":"10.1145/3513140","DOIUrl":null,"url":null,"abstract":"Practical programming competencies are critical to the success in computer science (CS) education and go-to-market of fresh graduates. Acquiring the required level of skills is a long journey of discovery, trial and error, and optimization seeking through a broad range of programming activities that learners must perform themselves. It is not reasonable to consider that teachers could evaluate all attempts that the average learner should develop multiplied by the number of students enrolled in a course, much less in a timely, deep, and fair fashion. Unsurprisingly, exploring the formal structure of programs to automate the assessment of certain features has long been a hot topic among CS education practitioners. Assessing a program is considerably more complex than asserting its functional correctness, as the proliferation of tools and techniques in the literature over the past decades indicates. Program efficiency, behavior, and readability, among many other features, assessed either statically or dynamically, are now also relevant for automatic evaluation. The outcome of an evaluation evolved from the primordial Boolean values to information about errors and tips on how to advance, possibly taking into account similar solutions. This work surveys the state of the art in the automated assessment of CS assignments, focusing on the supported types of exercises, security measures adopted, testing techniques used, type of feedback produced, and the information they offer the teacher to understand and optimize learning. A new era of automated assessment, capitalizing on static analysis techniques and containerization, has been identified. Furthermore, this review presents several other findings from the conducted review, discusses the current challenges of the field, and proposes some future research directions.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"88 10","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"64","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Computing Education (TOCE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3513140","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 64

Abstract

Practical programming competencies are critical to the success in computer science (CS) education and go-to-market of fresh graduates. Acquiring the required level of skills is a long journey of discovery, trial and error, and optimization seeking through a broad range of programming activities that learners must perform themselves. It is not reasonable to consider that teachers could evaluate all attempts that the average learner should develop multiplied by the number of students enrolled in a course, much less in a timely, deep, and fair fashion. Unsurprisingly, exploring the formal structure of programs to automate the assessment of certain features has long been a hot topic among CS education practitioners. Assessing a program is considerably more complex than asserting its functional correctness, as the proliferation of tools and techniques in the literature over the past decades indicates. Program efficiency, behavior, and readability, among many other features, assessed either statically or dynamically, are now also relevant for automatic evaluation. The outcome of an evaluation evolved from the primordial Boolean values to information about errors and tips on how to advance, possibly taking into account similar solutions. This work surveys the state of the art in the automated assessment of CS assignments, focusing on the supported types of exercises, security measures adopted, testing techniques used, type of feedback produced, and the information they offer the teacher to understand and optimize learning. A new era of automated assessment, capitalizing on static analysis techniques and containerization, has been identified. Furthermore, this review presents several other findings from the conducted review, discusses the current challenges of the field, and proposes some future research directions.
计算机科学教育中的自动评估:最新研究综述
实用的编程能力是计算机科学(CS)教育成功和应届毕业生进入市场的关键。获得所需的技能水平是一个漫长的发现、试验和错误的过程,通过学习者必须自己完成的广泛的编程活动来寻求优化。认为教师可以用一门课程的学生人数来衡量普通学习者应该做出的所有努力是不合理的,更不用说及时、深入和公平的方式了。毫不奇怪,探索程序的正式结构以自动评估某些特征一直是计算机科学教育从业者的热门话题。评估一个程序比断言其功能正确性要复杂得多,正如过去几十年来文献中工具和技术的激增所表明的那样。程序效率、行为和可读性,以及许多其他静态或动态评估的特性,现在也与自动评估相关。计算的结果从原始布尔值演变为有关错误的信息和关于如何前进的提示,可能会考虑到类似的解决方案。这项工作调查了计算机科学作业自动化评估的最新状况,重点关注支持的练习类型、采用的安全措施、使用的测试技术、产生的反馈类型,以及它们为教师理解和优化学习提供的信息。一个自动化评估的新时代,利用静态分析技术和容器化,已经被确定。此外,本文还介绍了其他一些研究结果,讨论了该领域当前面临的挑战,并提出了一些未来的研究方向。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信