Oto, a generic and extensible tool for marking programming assignments

Marking programming assignments in programming courses involves a lot of work: each program must be tested, the source code must be read and evaluated, etc. With the large classes encountered nowadays, the feedback provided to students through marking is thus rather limited, and often late. Tools providing support for marking programming assignments do exist, ranging from support for administrative aspects through automation of program testing or support for source code evaluation based on metrics. In this paper, we introduce a tool, called Oto, that provides support for submission and marking of assignments. Oto aims at reducing the workload associated with the marking task. Oto also aims at providing timely feedback to the students, including feedback before the final submission. Furthermore, the tool has been designed to be generic and extensible, so that the marking process for a specific assignment can easily be customized and the tool can be extended with various marking components (modules) that allows it to deal with various aspects of marking (testing, style, structure, etc.) and with programs written in various programming languages. Copyright © 2007 John Wiley & Sons, Ltd.

[1]  Kent Beck,et al.  Test-infected: programmers love writing tests , 2000 .

[2]  Michael Luck,et al.  Networked Submission and Assessment , 2000 .

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

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[6]  Greg J. Michaelson,et al.  Automatic assessment of elementary Standard ML programs using Ceilidh , 1997, J. Comput. Assist. Learn..

[7]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[8]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[9]  吴树峰 从学徒到大师之路--读《 The Pragmatic Programmer, From Journeyman to Master》 , 2007 .

[10]  Annemarie Hauf,et al.  Computers in education , 1983 .

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

[12]  K. Dawson-Howe Automatic submission and administration of programming assignments , 1996, SGCS.

[13]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

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

[15]  David Thomas,et al.  Programming Ruby: the pragmatic programmer's guide , 2000 .

[16]  Ronald J. Leach,et al.  Using metrics to evaluate student programs , 1995, SGCS.

[17]  Guy Tremblay,et al.  Introducing students to professional software construction: a "software construction and maintenance" course and its maintenance corpus , 2007, ITiCSE '07.

[18]  Bradley S. Green Software test automation , 2000, SOEN.

[19]  Michael Luck,et al.  A Secure On-line Submission System , 1999, Softw. Pract. Exp..

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

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

[22]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[23]  Guy Tremblay,et al.  Extending a marking tool with simple support for testing , 2007, ITiCSE '07.

[24]  Andrew Lim,et al.  Online Judge , 2001, Comput. Educ..

[25]  Sheung-Lun Hung,et al.  Automatic programming assessment , 1993 .

[26]  Elena García Barriocanal,et al.  An experience in integrating automated unit testing practices in an introductory programming course , 2002, SGCS.

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

[28]  Stephen Edwards,et al.  IDE Support for test-driven development and automated grading in both Java and C++ , 2005, eclipse '05.

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

[30]  Dave Thomas,et al.  Pragmatic Version Control Using CVS , 2003 .

[31]  Mordechai Ben-Menachem,et al.  Writing effective use cases , 2001, SOEN.

[32]  Gregory R. Andrews,et al.  Foundations of Multithreaded, Parallel, and Distributed Programming , 1999 .

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

[34]  Sigrid Eldh Software Testing Techniques , 2007 .

[35]  Robert E. Noonan,et al.  Unit testing frameworks , 2002, SIGCSE '02.