Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Hacia una mejora en la corrección automática parcial de actividades/prácticas de los estudiantes

Citation

Abstract

The evaluation of student learning is usually done through activities and exercises where students apply their acquired knowledge in the resolution of problems close to real life, but delimited by the teacher. In these activities and exercises the teacher can evaluate conceptual knowledge and procedural knowledge. In the application area of this project, it is common that in the programming exercises and activities (practices) both types of knowledge are evaluated, since, on the one hand, the application of algorithms (procedural knowledge) and what programming elements and structures are being used (conceptual knowledge) are evaluated. The teacher has the complex task of evaluating this knowledge by making an individualized correction of each practice. While individualized correction of each practice is usually unbeatable in terms of the quality of the correction, on the other hand, automating the evaluation of procedural knowledge provides certain advantages. Routine parts can be evaluated automatically and thus save valuable time for the teacher's correction of other aspects. One of the advantages of automatic correction is that it is immediately available to the students and allows guiding them in essential aspects. In this teaching innovation project, a new online judge called UnitJudge has been developed. This new judge allows automatically evaluating programming practices in a consistent way even when these are long. In the ability to evaluate long practices, it outperforms other existing judges, such as DomJudge, which are more appropriate for short exercises since they are based on global inputs and outputs without allowing students to know which part of the code is failing. The newly developed judge allows to test the different parts based on unit tests. It is implemented for both C++ and Java practices. The new UnitJudge was used in several groups of the Programming Fundamentals subject. Taking into account the averages of 29 students' responses to the validated USE (Usefulness, Satisfaction and Ease of Use) scale, it was concluded that UnitJudge was easy to learn to use (mean of 5.99 out of 7), useful for the students (mean of 5.62 out of 7), and satisfactory for them (mean of 5.12 out of 7). The results of this teaching innovation project have been presented in two papers at the international conference "The 10th International and the 16th National Conference on e-Learning and e-Teaching" (ICELET 2023), respectively about (1) the presentation of UnitJudge and the experiment with the students of Fundamentals of Programming, and (2) intrusion detection from the viewpoint of cybersecurity in online judges exemplified with UnitJudge.
La evaluación del aprendizaje de los estudiantes se suele realizar mediante actividades y ejercicios donde los estudiantes aplican sus conocimientos adquiridos en la resolución de problemas cercanos a la vida real, pero acotados por el profesor. En estas actividades y ejercicios el profesor puede evaluar el conocimiento conceptual y el conocimiento procedimental. En el área de aplicación de este proyecto, es común, que en los ejercicios y actividades de programación (prácticas) se evalúen los dos tipos de conocimiento, pues, por un lado, se evalúa la aplicación de algoritmos (conocimiento procedimental) y qué elementos y estructuras de programación se están utilizando (conocimiento conceptual). El profesor tiene la compleja tarea de evaluar estos conocimientos haciendo una corrección individualizada de cada práctica. Si bien la corrección individualizada de cada práctica es habitualmente inmejorable en cuanto a la calidad de la corrección, por otra parte, automatizar la evaluación del conocimiento procedimental proporciona ciertas ventajas. Las partes rutinarias se pueden realizar automáticamente y así ahorrar ese valioso tiempo para la corrección de otros aspectos por parte del profesor. Una de las ventajas de la corrección automática es que está disponible de manera inmediata para los estudiantes y permite guiar al estudiante en aspectos esenciales. En este proyecto de innovación docente se ha desarrollado un nuevo juez en línea llamado UnitJudge. Este nuevo juez permite evaluar automáticamente prácticas de programación de forma coherente incluso aun cuando estas son largas. En la capacidad de evaluar prácticas largas supera a otros jueces existentes, tales como DomJudge, más apropiados para ejercicios cortos dado que se basan en entradas y salidas globales sin permitir detectar qué parte del código está fallando. El nuevo juez desarrollado permite probar las diferentes partes basándose en pruebas unitarias. Está implementado tanto para prácticas con C++ como para Java. El nuevo juez UnitJudge fue usado en varios grupos de la asignatura Fundamentos de Programación. Teniendo en cuenta las medias de las respuestas de 29 estudiantes a la escala validada USE (Usefulness, Satisfaction and Ease of Use), se concluyó que UnitJudge fue fácil de aprender a usar (media de 5.99 sobre 7), fue útil para los estudiantes (media de 5.62 sobre 7), y les resultó satisfactorio (media de 5.12 sobre 7). Los resultados de este proyecto de innovación docente han sido presentados en dos artículos en el congreso internacional “The 10th International and the 16th National Conference on e-Learning and e-Teaching” (ICELET 2023), respectivamente acerca de (1) la presentación de UnitJudge y del experimento con los estudiantes de Fundamentos de Programación, y (2) la detección de intrusiones desde el punto de vista de la ciberseguridad en jueces en línea ejemplificado con UnitJudge.

Research Projects

Organizational Units

Journal Issue

Description

Keywords