Review of recent systems for automatic assessment of programming assignments

This paper presents a systematic literature review of the recent (2006--2010) development of automatic assessment tools for programming exercises. We discuss the major features that the tools support and the different approaches they are using both from the pedagogical and the technical point of view. Examples of these features are ways for the teacher to define tests, resubmission policies, security issues, and so forth. We have also identified a list of novel features, like assessing web software, that are likely to get more research attention in the future. As a conclusion, we state that too many new systems are developed, but also acknowledge the current reasons for the phenomenon. As one solution we encourage opening up the existing systems and joining efforts on developing those further. Selected systems from our survey are briefly described in Appendix A.

[1]  Eladio Gutiérrez,et al.  A new Moodle module supporting automatic verification of VHDL-based assignments , 2010, Comput. Educ..

[2]  Michael T. Helmick Interface-based programming assignments and automatic grading of java programs , 2007, ITiCSE.

[3]  Michael Kölling,et al.  Objects First with Java - A Practical Introduction Using BlueJ (5th Edition) , 2002 .

[4]  Ursula Fuller,et al.  How shall we assess this? , 2003, ACM SIGCSE Bull..

[5]  Erkki Sutinen,et al.  Visualizing programs with Jeliot 3 , 2004, AVI.

[6]  Xiaohong Su,et al.  Semantic similarity-based grading of student programs , 2007, Inf. Softw. Technol..

[7]  Olly Gotel,et al.  Adapting an open-source web-based assessment system for the automated assessment of programming problems , 2007 .

[8]  Atanas Radenski Digital CS1 study pack based on Moodle and Python , 2008, ITiCSE.

[9]  Judithe Sheard,et al.  Analysis of research into the teaching and learning of programming , 2009, ICER '09.

[10]  Bernd Freisleben,et al.  ANIMAL: A System for Supporting Multiple Roles in Algorithm Animation , 2002, J. Vis. Lang. Comput..

[11]  R. Tous,et al.  Work in progress-improving feedback using an automatic assessment tool , 2008, 2008 38th Annual Frontiers in Education Conference.

[12]  Jun Xu,et al.  The Recent Development of Automated Programming Assessment , 2009, 2009 International Conference on Computational Intelligence and Software Engineering.

[13]  Dietmar F. Rösner,et al.  EduComponents: experiences in e-assessment in computer science education , 2006, ITICSE '06.

[14]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[15]  Pete Nordquist Providing Accurate And Timely Feedback By Automatically Grading Student Programming Labs , 2007, FECS.

[16]  Xiang Fu,et al.  The automated web application testing (AWAT) system , 2008, ACM-SE 46.

[17]  Hussein Suleman Automatic marking with Sakai , 2008, SAICSIT '08.

[18]  Bruce Merry Using a Linux Security Module for Contest Security , 2009 .

[19]  Gaoyan Zhang,et al.  Automatic Grading System on SQL Programming , 2009, 2009 International Conference on Scalable Computing and Communications; Eighth International Conference on Embedded Computing.

[20]  Olly Gotel,et al.  Teaching software quality assurance by encouraging student contributions to an open source web-based system for the assessment of programming assignments , 2008, ITiCSE.

[21]  Ryan Shaun Joazeiro de Baker,et al.  Affective and behavioral predictors of novice programmer achievement , 2009, ITiCSE.

[22]  Martin MAREŠ Perspectives on Grading Systems , 2007 .

[23]  Stephen H. Edwards,et al.  Supporting student-written tests of gui programs , 2008, SIGCSE '08.

[24]  D. T. Lee,et al.  Design and applications of an algorithm benchmark system in a computational problem solving environment , 2006, ITICSE '06.

[25]  Lauri Malmi,et al.  Enhancing learning management systems to better support computer science education , 2008, ACM SIGCSE Bull..

[26]  Stephen H. Edwards,et al.  Web-CAT: automatically grading programming assignments , 2008, ITiCSE.

[27]  Charmain Cilliers,et al.  Proceedings of the 2008 annual research conference of the South African Institute of Computer Scientists and Information Technologists on IT research in developing countries: riding the wave of technology , 2008 .

[28]  Gwo-Jen Hwang,et al.  A web-based programming learning environment to support cognitive development , 2008, Interact. Comput..

[29]  Murali Sitaraman,et al.  Engaging students in specification and reasoning: "hands-on" experimentation and evaluation , 2009, ITiCSE '09.

[30]  A. Solomon,et al.  Automated Testing of Unix Command-line and Scripting Skills , 2006, 2006 7th International Conference on Information Technology Based Higher Education and Training.

[31]  T Tom Verhoeff Programming Task Packages: Peach Exchange Format , 2008 .

[32]  Pedro Ribeiro,et al.  Increasing the Appeal of Programming Contests with Tasks Involving Graphical User Interfaces and Computer Graphics , 2007 .

[33]  John T. Stasko Tango: A Framework and System for Algorithm Animation , 1990, Computer.

[34]  Matti Järvisalo,et al.  Teaching Smullyan's Analytic Tableaux in a Scalable Learning Environment , 2004 .

[35]  Lingling Mu,et al.  An Assessment Tool for Assembly Language Programming , 2008, 2008 International Conference on Computer Science and Software Engineering.

[36]  Joseph A. Sant,et al.  "Mailing it in": email-centric automated assessment , 2009, ITiCSE '09.

[37]  Olly Gotel,et al.  Extending and contributing to an open source web-based system for the assessment of programming problems , 2007, PPPJ.

[38]  Lauri Malmi,et al.  Constructing a core literature for computing education research , 2005, SGCS.

[39]  Peter Brusilovsky,et al.  Individualized exercises for self-assessment of programming knowledge: An evaluation of QuizPACK , 2005, JERC.

[40]  Harald Søndergaard,et al.  Learning from and with peers: the different roles of student peer reviewing , 2009, ITiCSE.

[41]  David Jackson,et al.  Grading student programs using ASSYST , 1997, SIGCSE '97.

[42]  Guido Rößling,et al.  WebTasks: online programming exercises made easy , 2008, ITiCSE.

[43]  Xiang Fu,et al.  APOGEE: automated project grading and instant feedback system for web based computing , 2008, SIGCSE '08.

[44]  Michal Forǐsek,et al.  Security of Programming Contest Systems , 2007 .

[45]  Tarek Hegazy,et al.  The CourseMarker CBA System: Improvements over Ceilidh , 2004, Education and Information Technologies.

[46]  David W. Valentine CS educational research: a meta-analysis of SIGCSE technical symposium proceedings , 2004 .

[47]  Katerina Georgouli,et al.  Combating anonymousness in populous CS1 and CS2 courses , 2006, ITICSE '06.

[48]  Michal Forisek,et al.  On the Suitability of Programming Tasks for Automated Evaluation , 2006, Informatics Educ..

[49]  George Wright,et al.  The Delphi technique as a forecasting tool: issues and analysis , 1999 .

[50]  Stephen H. Edwards,et al.  Experiences using test-driven development with an automated grader , 2007 .

[51]  Colin Higgins,et al.  An introspective approach to marking graphical user interfaces , 2006, ITICSE '06.

[52]  Richard E. Pattis,et al.  Karel the Robot: A Gentle Introduction to the Art of Programming , 1994 .

[53]  Jacques Philippe Sauvé,et al.  Teaching software development with ATDD and easyaccept , 2008, SIGCSE '08.

[54]  Christopher Douce,et al.  Automatic test-based assessment of programming: A review , 2005, JERC.

[55]  Ginés García-Mateos,et al.  A course on algorithms and data structures using on-line judging , 2009, ITiCSE.

[56]  Tony Greening Computer Science Educational Futures: The Nature of 2020 “Foresight” , 2000 .

[57]  Alfred C. Weaver,et al.  Electronic commerce virtual laboratory , 2010, SIGCSE.

[58]  Nathan Griffiths,et al.  The boss online submission and assessment system , 2005, JERC.

[59]  Martin MAREŠ Moe – Design of a Modular Grading System , 2009 .

[60]  Christopher D. Hundhausen,et al.  An experimental study of the impact of visual semantic feedback on novice programming , 2007, J. Vis. Lang. Comput..

[61]  Petri Ihantola Creating and Visualizing Test Data from Programming Exercises , 2007, Informatics Educ..

[62]  Stijn Dekeyser,et al.  Do students SQLify? improving learning outcomes with peer review and enhanced computer assisted assessment of querying skills , 2006, Baltic Sea '06.

[63]  Fred Gutierrez Stingray: a hands-on approach to learning information security , 2006, SIGITE '06.

[64]  Rainer Oechsle,et al.  Checking automatically the output of concurrent threads , 2007, ITiCSE '07.

[65]  Lauri Malmi,et al.  Experiences on automatically assessed algorithm simulation exercises with different resubmission policies , 2005, JERC.

[66]  Peter Forbrig,et al.  Towards generic and flexible web services for e-assessment , 2008, ITiCSE.

[67]  Jéan H. Greyling,et al.  Marking student programs using graph similarity , 2010, Comput. Educ..

[68]  Guido Rößling,et al.  A Visualization-Based Computer Science Hypertextbook Prototype , 2009, TOCE.

[69]  Kirsti Ala-Mutka,et al.  A Survey of Automated Assessment Approaches for Programming Assignments , 2005, Comput. Sci. Educ..

[70]  Randy Pausch,et al.  Alice: a 3-D tool for introductory programming concepts , 2000 .

[71]  Walfredo Cirne,et al.  EasyAccept: a tool to easily create, run and drive development with automated acceptance tests , 2006, AST '06.

[72]  Neil Smith,et al.  Computer assisted assessment of diagrams , 2007, ITiCSE '07.

[73]  Mika Mäntylä,et al.  Drivers for software refactoring decisions , 2006, ISESE '06.

[74]  Lauri Malmi,et al.  TRAKLA2: a Framework for Automatically Assessed Visual Algorithm Simulation Exercises , 2003 .

[75]  J. Paul Gibson,et al.  RoboCode & problem-based learning: a non-prescriptive approach to teaching programming , 2006, ITICSE '06.

[76]  Janne Lindqvist,et al.  VERKKOKE: learning routing and network programming online , 2007, ITiCSE '07.

[77]  John B. Biggs,et al.  Teaching for Quality Learning at University: What the Student Does , 1999 .

[78]  David Hovemeyer,et al.  Experiences with marmoset: designing and using an advanced submission and testing system for programming courses , 2006, ITICSE '06.