Está en la página 1de 11

http://revistas.udistrital.edu.co/ojs/index.

php/revcie/index

Artículo de investigación científica y tecnológica

Herramientas usadas para la evaluación formativa automatizada en cursos


de programación asistidos por computadora
Tools Used for Automated Formative Assessment in Computer-Assisted Programming
Courses

Ferramentas utilizadas para a geração de avaliação formativa automatizada em cursos


de programação assistida por computador

Ginna-Viviana Leytón-Yela 1
Víctor-Andrés Bucheli-Guerrero 2

Hugo-Armando Ordoñez-Erazo 3

Recibido: mayo de 2022 Aceptado: agosto de 2022

Para citar este artículo: Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A. (2022). Herramientas
usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora. Revista
Científica, 45(3), 358-368. https://doi.org/10.14483/23448350.19662

Resumen UNCode, Ask-Elle y Nbgrader. Adicionalmente, se


Este estudio presenta el despliegue de herramien- hacen menciones importantes sobre algunas de las
tas para verificación del funcionamiento de la rea- herramientas usadas para la comparación de progra-
limentación automatizada implementada en cursos mas y validación de diferencias.
de programación. Los entornos educativos ofrecen Palabras clave: aprendizaje de programación; curso
la experiencia de evaluación sumativa y formativa de programación; evaluación formativa; herramien-
de programas informáticos dirigida a estudiantes. tas de programación; realimentación automatizada.
En este tipo de herramientas, los estudiantes resuel-
ven una tarea de programación, la cual es validada Abstract
de manera automática para generar calificaciones This study presents the use of tools for verifying the
y realimentación. Con respecto a la evaluación su- operation of automated feedback as implemented
mativa, se genera una calificación numérica o por- in programming courses. Educational environments
centual sobre si es correcta o no la solución de una offer the experience of summative and formative
tarea. Para el caso de la evaluación formativa, se evaluation of computer programs, which is aimed
genera información sobre los errores o sugerencias at students. In this type of tool, students solve a pro-
a incorporar en los programas con el fin de mejo- gramming task, which is automatically validated in
rar el aprendizaje. Las herramientas utilizadas son order to generate grades and feedback. Regarding

1. Universidad del Valle (Cali, Colombia). Contacto: ginna.leyton@correounivalle.edu.co


2. Universidad del Valle (Cali, Colombia). Contacto: victor.bucheli@correounivalle.edu.co
3. Universidad del Cauca (Popayán, Colombia). Contacto: hugoordonez@unicauca.edu.co

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 358 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

summative evaluation, a numerical or percentage grade herramientas se han implementado como apo-
is generated on whether the solution of a task is correct. yo en las clases tradicionales de programación y
In the case of formative evaluation, information is gene- otras como apoyo y factor clave en el desarrollo
rated on errors or suggestions to be incorporated to the de cursos netamente virtuales. En la mayoría de
programs in order to improve learning. The employed los cursos, en los que se han implementado es-
tools are UNCode, Ask-Elle, and Nbgrader. In addition, tas herramientas el aforo se encuentra entre 60 y
some important remarks are made about some of the tools 90 estudiantes de cursos presenciales asistidos por
used for comparing programs and validating differences. computadora (Razeeth et al., 2019).
Keywords: automated feedback; formative assessment; Los estudiantes no solo necesitan la evaluación
learning programming; programming course; program- sumativa de las tareas de programación resueltas,
ming tools. necesitan saber si es posible mejorar la presen-
tación enviada o saber que errores se cometie-
Resumo ron en la entrega. A pesar, de que los esfuerzos
Atualmente, muitos estudos já estão disponíveis sobre o y experimentos realizados con estas herramientas
conhecimento teórico da população sobre as mudanças es eficaz para mejorar las habilidades en progra-
climáticas. Os resultados de alguns desses estudos mos- mación, se quedan cortos como herramientas de
tram a existência de uma séria confusão em relação a evaluación formativa debido a la limitada reali-
certos fenômenos e conceitos básicos de grande impor- mentación que ofrecen a los estudiantes, puesto
tância, apesar de o problema das mudanças climáticas que en su mayoría lo que se genera es la califica-
ter adquirido uma relevância crescente em diferentes ción a modo numérico o porcentual (Yong and Be-
meios de comunicação nos últimos anos e também es- doya, 2022; Asadullah, 2019). En este contexto, se
tar presente nos currículos escolares como parte funda- realiza un análisis comparativo de tres herramien-
mental da Educação para a Sustentabilidade. Algumas tas con realimentación automatizada utilizadas en
dessas confusões constituem verdadeiras ideias alterna- entornos educativos para el aprendizaje de la pro-
tivas. Este artigo analisa, em primeiro lugar, a incidência gramación. Las herramientas fueron desplegadas
e a força de cinco dessas ideias em alunos do Ensino Se- para determinar las características relevantes de
cundário Obrigatório (ESO) e em vários grupos de pro- estas, principalmente, características referentes a
fessores em formação. Em seguida, é feita uma proposta la evolución formativa.
didática para alcançar a mudança de uma dessas ideias, Para el análisis del tipo de realimentación que
que envolve vários conceitos e princípios da Física. genera la herramienta, se ha tomado como refe-
Palavras-chaves: aprendizagem de programação; ava- rencia el estudio (Keuning et al., 2018), donde se
liação formativa; curso de programação; feedback au- especifican cinco tipos de realimentación apli-
tomatizado; ferramentas de programação. cados en tareas de programación. Estas se han
agrupado de acuerdo con el conocimiento sobre
Introducción restricciones de las tareas (Knowledge About Task
Constraints, KTC), sobre los conceptos relaciona-
Existen muchas herramientas para el aprendiza- dos a las tareas (Knowledge About Concepts, KC),
je de la programación, que brindan entornos de los errores encontrados en estas (Knowledge About
aprendizaje dinámicos para apoyar a los estudian- Mistakes, KM) y sobre cómo proceder para solven-
tes, además de experiencia en los entornos de de- tar un error o mejorar una tarea (Knowledge About
sarrollo y ejecución de tareas de programación, How to Proceed, KH). Además, de determinar el
puesto que es una de las habilidades más deman- tipo de realimentación, se explora como se genera
dadas en la actualidad por los estudiantes de in- la misma, si es configurada por el docente o es so-
geniería (McBroom et  al., 2020). Muchas de las portada mediante técnicas computacionales.

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 359 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

Otros estudios relacionados que han desple- básico, transformación de programa, diagnostico
gado las herramientas de realimentación auto- basado en intención y las herramientas externas.
matizada buscan realizar comparativos sobre las Como resultado se genera el recuento del núme-
características y funcionamiento de estas. Como es ro de herramientas, el porcentaje de herramientas
el caso de la revisión sistemática de literatura (Keu- que emplean la tecnología y las subcategorías es-
ning et al., 2018), donde se realiza un comparativo pecificas por cada tecnología, de manera general y
de diferentes herramientas para aprender a progra- especifica. Adicionalmente, se encuentra que por
mar mediante la solución de tareas, con el análisis tecnología son nombradas las herramientas clasifi-
del contenido de la realimentación, la tecnología cadas y la razón del porque se encuentran dentro
usada y la adaptabilidad de la herramienta. de esa categoría.
Para el análisis del contenido de la realimen- Y finalmente, la adaptabilidad donde se permi-
tación, se realiza una categorización de los tipos te a los docentes crear ejercicios e influir en la rea-
de comentarios, según (Narciss, 2008) se descri- limentación generada en las herramientas, como
be una clasificación de componentes de realimen- son; las plantillas de solución, la soluciones mode-
tación relacionada con el contenido para entorno lo, los datos de prueba y error. Estas clasificaciones
de aprendizaje asistidos por computadora. Las eti- se han realizado según los diferentes tipos de in-
quetas definidas para clasificar las herramientas formación que los docentes pueden proporcionar
y usadas para categorizar el contenido de los co- para alimentar a la herramienta con modelos de
mentarios es implementada para clasificar las 101 error, reglas y restricciones para buscar las solu-
herramientas seleccionadas en la SLR. Se definen 5 ciones correctas (Keuning et al., 2016). Por ejem-
tipos de componentes de realimentación elabora- plo, herramientas, donde el docente especifica los
da, conocimiento sobre restricciones (Knowledge mensajes de pistas personalizados y controlar que
About Task Constraints, KTC), conocimiento sobre parte del código deben revelarse a los estudiantes
conceptos (Knowledge About Concepts, KC), co- por niveles.
nocimiento sobre errores (Knowledge About Mis- En la mayoría de los curso en línea, las clases
takes, KM), conocimiento sobre cómo proceder con gran número de estudiantes son frecuentes,
(Knowledge About How to Proceed, KH) y cono- la proporción de estudiantes por docente o tutor
cimiento sobre metacognición (Knowledge About no es la mejor, ocasionando que la aplicación
Meta-cognition, KMC). Por cada subcategoría se de modelos de tutoría sea imposible de imple-
clasifican las herramientas bajo estudio y se obtie- mentar, como por ejemplo, el modelo de Oxford
ne los porcentajes correspondientes a cada caso, (English and English, 2019) que reúne tanto a es-
analizando que cada una de las herramientas y tudiante como docente de manera semanal para
la forma en cómo se genera el contenido de la revisar las evaluaciones de tareas, identificando
realimentación. y corrigiendo conceptos errores de la temática
Las tecnologías usadas también fueron clasi- evaluada.
ficadas en dos grupos, sistemas de tutoría inteli- Por lo tanto, el tiempo disponible y proporción
gente (ITS) y técnicas específicas para el dominio de tareas que debe revisar un tutor es limitado, lo
de la programación (Keuning et  al., 2016; Keu- que significa que el número de tareas puede re-
ning et  al., 2018). Cada una con sus subcatego- ducirse a causa de esto, además de que las fechas
rías. En la primera; se definen las herramientas de entrega de todas las actividades tienen un pla-
de rastreo de modelos, basados en restricciones zo hasta finalizar el curso, lo que provoca que los
y tutorías basadas en análisis de datos. En la se- estudiantes no cuenten con mucha realimentación
gunda, se definen el análisis de código dinámico sobre su progreso en las tareas y curso en general
mediante pruebas automatizadas, análisis estático (Vittorini et al., 2021).

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 360 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

Una de las propuestas para entregar realimenta- una perspectiva específica que permitió identificar
ción oportuna a los estudiantes es a través de la au- que plataformas han implementaron realimenta-
tomatización de la evaluación sumativa y formativa ción automática. De las herramientas que se en-
en los cursos en línea, aunque no es factible para cuentran en la revisión de literatura, se citan 3 de
algunas temáticas realizar la evaluación, aunque las herramientas que se desplegaron con el fin de
si se han realizado trabajos preliminares al respec- verificar el funcionamiento de la evaluación suma-
to logrando avances, como por ejemplo Shermis tiva y/o formativa en sus entornos.
(2014) o Annamaa et al. (2017) realizaron investi-
gaciones sobre cómo generar realimentación auto- Herramientas
matizada en un curso de programación, mediante
rúbricas que verifican si un fragmento de código se UNCode
compila, si un fragmento de código produce las sa-
lidas esperadas en el tiempo definido, entre otros. Se han implementado diferentes herramientas y
Por otro lado, se han implementado herramien- complementos desarrolladas con el fin de generar
tas (Ramirez-Echeverry et al., 2018; Angelone and de manera automatizada tanto evaluación sumati-
Vittorini, 2020; Gerdes et al., 2017) que con ayuda va y formativa, como en el caso de la herramien-
de módulos que le permiten al docente la configu- ta UNCode que provee una evaluación sumativa
ración de casos de prueba, mediante los cuales es y formativa automatizada a los estudiantes (Rami-
posible definir las salidas esperadas en un proble- rez-Echeverry et al., 2018).
ma de programación, así como la configuración de En el caso de UNCode, es una plataforma en
comentarios a cada caso de prueba, para generar- línea para la práctica y evaluación automática de
se a modo de realimentación cuando un caso de tareas de programación de computadoras, utiliza-
prueba no tenga la salida requerida. da en la Universidad Nacional de Colombia, cam-
Existen otras herramientas que se enfatizan en pus Bogotá. Esta herramienta toma como base a
la generación de pistas para una tarea de progra- INGInious.
mación. Una forma de hacerlo es a través de un INGInious (Université catholique de Louvain,
módulo que le permita al estudiante solicitar una s.  f.), es un sistema de calificación automatizada
pista a cambio de una penalidad en la evaluación de código, que es usada como apoyo a entornos
sumativa de la tarea, como por ejemplo, si se uti- educativos. La herramienta recibe una tarea con
liza la escala Likert de 5 puntos, se reduciría la un conjunto de casos de prueba relacionados para
evaluación a 4 puntos, es decir, que por la pista validar la misma. Para cada tarea, es posible reali-
proporcionada se disminuye un punto para la eva- zar un número infinito de envíos, hasta que la eva-
luación (Jeuring et al., 2012; Gerdes et al., 2017; luación sea correcta.
Marin et al., 2017). La tarea es ejecutada, y un script configurado
Las herramientas anteriormente menciona- al momento de crear la tarea, es el que se encarga
das se han implementado con diferentes técnicas de verificar y probar los entregables, determinan-
computacionales, así como también existen he- do si la ejecución y la salida esperada es exitosa o
rramientas que han incorporado la inteligencia fracaso.
artificial (AI) para la evaluación automatizada en Por otro lado, el archivo de la tarea es ejecutado
cursos de programación (Srikant and Aggarwal, dentro de un contenedor, con el fin de encarcelar
2014; Beck et al., 2019; Akram et al., 2020; Do- completamente la ejecución del script, haciendo
minguez et al., 2010). verificaciones del envío, entregando otra evalua-
A partir de este análisis sobre las plataformas ción con cuatro estados posibles como éxito, blo-
utilizadas para cursos de programación, se obtiene queo, tiempo de espera o error.

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 361 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

Se han realizado varias implementaciones de permiten configurar la realimentación por cada


INGInious, entre ellas la realizada en M-IDEA tarea de programación. El primer complemento
(Universidad del Valle, s. f.; Hidalgo et al., 2021), revisado se denomina “Grader”, en el que normal-
que ha desplegado la herramienta para trabajarla mente se configuran los tiempos para cada caso de
desde un sitio web para varios curso de la Uni- prueba, el número máximo de líneas de código,
versidad del Valle. Se ha configurado todos los entre otros, campos que evita que el código llene
complementos por defecto con los que cuenta la la memoria del entorno del evaluador. En UNCo-
herramienta, adicionando complementos nuevos de se añade la sección de casos de prueba, que
para la evaluación sumativa de varios lenguajes de permite agregar peso a cada caso y generar una
programación en un curso, así como los módulos calificación final, además de añadir una realimen-
de estadísticas de todos los estudiantes, todos los tación personalizada por cada caso de prueba. Si
envíos realizados tanto correctos como incorrec- no se realiza correctamente la tarea y no pasa el
tos se incluyen en las estadísticas con sus respecti- respectivo caso de prueba configurado, puede de-
vos reportes de metadatos, además de contar con cirle al estudiante en que está fallando, esta confi-
soporte para LMS como Moodle o OpenEdX. Con guración la realiza el docente. Los casos de prueba
respecto a la realimentación automatizada no se fueron cargados con anterioridad en el módulo de
ha desarrollado un módulo específico, se ha traba- archivos de tarea. Este complemento se encuentra
jado manualmente por parte de docente mediante activo desde el despliegue de la herramienta (Uni-
la revisión de la evaluación sumativa que si se ge- versidad Nacional de Colombia, 2018/2022).
nera de manera automática. El segundo complemento corresponde a
En el caso de UNCode (Universidad Nacio- “Hints”, este no se encuentra activo. El comple-
nal de Colombia, 2018/2022) se ha desarrollado mento debe añadirse al archivo “configuration.
un conjunto de complementos para incluir otros yaml”, como plugin_module para añadir el nom-
lenguajes de programación y proporcionar reali- bre del plugin a activar. Este complemento se de-
mentación formativa a los estudiantes. En general, nomina “task_hints” y genera pistas sobre las
los estudiantes pueden recibir nueve estados posi- tareas. Los docentes crean sugerencias para la ta-
bles de evaluación, aceptado, respuesta incorrec- rea, que pueden ser desbloqueadas para ayudar al
ta, error de presentación, error de límite de salida, estudiante a resolverla. En la configuración de las
error de tiempo de ejecución, error de tiempo de sugerencias se puede incluir una penalización que
ejecución de calificación, límite de tiempo, límite se aplica a la calificación, si los estudiantes solici-
de memoria y error interno. tan las pistas.
Se han desarrollado un conjunto de comple- No se utiliza ningún tipo de técnica de inteli-
mentos que proporcionan realimentación para gencia artificial para la generación de realimenta-
aclarar a los estudiantes sobre los temas y de ción automatizada, en las herramientas revisadas
cómo se realizan las tareas, mediante comentarios hasta el momento, la realimentación se realiza
que permitan comprender que pasos debe seguir manual o la configura el docente desde su perfil
para facilitar la realización de esta. La herramien- para que se genere de forma automática.
ta cuenta con una clasificación de complementos
como herramientas de aprendizaje de los estudian- NBGrader - WebCAT
tes, herramientas de monitorio y/o seguimiento, y
herramientas de realimentación (Ramirez-Echeve- Es una herramienta que facilita la creación y califi-
rry et al., 2018). cación de tareas de programación en Jupyter note-
Dentro de nuestros intereses, en el momen- book, que permite configurar la calificación rápida
to del despliegue, se revisaron dos módulos que de tareas.

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 362 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

Posteriormente a la calificación automática o programas funcionales simples en lenguaje de pro-


manual de la tarea, se pueden crear comentarios gramación Haskell, generando comentarios sobre
para los estudiantes, estos pueden ser comenta- si están o no en el camino correcto, también es
rios tipo realimentación y comentarios de versión. posible solicitar pistas cuando lo requiera el es-
La generación de comentarios crea un archivo en tudiante. También es posible que los estudiantes
html que es creado por el docente y que al mo- compartan nuevas declaraciones y alternativas en
mento del intercambio con nbgrader se realiza el desarrollo de la tarea.
una copia de estos archivos (Jupyter Development La clasificación de las tareas se realiza en base
Team, s. f.). al esqueleto del programa u otra información que
Los comentarios configurados por el docente sugiere la estrategia de solución, pero se permiten
pueden presentarse en el administrador de tareas variaciones en la implementación con estrategias
para generar comentarios para todas las presenta- de solución alternativa. Con respecto a la reali-
ciones calificadas o también se puede configurar mentación generada en las tareas, son calculadas
para un estudiante individual. El docente es quien automáticamente a partir de las soluciones y pro-
configura la realimentación con información deta- piedades anotadas y especificadas por el docente
llada sobre los errores. para una tarea de programación (Universiteit Utre-
Nbgrader permite creación de tareas definien- cht & Open Universiteit, s. f.-b).
do celdas calificadas automática y manualmente Otra forma, de dar realimentación es a través de
en el cuaderno de Jupyter (Manzoor et al., 2020; la generación de pistas mediante la programación
Jupyter et al., 2019). Para realizar la configuración de una estrategia, en la que se plasma un procedi-
automática de la evaluación se debe proporcio- miento de cómo resolver un ejercicio con los pa-
nar el código de la solución y las pruebas unitarias sos básicos que debe seguir y combinar para llegar
para que las celdas califiquen automáticamente, a una solución.
no se generan automáticamente comentarios, por La arquitectura de Ask-Elle es basada en la web,
esta razón se ha buscado la manera de implemen- para configurar la aplicación son necesarias las de-
tar Nbgrader con otros sistemas de calificación pendencias de Haskell, compilador para Haske-
automática como Web-CAT que si cuenta con eva- ll y el paquete ideas desarrollado por los autores
luación formativa. (Universiteit Utrecht & Open Universiteit, s. f.-a).
Web-CAT (Edwards, 2014) cuenta con una API Para ello, utilizan un razonador de dominio, el
que admite los envíos de las tareas de programa- cuál comienza leyendo las soluciones del modelo
ción, pero para que sea posible su funcionamiento y la configuración establecida para un ejercicio,
se requiere de tres parámetros con información del posteriormente, la presentación entregada por el
envío; identificador del curso en Web-CAT, nom- estudiante se convierte en una estrategia de pro-
bre para la tarea y nombre de la institución edu- gramación para el seguimiento de modelos en el
cativa que imparte el curso. La API incorpora un que se incluyen las pruebas basadas en propieda-
botón en el frontend del cuaderno de Jupyter para des y los scripts que generan los comentarios por
el envío de la tarea. Posteriormente, Web-CAT en- cada tarea.
trega la respuesta con una dirección URL en la que Posteriormente, se complica el programa del
se pueden ver la evaluación sumativa y formativa. estudiante, con el fin de informar errores o adver-
tencias dirigidas a los estudiantes. Para establecer
Ask-Elle los comentarios a entregar al estudiante, se genera
un árbol de sintaxis abstracta (AST) que compa-
Ask-Elle (Jeuring et  al., 2012) es un tutor inteli- ra la solución con el programa modelo defini-
gente que apoya el desarrollo paso a paso de los do por el estudiante, verificando las propiedades

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 363 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

definidas por el docente, con el fin de buscar con- resultados correctos de una tarea, mediante una
traejemplos o comentarios asociados que permi- descripción o sugerencia de la solución correc-
tan al estudiante resolver sus inquietudes (Gerdes ta. Igualmente para determinar si las herramientas
et al., 2017). estudiadas cuentan con las métricas anteriormen-
te mencionadas, se citan las estrategias de reali-
Resultados mentación para tareas de programación (Keuning
et al., 2018).
Como resultado de las implementaciones se tie- La herramienta UNCode cuenta con una eva-
ne la comparación del despliegue y exploración luación formativa configurable por parte del do-
de las herramientas anteriormente descritas. Para cente en dos complementos correspondientes a
la comparación de características en la realimen- los casos de prueba y las pistas. Por cada tarea se
tación se usaron las métricas establecidas en el tra- definen los casos de prueba y pistas que quiera el
bajo (Keuning et al., 2018), para las características docente configurar, así mismo, en la configuración
de la herramienta se usaron las citadas en el tra- inicial de los casos de prueba se definen las entra-
bajo (Ramirez-Echeverry et al., 2018) y adicional das y salidas por tarea para posteriormente confi-
a estas, se tienen en cuenta las características de gurar la realimentación por cada uno. El tipo de
despliegue o puesta en marcha, establecidas en realimentación aplicado en los casos de prueba es
este trabajo. Se han comparado UNCode, Nbgra- de tipo de conocimiento sobre errores con pruebas
der con Web-CAT y Ask-Elle. La Tabla 1 presenta de falla y errores de compilación, puesto que para
esta comparación. verificar si la tarea es correcta, se evalúa la sintaxis
Para la realimentación formativa se tuvieron y la salida esperada.
en cuenta las métricas establecidas por (Narciss, Las pistas son opcionales y por lo tanto pueden
2008), que especifica tres métricas básicas con configurarse si se requieren con penalidad o sin
las que debe contar la realimentación: conoci- penalidad. Este tipo de realimentación puede con-
miento sobre el desempeño alcanzado para un figurarse de manera libre, puesto que puede ser
conjunto de tareas; conocimiento sobre el resul- acerca del conocimiento sobre conceptos, como
tado de una tarea, si pasa todas las pruebas, si las temáticas vistas en clases a través de ejemplos
es igual al programa modelo o cumple con to- o los pasos sobre cómo proceder para resolver o
das las restricciones y el conocimiento sobre los mejorar una tarea.

Tabla 1. Comparativo UNCode, Nbgrader (Web-CAT) y Ask-Elle.

Variables UNCode Nbgrader (Web-CAT) Ask-Elle


Pruebas de entrada y salida. X X X
Características de Configuración de realimentación. X X X
Realimentación Evaluación formativa de casos de prueba. X X X
Formativa Evaluación formativa mediante pistas. X X
Evaluación formativa mediante ejemplos. X X
Dependencias actualizadas. X X X
Características de Compatibilidad con diferentes S.O. X
Despliegue Fácil activación de complementos. X
Uso de contenedores. X X
Diferentes lenguajes de programación. X
Características de la
Herramientas basada en la Web. X X X
herramienta
Administración de usuarios, cursos y tareas. X X X

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 364 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

Con respecto al despliegue, UNCode puede aparece un visor de código con más detalles sobre
usarse como evaluador externo para sistemas de cómo Web-CAT calificó la tarea.
gestión de aprendizaje (LMS); funciona con las de- En cuanto al despliegue, la última versión de
pendencias actualizadas, aunque en lo que respec- Web-CAT para Jupyter notebook fue actualizada
ta al sistema operativo se recomienda usar Centos, hace tres años. En cuanto a la activación de com-
en nuestro caso fue implementado en Centos 6. plementos, no se encuentra una opción que per-
No es posible implementar en Windows, solo es mita incluir otros tipos de realimentación. Jupyter
posible en Linux (kernel 3.10+). El backend tiene notebook solo permite trabajar con leguaje de pro-
la responsabilidad de crear, administrar y eliminar gramación Python, y es posible trabajarlo tanto de
contenedores para aislar de manera segura la eje- manera local con acceso a internet o en un ser-
cución y calificación del código fuente. En cuanto vidor. Esta herramienta se incluye en Jupyter no-
a los complementos, se pueden añadir de forma tebook como complemento. En el caso de otras
simple con el llamado de un método correspon- plataformas, se puede incluir como una aplicación
diente al nombre dado al complemento, esto con LTI (Learning Tool Interoperability) externa.
el fin de extender las características existentes en Finalmente, Ask-Elle, permite generar realimen-
la herramienta. tación sobre la explicación de la tarea mediante in-
Entre las características principales de la herra- formación complementaria para procesar la tarea,
mienta, UNCode puede implementarse en un ser- asi como pistas que se entregan para continuar con
vidor para la administración de usuarios, cursos y el desarrollo de la tarea y las pistas con ejemplos
tareas, los usuarios pueden ser administradores de que permiten medir los efectos del aprendizaje y
la plataforma, docentes y estudiantes de los cur- eficacia en los estudiantes. La herramienta cuenta
sos. Los cursos se configuran con diferentes len- con facilidad para añadir tareas de programación
guajes de programación, incluso se ha expandido y programar la realimentación. Los comentarios y
a la evaluación automática para cursos de inteli- sugerencias proporcionados por Ask-Elle se genera
gencia artificial con Jupyter notebook y leguajes automáticamente a partir de las soluciones anota-
de descripción de hardware, usado para cursos de das y definidas por el docente.
electrónica digital. La implementación se realizó en Linux Debian
La herramienta Nbgrader con Web-CAT, permi- con la instalación de las dependencias e Haskell,
te brindar realimentación inmediata a los estudian- GHC y el paquete ideas. Ask-Elle es un entorno
tes con sugerencias de cómo resolver una tarea o de aprendizaje que puede usarse externamente a
que pasos se deben seguir para resolverla, además la aplicación web disponible en (Universiteit Utre-
de realimentación referente a los errores de com- cht & Open Universiteit, s.  f.-a). En Windows se
pilación que puedan presentarse. La tarea resuel- presentaron inconsistencias en la instalación de
ta en Jupyter es enviada a Web-CAT y tardará un dependencias, por la versión y tipo de Windows.
tiempo en ejecutarse para comprobar el código. Sólo se encuentra habilitado para el lenguaje de
Una vez hecho esto, devuelve un enlace que es programación Ask-Elle.
abierto en una ventana emergente de Jupyter. Esto Como se puede observar, los tipos de realimen-
muestra algunos detalles básicos de la tarea, como tación mayormente implementados en las herra-
el nombre de la tarea, el nombre del estudiante, la mientas son sobre el conocimiento de errores y el
fecha de envío y el puntaje total para la tarea. Lue- conocimiento de cómo proceder para resolverlos
go, la puntuación se desglosa un poco más en el en una tarea de programación.
cuadro Resumen de puntuación. Esto muestra en En la realimentación sobre conocimiento de
qué fase se perdieron los puntos. También habrá errores, los resultados sugieren que este tipo de
una lista de los archivos del envío. Al hacer clic, realimentación es positiva (Funabiki et al., 2016),

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 365 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

indicando que el sistema contribuye al aprendiza- Conclusiones


je de los estudiantes y evaluación del material aca-
démico que los métodos usados tradicionalmente. Se ha realizado un comparativo que permite iden-
Mientras que en otro estudio, Kim et al. (2016), tificar las variables evaluadas en cada herramien-
se revela que el 78% de las sugerencias son úti- ta desplegada, a través de la comprobación de los
les para localizar y comprender errores, es decir, complementos o módulos de realimentación au-
entender los problemas fácilmente; un estudio de tomatizada en tareas de programación, con el fin
usuario aplicado en el aula muestra que este tipo de determinar cuál es la herramienta que puede
de herramientas mejora sustancialmente la pro- tomarse como base en nuestro estudio. Además,
ductividad de los estudiantes. de la identificación de los tipos de realimentación
En la realimentación sobre cómo proceder, se abordados por cada una de las herramientas des-
presentan experiencias que se llevaron a cabo critas anteriormente.
para recopilar evidencia empírica sobre los efec- Entre los aportes más significativos se encuen-
tos beneficiosos de las pistas (Jeuring et al., 2012; tran la incorporación de las estrategias de reali-
Ardimento et al., 2020). Los resultados obtenidos mentación presentadas por Narciss, puesto que
muestran que el sistema de pistas apoya el proceso las mismas han sido implementadas y adaptadas
de aprendizaje, aumentando su eficacia y eviden- en otros estudios sobre realimentación en tareas
ciando mejores resultados, en lo que respecta a la de programación. Cabe resaltar que estas estrate-
corrección del código, puesto que los estudiantes gias permiten identificar y clasificar los tipos de
que utilizaron la herramienta obtuvieron califica- realimentación usados en las herramientas como
ciones más altas que las que utilizan la enseñanza apoyo a los procesos de aprendizaje, mediante la
tradicional. realimentación formativa como eje fundamental.
En la Figura 1 se puede observar cómo cada una Se observa que, en las herramientas desplega-
las herramientas estudiadas cuentan con un número das, los tipos de realimentación más usados son
de estrategias de realimentación implementadas, se las sugerencias relacionadas con errores, es de-
contempla que la herramienta UNCode es una de cir, la identificación de un error específico y la
las que más estrategias ha empleado en la genera- generación de comentarios que permitan guiar al
ción de realimentación en tareas de programación estudiante ante la corrección de una tarea de pro-
con sus módulos de creación de pistas y asignación gramación. Los tipos de realimentación que no se
de realimentación a cada caso de prueba. han implementado en las herramientas son sobre
problemas de rendimiento, comportamiento y pro-
blemas de estilo de un programa.
En este orden de ideas la herramienta que
cuenta o permite la configuración de varias es-
trategias de realimentación es UNCode, puesto
que cuenta con los módulos de realimentación
para cada caso de prueba y las pistas que pue-
de incluir comentarios sobre las restricciones y
temáticas que aborda la tarea, asi como los erro-
res de compilación y comentarios sobre cómo
proceder para resolver o mejorar una tarea de
programación. En trabajos futuros, se preten-
Fig. 1. Estrategias de realimentación empleadas en las de incluir un algoritmo de aprendizaje de má-
herramientas analizadas. quina para el entrenamiento y predicción de la

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 366 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

realimentación de acuerdo con la clasificación Information Technology, 16, 143-151. https://doi.


de los errores frecuentes cometidos en una tarea org/10.28945/4293
de programación. Funabiki, N., Mohri, T., Yamaguchi, S. (2016). Toward
personalized learning in JPLAS: Generating and sco-
Referencias ring functions for debugging questions. En IEEE 5th
Global Conference on Consumer Electronics (pp.
Akram, B., Azizolsoltani, H., Min, W., Wiebe, E., Na- 1-4). https://doi.org/10.1109/GCCE.2016.7800392
vied, A., Mott, B. W., Boyer, K., Lester, J. C. (2020). Gerdes, A., Heeren, B., Jeuring, J., van Binsbergen, L.
A Data-Driven Approach to Automatically Asses- T. (2017). Ask-Elle: An Adaptable Programming
sing Concept-Level CS Competencies Based on Tutor for Haskell Giving Automated Feedback. In-
Student Programs. En CSEDM@EDM ternational Journal of Artificial Intelligence in Edu-
Angelone, A. M., Vittorini, P. (2020). The Automated cation, 27(1), 65-100. https://doi.org/10.1007/
Grading of R Code Snippets: Preliminary Results s40593-015-0080-x
in a Course of Health Informatics. En 9th Interna- Hidalgo, C., G, V. A. B., Calle, F. R., Osorio, F. A. G.
tional Conference (pp. 19-27). Springer. https://doi. (2021). Estrategia de enseñanza basada en la co-
org/10.1007/978-3-030-23990-9_3 laboración y la evaluación automática de código
Annamaa, A., Suviste, R., Vene, V. (2017). Comparing fuente en un curso de programación CS1. Investiga-
different styles of automated feedback for pro- ción e Innovación en Ingenierías, 9(1), 50-60
gramming exercises. En Proceedings of the 17th Jeuring, J., Gerdes, A., Heeren, B. (2012). Ask-Elle: A
Koli Calling International Conference on Compu- Haskell Tutor. En 21st Century Learning for 21st
ting Education Research (pp. 183-184). https://doi. Century Skills (pp. 453-458). Springer. https://doi.
org/10.1145/3141880.3141909 org/10.1007/978-3-642-33263-0_42
Ardimento, P., Bernardi, M. L., Cimitile, M. (2020). Jupyter Development Team. (s.  f.). nbgrader—Nbgra-
Software Analytics to Support Students in Ob- der 0.7.1 documentation. https://nbgrader.readthe-
ject-Oriented Programming Tasks: An Empirical docs.io/en/stable/
Study. IEEE Access, 8, 132171-132187. https://doi. Jupyter, P., Blank, D., Bourgin, D., Brown, A., Bus-
org/10.1109/ACCESS.2020.3010172 sonnier, M., Frederic, J., Granger, B., Griffiths, T.,
Beck, P., Mohammadi-Aragh, M. J., Archibald, C. (2019). Hamrick, J., Kelley, K., Pacer, M., Page, L., Perez,
An Initial Exploration of Machine Learning Techni- F., Ragan-Kelley, B., Suchow, J., Willing, C. (2019).
ques to Classify Source Code Comments in Real-ti- nbgrader: A Tool for Creating and Grading Assig-
me. En ASEE Annual Conference & Exposition nments in the Jupyter Notebook. Journal of Open
Dominguez, A. K., Yacef, K., Curran, J. (2010). Data mi- Source Education, 2, e32. https://doi.org/10.21105/
ning to generate individualised feedback. En Pro- jose.00032
ceedings of the 10th international conference on Keuning, H., Jeuring, J., Heeren, B. (2016). Towards a
Intelligent Tutoring Systems (pp. 303-305). https:// Systematic Review of Automated Feedback Gene-
doi.org/10.1007/978-3-642-13437-1_52 ration for Programming Exercises. En Proceedings
Edwards, S. H. (2014). Work-in-progress: Program gra- of the 2016 ACM Conference on Innovation and Te-
ding and feedback generation with Web-CAT. En chnology in Computer Science Education (pp. 41-
Proceedings of the first ACM conference on Lear- 46). https://doi.org/10.1145/2899415.2899422
ning @ scale conference (pp. 215-216). https://doi. Keuning, H., Jeuring, J., Heeren, B. (2018). A Systematic
org/10.1145/2556325.2567888 Literature Review of Automated Feedback Genera-
English, J., English, T. (2019). Combining Summa- tion for Programming Exercises. ACM Transactions
tive and Formative Evaluation Using Automa- on Computing Education, 19(1), 1-43. https://doi.
ted Assessment. Issues in Informing Science and org/10.1145/3231711

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 367 ]
Herramientas usadas para la evaluación formativa automatizada en cursos de programación asistidos por computadora
Leytón-Yela, G. V., Bucheli-Guerrero, V. A. y Ordoñez-Erazo, H. A.

Kim, D., Kwon, Y., Liu, P., Kim, I. L., Perry, D. M., Zhang, org/paper/E-learning-at-home-vs-traditional-lear-
X., Rodriguez-Rivera, G. (2016). Apex: Automatic ning-among-a-Razeeth-Kariapper/546b671a-
programming assignment error explanation. En Pro- f8f0542edb932a7819b62e80a0c3010b
ceedings of the 2016 ACM SIGPLAN International Shermis, M. D. (2014). State-of-the-art automated es-
Conference on Object-Oriented Programming, Sys- say scoring: Competition, results, and future
tems, Languages, and Applications (pp. 311-327). directions from a United States demonstration. As-
https://doi.org/10.1145/2983990.2984031 sessing Writing, 20, 53-76. https://doi.org/10.1016/j.
Manzoor, H., Naik, A., Shaffer, C. A., North, C., Edwards, asw.2013.04.001
S. H. (2020). Auto-Grading Jupyter Notebooks. En Srikant, S., Aggarwal, V. (2014). A system to grade com-
Proceedings of the 51st ACM Technical Symposium puter programming skills using machine learning. En
on Computer Science Education (pp. 1139-1144). Proceedings of the 20th International Conference on
https://doi.org/10.1145/3328778.3366947 Knowledge Discovery and Data Mining (pp. 1887-
Marin, V. J., Pereira, T., Sridharan, S., Rivero, C. R. (2017). 1896). https://doi.org/10.1145/2623330.2623377
Automated Personalized Feedback in Introductory Universidad del Valle. (s.  f.). Course list - INGInious
Java Programming MOOCs. En IEEE 33rd Interna- M-iDEA. http://ingin.ddns.net/courselist
tional Conference on Data Engineering (pp. 1259- Universidad Nacional de Colombia. (2022). UNCode
1270). https://doi.org/10.1109/ICDE.2017.169 [Python]. UNCode. https://github.com/JuezUN/
McBroom, J., Yacef, K., Koprinska, I. (2020). Scalabi- INGInious
lity in Online Computer Programming Education: Université catholique de Louvain. (s.  f.). What is IN-
Automated Techniques for Feedback, Evaluation GInious? —INGInious 0.7 documentation. https://
and Equity. En Proceedings of the 13th Internatio- docs.inginious.org/en/v0.7/what_is_inginious.html
nal Conference on Educational Data Mining. ht- Universiteit Utrecht, Open Universiteit. (s.  f.-a). Ask-
tps://educationaldatamining.org/files/conferences/ Elle. https://ideas.science.uu.nl/AskElle/
EDM2020/papers/paper\_252.pdf Universiteit Utrecht, Open Universiteit. (s.  f.-b). Ideas
Narciss, S. (2008). Feedback Strategies for Interactive tutorial. https://ideas.science.uu.nl/tutorial/
Learning Tasks (pp. 125-144) Vittorini, P., Menini, S., Tonelli, S. (2021). An AI-Based
Ramirez-Echeverry, J. J., Restrepo-Calle, F., Gonzá- System for Formative and Summative Assessment in
lez, F. (2018). Uncode: Interactive System for Data Science Courses. International Journal of Arti-
Learning and Automatic Evaluation of Compu- ficial Intelligence in Education, 31(2), 159-185. ht-
ter Programming Skills. https://doi.org/10.21125/ tps://doi.org/10.1007/s40593-020-00230-2
edulearn.2018.1632 Yong Castillo, E., Bedoya Ortiz, D. H. (2022). De la edu-
Razeeth, M., Kariapper, R. K. A. R., Pirapuraj, P., Nafrees, A., cación tradicional a la educación mediada por TIC.
Rishan, U. M., Ali, S. (2019). E-learning at home vs tra- https://pdf4pro.com/amp/view/de-la-educaci-243-
ditional learning among higher education students: A n-tradicional-a-la-educaci-243-n-mediada-por-tic-
survey based analysis. https://www.semanticscholar. 733bf7.html

Revista Científica • ISSN 0124-2253 • e-ISSN 2344-8350 • septiembre-diciembre • Bogotá-Colombia • N. 45(3) • pp. 358-368
[ 368 ]

También podría gustarte