Matthew Peveler, Jeramey Tyler, S. Breese, B. Cutler, Ana L. Milanova
{"title":"Submitty: An Open Source, Highly-Configurable Platform for Grading of Programming Assignments (Abstract Only)","authors":"Matthew Peveler, Jeramey Tyler, S. Breese, B. Cutler, Ana L. Milanova","doi":"10.1145/3017680.3022384","DOIUrl":null,"url":null,"abstract":"Submitty (http://submitty.org) is an open source programming assignment submission system from the Rensselaer Center for Open Source Software (RCOS) at Rensselaer Polytechnic Institute (RPI). Students can submit their code via a web interface in a variety of ways, where it is then tested with a highly configurable and customizable automated grader. Students receive immediate feedback from the grader, and can resubmit to correct errors as needed. Through an online interface, TAs can access detailed grading results and supplement the automated scores with manual grading (numeric and written feedback) of overall program structure, good use of comments, reasonable error checking, etc. and any non-programming components of the assignment. The instructor can also configure the system to allow for a configurable late day policy on a per assignment and per student basis. We currently use Submitty in eight different courses (spanning from introductory through advanced topics) serving over 1500 students and 35+ instructors and TAs each week. We will present a range of \"case study\" assignment configurations in a hands-on demo, going from simple through complex, using a variety of different automated grading methods including per-character and per-line output difference checkers, external unit testing frameworks (such as JUnit), memory debugging tools (Valgrind and DrMemory), code coverage (e.g., Emma), static analysis tools, and custom graders. Submitty can be customized per test case as appropriate to apply resource limits (running time, number of processes, output file size, etc.) and to display or hide from students the program output, autograding results, and testing logs.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","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.3022384","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
Abstract
Submitty (http://submitty.org) is an open source programming assignment submission system from the Rensselaer Center for Open Source Software (RCOS) at Rensselaer Polytechnic Institute (RPI). Students can submit their code via a web interface in a variety of ways, where it is then tested with a highly configurable and customizable automated grader. Students receive immediate feedback from the grader, and can resubmit to correct errors as needed. Through an online interface, TAs can access detailed grading results and supplement the automated scores with manual grading (numeric and written feedback) of overall program structure, good use of comments, reasonable error checking, etc. and any non-programming components of the assignment. The instructor can also configure the system to allow for a configurable late day policy on a per assignment and per student basis. We currently use Submitty in eight different courses (spanning from introductory through advanced topics) serving over 1500 students and 35+ instructors and TAs each week. We will present a range of "case study" assignment configurations in a hands-on demo, going from simple through complex, using a variety of different automated grading methods including per-character and per-line output difference checkers, external unit testing frameworks (such as JUnit), memory debugging tools (Valgrind and DrMemory), code coverage (e.g., Emma), static analysis tools, and custom graders. Submitty can be customized per test case as appropriate to apply resource limits (running time, number of processes, output file size, etc.) and to display or hide from students the program output, autograding results, and testing logs.
submission (http://submitty.org)是Rensselaer Polytechnic Institute (RPI)的Rensselaer开源软件中心(RCOS)的开源编程作业提交系统。学生可以通过web界面以多种方式提交他们的代码,然后使用高度可配置和可定制的自动评分器进行测试。学生可以立即收到评分员的反馈,并可以根据需要重新提交以纠正错误。通过在线界面,助教可以访问详细的评分结果,并在自动评分的基础上,对作业的整体程序结构、注释的良好使用、合理的错误检查等以及作业的任何非编程部分进行人工评分(数字和书面反馈)。教师还可以配置系统,允许在每个作业和每个学生的基础上设置可配置的迟到策略。我们目前在八个不同的课程(从入门到高级主题)中使用submit,每周为1500多名学生和35多名教师和助教提供服务。我们将在实践演示中呈现一系列“案例研究”分配配置,从简单到复杂,使用各种不同的自动分级方法,包括每个字符和每行输出差异检查器,外部单元测试框架(例如JUnit),内存调试工具(Valgrind和DrMemory),代码覆盖(例如Emma),静态分析工具和自定义分级器。提交可以对每个测试用例进行适当的定制,以应用资源限制(运行时间、进程数量、输出文件大小等),并向学生显示或隐藏程序输出、自动分级结果和测试日志。