Are automated assessment tools helpful in programming courses ?

Automated assessment tools (AATs) are growing in popularity in introductory programming courses, but researchers may have a difficult time synthesizing valid data to draw conclusions about the tools’ usefulness. Our first step addressing this issue was to break down our overriding question—are automated assessment tools helpful in programming courses?—into four more specific questions: (1) Have AATs proven to be helpful in improving student learning? (2) Do students think that AATs have improved their performance? (3) After having used the tools, do instructors think that the tools have improved their teaching experiences? and (4) Is the assessment performed by AATs accurate enough to be helpful? In discussing the many AATs that exist, many researchers have only reported results relevant to one or two of these specific questions. We address each of our four questions separately and draw on data from 24 different tools to arrive at our conclusions. We determine that the literature demonstrates AATs helpfulness in student learning, instructor support, and assessment accuracy. However, we found results about students’ opinions regarding the helpfulness of AATs to be inconclusive. Given our findings, we make suggestions both for instructors using these tools and to researchers creating them.

[1]  Daniel M. Zimmerman,et al.  Toward instant gradeification , 2011, 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T).

[2]  Frederick W. B. Li,et al.  BlueFix: Using Crowd-Sourced Feedback to Support Programming Students in Error Diagnosis and Repair , 2012, ICWL.

[3]  Kirsti Ala-Mutka,et al.  Journal of Information Technology Education Supporting Students in C++ Programming Courses with Automatic Program Style Assessment Supporting Students on C++ Programming Courses , 2022 .

[4]  Elizabeth S. Adams,et al.  Making program grading easier: but not totally automatic , 2004 .

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

[6]  Edward L. Jones Grading student programs - a software testing approach , 2001 .

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

[8]  Thomas Vikberg,et al.  Scaffolding students' learning using test my code , 2013, ITiCSE '13.

[9]  José Paulo Leal,et al.  Programming Exercises Evaluation Systems - An Interoperability Survey , 2012, CSEDU.

[10]  Andrew Lim,et al.  On automated grading of programming assignments in an academic institution , 2003, Comput. Educ..

[11]  Christopher Douce,et al.  A technical perspective on ASAP - Automated system for assessment of programming , 2005 .

[12]  J. Ángel Velázquez-Iturbide,et al.  Student perception and usage of an automated programming assessment tool , 2014, Comput. Hum. Behav..

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

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

[15]  Xiaohong Su,et al.  Ability-training-oriented automated assessment in introductory programming course , 2011, Comput. Educ..

[16]  Tommi Reinikainen,et al.  ALOHA - a grading tool for semi-automatic assessment of mass programming courses , 2006, Baltic Sea '06.

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

[18]  James B. Fenwick,et al.  ClockIt: collecting quantitative data on how beginning software developers really work , 2008, ITiCSE.

[19]  Mark Guzdial,et al.  Assessing fundamental introductory computing concept knowledge in a language independent manner , 2010 .

[20]  Petri Ihantola,et al.  Recording and analyzing in-browser programming sessions , 2013, Koli Calling '13.

[21]  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.

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

[23]  Tom Schorsch,et al.  CAP: an automated self-assessment tool to check Pascal programs for syntax, logic and style errors , 1995 .

[24]  Steve Benford,et al.  The Ceilidh system for the automatic grading of students on programming courses , 1995, ACM-SE 33.

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

[26]  Athanasios Tsintsifas,et al.  Automated assessment and experiences of teaching programming , 2005, JERC.

[27]  Sumit Gulwani,et al.  Automated feedback generation for introductory programming assignments , 2012, PLDI.

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

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

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

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

[32]  Anne Venables,et al.  Programming students need instant feedback! , 2003, ACE.

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

[34]  Viggo Kann,et al.  Five years with kattis — Using an automated assessment system in teaching , 2011, 2011 Frontiers in Education Conference (FIE).

[35]  Charlie Daly,et al.  RoboProf and an introductory computer programming course , 1999, ITiCSE '99.

[36]  James B. Fenwick,et al.  The Quiver system , 2004 .

[37]  David Hovemeyer,et al.  An open platform for managing short programming exercises , 2013, ICER '13.

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

[39]  Andrew Luxton-Reilly,et al.  Enhancing syntax error messages appears ineffectual , 2014, ITiCSE '14.

[40]  D. S. Morris Automatic grading of student's programming assignments: an interactive process and suite of programs , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

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

[42]  D. Arnow,et al.  WebToTeach: an interactive focused programming exercise system , 1999, FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011.

[43]  John Earnest,et al.  JUG: a JUnit generation, time complexity analysis and reporting tool to streamline grading , 2012, ITiCSE '12.

[44]  Petri Ihantola,et al.  Review of recent systems for automatic assessment of programming assignments , 2010, Koli Calling.

[45]  Scott A. Wallace,et al.  Investigating the use of an online assignment submission and assessment system in the CS classroom , 2013 .

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

[47]  Vreda Pieterse,et al.  Automated Assessment of Programming Assignments , 2013, CSERC.

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

[49]  D. Rösner,et al.  Towards generic and flexible web services for e-assessment , 2008, ITiCSE.

[50]  David Jackson A semi-automated approach to online assessment , 2000, ITiCSE '00.

[51]  Gail E. Kaiser,et al.  Retina: helping students and instructors based on observed programming activities , 2009, SIGCSE '09.

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

[53]  Miguel A. Redondo,et al.  Using fuzzy logic applied to software metrics and test cases to assess programming assignments and give advice , 2012, J. Netw. Comput. Appl..

[54]  Kenneth A. Reek,et al.  The TRY system -or- how to avoid testing student programs , 1989, SIGCSE '89.

[55]  Lauri Malmi,et al.  Fully automatic assessment of programming exercises , 2001 .

[56]  Michael W. Berry,et al.  Codeassessor: an interactive, web-based tool for introductory programming , 2012 .

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

[58]  Fred Martin,et al.  Impact of auto-grading on an introductory computing course , 2013 .

[59]  Paul Roe,et al.  A Web Based Environment for Learning to Program , 2003, ACSC.

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

[61]  John English Automated assessment of GUI programs using JEWL , 2004, ITiCSE '04.

[62]  Chung Keung Poon,et al.  Experiences with PASS: Developing and Using a Programming Assignment aSsessment System , 2006, 2006 Sixth International Conference on Quality Software (QSIC'06).

[63]  Lauri Malmi,et al.  Automatic recognition of students' sorting algorithm implementations in a data structures and algorithms course , 2012, Koli Calling.

[64]  Ellen Francine Barbosa,et al.  ProgTest: An environment for the submission and evaluation of programming assignments based on testing activities , 2011, 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T).

[65]  Stephen H. Edwards,et al.  Improving student performance by evaluating how well students test their own programs , 2003, JERC.

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

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

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

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

[70]  Amruth N. Kumar Generation of problems, answers, grade, and feedback---case study of a fully automated tutor , 2005, JERC.

[71]  Denise M. Woit,et al.  Effectiveness of online assessment , 2003, SIGCSE.

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