En las asignaturas de programación muchas veces nos encontramos con que los estudiantes tienen que realizar un programa y tienen que conseguir que el programa sea lo más óptimo posible. Por ejemplo, los alumnos tienen que realizar un programa que encuentre la solución en el menor tiempo posible o que, directamente, encuentre la mejor solución posible. Muchas veces esto no acaba viéndose reflejado en la evaluación (se evalúa sencillamente que el programa hace lo que debe). En este sentido lo que propongo es una mezcla entre la gamificación y un complemento a la evaluación.

En pocas palabras, lo que propongo es dedicar una sesión a hacer competir los programas de los alumnos entre ellos y posteriormente asignar un pequeño bonus en la calificación a aquellos programas que obtengan mejores resultados.

Un ejemplo práctico sería el siguiente: se pide a los alumnos que creen programas de ordenador que permitan competir en un juego de uno contra uno (por ejemplo, el ajedrez). Una vez todos los alumnos han entregado el trabajo, se les convoca para una sesión extraordinaria en la que se pone a competir los programas los alumnos los unos contra otros. Idealmente, cada enfrentamiento individual sería al mejor de 3. Si no hay muchos alumnos, se puede hacer que compitan todos con todos. En caso contrario, lo más adecuado sería idear un sistema de eliminatorias. Finalmente, al ganador (o a los mejores clasificados) se le podría dar un bonus en forma de puntuación extra.

Este enfoque podría tener además la ventaja de hacer que los alumnos colaboren entre ellos sin llegar a copiarse. Todos van a querer indagar qué ideas tienen los demás a cambio de las suyas propias, pero nadie va a proporcionar su código puesto que le generaría una gran desventaja.