Cómo evaluamos los conceptos aprendidos en Mumuki

Es necesario modificar la forma en la que enseñamos y evaluamos lo aprendido, y Mumuki plantea una forma de hacerlo.

Laura Mangifesta
Mumuki
5 min readJul 23, 2018

--

En la programación, como en la vida, existen muchas formas distintas de solucionar un mismo problema. Todas ellas pueden ser igual de eficaces en su resultado. Sin embargo, no todas son igual de eficientes. Algunas soluciones son preferibles a otras: porque nos ahorran tiempo, porque son más baratas o porque reducen las posibilidades de generar problemas en el futuro. Podemos decir, entonces, que elegir una solución u otra no es lo mismo, es distinto.

Encontrar un método de evaluación que refleje si los estudiantes adquirieron el conocimiento y las habilidades necesarias para programar código en la vida real, es una preocupación generalizada entre docentes e investigadores del área.

El enfoque tradicional de lápiz y papel demostró no ser una metodología del todo eficaz para evaluar problemas de programación. Presenta un nivel de abstracción muy alto y aleja al estudiante del entorno real de programación, lo que lo vuelve un indicador pobre de las habilidades para escribir buen código.

Es necesario modificar la forma en la que enseñamos y evaluamos lo aprendido, y Mumuki plantea una forma de hacerlo.

“Tu solución funcionó, pero hay cosas que mejorar”

Todos los que aprendimos con Mumuki desarrollamos un cierto resentimiento hacia el color amarillo. Nos alegramos cuando sale verde, entendemos que hicimos las cosas mal cuando aparece el rojo. Pero el amarillo…

“Tu solución funcionó, pero hay cosas que mejorar”, reza una advertencia. ¿Cuándo sucede esto? Veamos un ejemplo:

El ejercicio Repitiendo Varios Comandos nos pide que, utilizando Gobstones, dibujemos en el tablero una línea de 6 bolitas negras hacia el este. ¡Fácil! Debemos poner una bolita negra y movernos al este, 6 veces. Pero, ¿qué pasa si probamos este código?

El tablero final obtenido es igual al tablero esperado y, sin embargo, nos sale el amarillo. Si bien la solución que escribimos resuelve el problema que se nos plantea, el código podría mejorarse.

En este caso, la misma corrección que nos hace la plataforma nos dice que debemos usar repeat para lograr un código que se vea algo así.

La utilización del repeat nos permite que el código sea más conciso ya que nos evita tener que escribir muchas veces una parte del código que se repite. En consecuencia, nos queda un código más “limpio” y fácil de entender.

Además de evaluar si la solución funciona, Mumuki motiva al estudiante a adoptar las buenas prácticas, a lograr que el código no sea solamente útil sino claro y entendible, y a evitar repeticiones innecesarias que pueden derivar en bugs.

Mumuki posee un sistema de evaluación de código único, que permite ir más allá de la mera resolución de un problema. Éste permite evaluar si los conceptos que fueron enseñados están siendo utilizados por los y las estudiantes.

Nuestra Mulang

La protagonista de este atributo es Mulang. No, no nos referimos a la joven china que se hizo pasar por hombre para luchar contra los hunos. Nuestra Mulang es argentina y fue desarrollada por los creadores de Mumuki. Es una herramienta para evaluar código de manera automática, sin ejecutar ningún programa y que no está limitada a ningún lenguaje en particular.

La mayoría de las herramientas para el análisis estático de código, similares a Mulang, están orientadas a encontrar patrones que son identificados como “malas prácticas”.

Mulang es capaz de detectar automáticamente malas prácticas comunes pero, además, va un paso más allá. Permite analizar la presencia de patrones que son importantes para un ejercicio en particular, aunque puedan no serlo para otros ejercicios.

Por ejemplo, si estamos enseñando procedimientos y queremos que nuestros estudiantes lo usen, podemos expresar lo siguiente:

La Solución Debe Usar Procedimientos

O incluso mejor:

El Programa Debe Usar El Procedimiento Poner Cantero

Usar procedimientos no es en sí misma una buena ni una mala práctica, es simplemente una característica de una solución, que puede ser deseada en algunos ejercicios y desaconsejada en otros.

Quienes deciden qué se debe priorizar en la evaluación son los docentes. Ellos (y ellas) son quienes fijan las expectativas que deben cumplir las soluciones enviadas por los estudiantes. Con Mulang cada docente elige qué evaluar en cada ejercicio. Pueden establecer qué característica debe estar presente en un código y también determinar cuáles son en ese ejercicio las prácticas que deberían evitarse.

Con Mulang los docentes adquieren una gran libertad de acción, definiendo qué conceptos y habilidades debe manejar cada estudiante en un determinado momento de su aprendizaje. La forma de establecer estas expectativas es muy sencilla. Una vez que el docente tiene acceso a la Bibliotheca, la aplicación dentro de Mumuki que permite crear y editar ejercicios, sólo tiene que seleccionar qué propiedades quiere inspeccionar en cada ejercicio. Mumuki ofrece una lista de más de 90 opciones para que el docente elija. Puede seleccionar que una solución debe usar herencia o que debe declarar una determinada variable. También puede seleccionar qué malas prácticas el alumno debe evitar, por ejemplo, usar ifs redundantes o retornar null.

En un ejercicio de Java, un docente puede pedirle a Mumuki que evalúe si la solución enviada por su estudiante declara una interfaz y si utiliza polimorfismo estático. En la Bibliotheca eso se visualiza de la siguiente manera:

De la mano de Mulang, Mumuki nos da la posibilidad de evaluar el desempeño de los estudiantes, teniendo en cuenta los conceptos enseñados, priorizando las expectativas del docente y fomentando las buenas prácticas.

Ahora bien, el objetivo de la evaluación no es simplemente que los docentes puedan comprobar el progreso de sus estudiantes, es también una herramienta para su aprendizaje. Uno de los atributos de Mumuki más valorados por los estudiantes es el feedback automático que los ayuda a corregir sus errores. Con Mulang, no solamente se evalúa, también se le da una devolución útil al estudiante, que le permite avanzar a su ritmo y aumenta la confianza en su capacidad de aprendizaje.

Quizás sus resultados no se comparen con la hazaña de la joven heroína china pero, si de encontrar un método de evaluación efectivo se trata, nuestra Mulang es ciertamente revolucionaria.

--

--