Litcius/Paper detail

Semiautomatic generation and assessment of Java exercises in engineering education

David Insa, Sergio Pérez, Josep Silva, Salvador Tamarit

2020Computer Applications in Engineering Education12 citationsDOIOpen Access PDF

Abstract

Abstract Continuous assessment is essential in education. It should be an integral part of education that provides immediate feedback to students. Unfortunately, the assessment of programming source code is still a hand‐operated and error‐prone task, and can take weeks before the student gets feedback. This study presents a semiautomatic code assessment method able to automatically apply black‐box assessment (which relies on the comparison of input‐output pairs) and white‐box assessment (which relies on checking different source code properties). The method proposed is a general‐purpose assessment system that was originally designated to be used in engineering education, but that can be used in other educational contexts to assist the assessment of any Java programming assignments or exams. The main advantage of this system is that the assessment made is quicker, exhaustive, and objective; and it does not produce false positives. After the application of this method over two years in several real university courses, we have released a public and free implementation. An empirical evaluation of this system estimates that the amount of assessment work automatically done by the tool is over 48%. Additionally, the system has been used to measure the average subjective influence (i.e., assessment errors) introduced by teachers when they assess exams manually.

Topics & Concepts

Computer scienceJavaTask (project management)Software engineeringCode (set theory)False positive paradoxSource codeMeasure (data warehouse)Machine learningProgramming languageArtificial intelligenceHuman–computer interactionData miningSystems engineeringSet (abstract data type)EngineeringTeaching and Learning ProgrammingSoftware Testing and Debugging TechniquesExperimental Learning in Engineering