ProgramaMe es el concurso español de programación para alumnos matriculados en Ciclos Formativos de Formación Profesional. No se establecen diferencias entre los diferentes ciclos existentes, por lo que se permite la participación de cualquier alumno que curse Formación Profesional en el territorio español.
Los alumnos participan en equipos formados por tres estudiantes. Durante el concurso, los participantes disponen de 4 horas para resolver entre 8 y 12 problemas, siendo 10 el número más habitual. Deben programar sus soluciones en C, C++ o Java.
Los problemas son siempre aplicaciones de consola. Las soluciones enviadas por los participantes son validadas por un juez automático que las ejecuta de manera autónoma contra un conjunto de casos de prueba establecidos de antemano. El juez, supervisado por jueces humanos, proporciona un veredicto sobre el problema, aceptándolo o marcándolo como incorrecto, pero en ningún caso ofrece información sobre cuál es el error. En caso de que el veredicto indique que la solución es incorrecta el equipo puede realizar envíos posteriores del mismo problema para intentar corregirla.
El ganador es el equipo que resuelve correctamente más problemas. En caso de empate, ganará el equipo que menos tiempo acumulado haya necesitado para sus envíos correctos. Para calcular el tiempo acumulado por cada equipo se suma el tiempo transcurrido desde el inicio del concurso hasta el instante de cada envío aceptado. Por cada envío que haya sido rechazado se añade una penalización extra de 20 minutos. Esta penalización sólo se acumulará en los problemas que hayan sido resueltos finalmente; en caso de problemas no aceptados no se acumulará la penalización al tiempo total del equipo.
Aunque los equipos están formados por tres estudiantes, sólo pueden hacer uso de un ordenador. Además de significar una mayor presión por el tiempo, esto obliga a los participantes a colaborar entre sí; el trabajo en equipo se convierte en algo muy importante para ganar. Además, se incentiva así la coordinación y el análisis previo de los problemas, siguiendo la máxima de John Johnson "First solve the problem; then, write the code" ("Primero resuelve el problema; luego escribe el código").
Durante el concurso, los ordenadores de los participantes no tienen conexión a Internet, aunque se les suele proporcionar una copia local de la documentación de C, C++ y Java. Por su parte, los alumnos no pueden tener contacto con el exterior ni utilizar ningún material, salvo un breve dossier, escrito por ellos mismos y que no puede superar las 10 páginas.
Como se describe en la historia, desde el curso 2011-2012 ProgramaMe es un concurso en dos niveles. A mediados de curso (normalmente durante el mes de Marzo) se realizan múltiples Concursos Regionales en diferentes sedes de España. En cada uno de ellos participan los alumnos de los centros educativos de las zonas de influencia de cada sede. Los mejores equipos de cada región se clasifican para el Concurso Nacional que tiene lugar en Junio.
Las condiciones particulares de cada Concurso Regional podrían variar ligeramente respecto a las descritas aquí, por lo que se recomienda revisarlas con cuidado. En particular, para aquellas zonas para las que, desgraciadamente, ha resultado imposible encontrar una sede donde organizar un concurso presencial, se organiza un concurso on-line con unas condiciones considerablemente distintas, al tener un desarrollo muy diferente. Los alumnos que participen en una convocatoria on-line del concurso deben tener en cuenta estas características especiales revisando su reglamento particular.
El concurso supone para los alumnos un reto, y un cambio en la forma de aprender programación, lo que incrementa su motivación. En lugar de verse forzados a realizar ejercicios sin un fin claro, entran en una dinámica de competición colaborativa, no sólo contra equipos de otros centros, sino contra el propio juez automático.
Además, en las Comunidades Autónomas en las que ProgramaMe tiene ya algo de recorrido, comienza a ser conocido en las empresas de la región. Los alumnos bien clasificados en los concursos regionales utilizan a veces este hecho como carta de presentación en sus currículums, y tiene impacto en la elección de los alumnos por parte de las empresas en la FCT.
Por último, la motivación que supone participar en ProgramaMe y quedar en un buen puesto hace que algunos equipos entrenen antes del concurso. La mayoría de los problemas de las ediciones anteriores de ProgramaMe están disponibles en el juez en línea ¡Acepta el reto!, donde se pueden leer los enunciados y enviar soluciones para que sean evaluadas por parte del juez.
ProgramaMe proporciona al profesor una excusa perfecta para enfrentar a sus alumnos a problemas de programación con un relativamente fuerte componente algorítmico, que de otro modo sería considerado tedioso y aburrido.
Como hemos dicho más arriba, antes del concurso, los equipos pueden entrenar para el concurso, utilizando ¡Acepta el reto!. Cuando el equipo está muy motivado, sale de ellos mismos el entrenar fuera del horario escolar. Sin embargo, también los profesores pueden aprovechar esa motivación y aprovechar el portal en horario lectivo con todos los alumnos, participen o no. En algunos centros, incluso, se hacen concursos locales para elegir a los equipos que asistirán al Concurso Regional, por lo que es posible integrarlo dentro de la metodología de clase.
Las sedes regionales pueden montar un concurso paralelo para profesores acompañantes, con los mismos problemas que se pone a los alumnos. Muchos profesores encuentran entretenido participar, pues les hace vivir la misma experiencia que están viviendo, en otro aula, sus propios alumnos. Aunque los conocimientos y destrezas de los profesores son, como es lógico, mayores que las de sus alumnos, están en realidad en inferioridad de condiciones al no trabajar en equipo; por tanto el número de problemas resueltos por los alumnos y por sus profesores no es comparable, lo que debería eliminar presión a estos últimos.
Tanto si el profesor participa en el concurso como si sigue la evolución de sus alumnos desde la sala de permanencia, puede obtener una información muy útil para después utilizarla en clase, creándose dinámicas muy interesantes de análisis de las soluciones propuestas y de participación de sus alumnos en el concurso.
La realización del dossier (también llamado cariñosamente chuletario) que el equipo llevará al concurso puede utilizarse también como una actividad de clase. Teniendo en cuenta los ejercicios realizados en la sesión de prueba, se puede animar al alumno a realizar su propio dossier con las estructuras de programación que piensen que pueden necesitar en el concurso. Una vez hecho este trabajo puede ponerse en común en la clase. Esta actividad fuerza al alumno estudiar las estructuras en detalle, distinguir entre las que pueden ser útiles y las que no, así como a discriminar las que ya conoce y no necesitará. El profesor puede evaluar el trabajo realizado y guiar a los alumnos en la realización de la tarea.
ProgramaMe, en su objetivo de hacer divertido el aprendizaje de la programación, tiene como compañero de viaje a nuestro blog Mucho por Programar donde planteamos periódicamente acertijos programables, es decir acertijos que pueden ser resueltos, tanto con lápiz y papel como a través de un programa escrito en cualquier lenguaje. Los acertijos demuestran a los alumnos que la habilidad de programar que están adquiriendo en el Ciclo puede resultar útil más allá de las prácticas y ejercicios que se les pide resolver en clase.
Por último, pero no menos importante, ProgramaMe se convierte en una actividad extraescolar, algo que no es habitual en los Ciclos Formativos, permitiendo estrechar los lazos entre profesor y alumnos.
La puesta en marcha de un Concurso Regional de ProgramaMe supone, en primer lugar, bastante trabajo para el Instituto (o Institutos) organizadores.
A cambio, el centro consigue mucha visibilidad hacia el exterior; dependiendo del esfuerzo dedicado, es posible aprovechar para invitar a medios de comunicación y autoridades locales, que ponen en boca de todos al IES organizador. La posibilidad de darse a conocer es clara, mejorando además la imagen del centro y sirviendo de publicidad para futuros alumnos.
La prueba más clara de que la organización de ProgramaMe es motivadora para un centro es que aquellos que deciden embarcarse en esta aventura repiten en ediciones posteriores