Toward a software development model for automatic marking software

In recent years, we have developed several automatic marking systems and used them for marking students' programs, Word files, Excel files, and e-mails in our courses. The automatic marking software provides an effective way to know students' learning states, and enables us to conduct many tests in a large class or an internet online class. Teachers can give students more appropriate instructions and advice referring to the information collected by the systems. If we can expand the use of automatic marking software for other subjects, more teachers and students would benefit. However, developing reliable and efficient marking systems using conventional methods is a difficult and time-consuming job. To help programmers develop automatic marking systems in a clearer, more systematic way, we need a software development model for automatic marking systems. Through development of our systems, we found common structures among several different systems. Generalizing the structures is a first step towards making the model. In this paper, we share our experience of developing automatic marking software and using them in our classes. We then formalize generalizations of the automatic marking systems.