domingo, 27 de noviembre de 2011

Crítica a los exámenes de programación en papel



En la universidad, una de las prácticas que más me llamó la atención es la realización de exámenes de programación en papel. Si hay una característica que hace de la programación algo muy dinámico es la posibilidad de no tener que implementar el algoritmo de arriba a abajo.

Sin embargo, el planteamiento que hay que realizar cuando se pretende implementar un algoritmo en un papel es diferente porque la escritura debe ser secuencial. La persona evaluada debe conocer perfectamente todas las líneas de código, variables o funciones que se emplearán antes de empezar a escribir el código, ya que una vez escritas las líneas no es posible insertar líneas en medio. Este planteamiento es diferente al modo de trabajo real ya que las variables y líneas se van añadiendo conforme se necesitan sin que haya un orden de escritura concreto. 

Inconvenientes del papel

Existe un pequeño truco que es dejar bastante espacio entre líneas por si acaso hubiese que escribir algo en medio, pero siempre se tendrá el riesgo de necesitar escribir más líneas que el hueco que hemos dejado.

Otro de los motivos de reivindicar la realización de los exámenes de programación en ordenador en lugar del papel, es que para programar no necesariamente el programador debe acordarse de declarar todas las variables, verificar cierres de bloques, asegurarse que los nombres estén bien, etc. El IDE ya realiza esas tareas automáticamente y te recuerda si tienes errores en el código porque has obviado alguna de esta información.

Finalmente, me pongo en el lugar del profesor cuando este tiene que revisar más de cien exámenes. En líneas generales supongo que comprobarán que la estructura de los bloques for, while o if se adecua al problema propuesto. Por ejemplo, si nos piden recorrer una matriz de 10×10, si el profesor no ve dos for anidados ya tiene pintas de estar mal, sin entrar a comprobar el detalle … ¡Mentira!
for (n=0;n < 100;n++){      matriz[n div 10][n mod 10]=0;}
El hacer algoritmos en papel me ha llevado algún problema que otro teniendo que llevar el profesor al ordenador para demostrarle que dim a(1 to 100) as integer era también un vector de enteros cuando este tan solo conocía dim a() as integer. Ojo. Esto no es un problema del profesor. Simplemente hay tantas formas de escribir algo, que no se puede tener un conocimiento completo de una materia cuando el profesor intenta estar a la última. 

Realizar los exámenes de programación en ordenador

Una propuesta interesante e innovadora sería permitir realizar los exámenes de programación aprovechando las ventajas que te da el propio ordenador. Por una parte, el alumno que esté acostumbrado a programar se sentirá más a gusto al estar en contacto con el entorno. Este entorno le verificará la sintaxis, le permitirá añadir cuantas líneas desee entre líneas, declarar y borrar las variables que desee, etc.

Pero la parte más interesante es que el propio alumno podría compilar el programa, e incluso tener unos test automáticos que te puedan decir la nota que vas a sacar incluso antes de acabar el examen. Esto haría que el alumno supiese si va a aprobar o jalar y dejar de lado el factor sorpresa por despistes. Además, ahorraría enormemente tiempo al profesor evitando tener que repasar cientos de exámenes. Tan solo, cuando el alumno vaya a salir, el profesor anotaría la nota que dan los test automáticos y listo.

Inconvenientes de los exámenes en ordenador

Sin embargo, los exámenes en ordenador también tienen algunas contras. Uno de los motivos de utilizar papel es precisamente porque las aulas de informática no permiten abarcar tantos alumnos a la vez. Esto provocaría tener que realizar turnos y exámenes diferentes para que todos los alumnos pudiesen examinarse.

También hay que vigilar que no se permita la comunicación entre ordenadores, ya que en tal caso, nos podríamos topar con exámenes copiados enviados por la Intranet o por Internet. Habría que desconectar los ordenadores al iniciar el examen y volverlos a conectar al finalizar.

Por último, un último inconveniente es la revisión de la estructura. Que una aplicación funcione no significa que sea correcta según la metodología de la programación. Imprimir 10 Hola mundos se puede hacer en 3 líneas o en 10. Seguro que la segunda forma, recibirá un suspenso aunque el programa cumpla su objetivo.

Por supuesto, utilizar ordenador o papel debe quedar a decisión del docente que es en gran medida quién debe saber que es lo mejor para su asignatura y de que medios dispone.

0 comentarios:

Publicar un comentario