Concurso Nacional

Organizado desde la Facultad de Informática de la UCM

28 de abril de 2021

Información para los equipos

Debido a la situación sanitaria, la final de ProgramaMe 2021 será, por primera vez, con el modelo de "concurso presencial multisitio". Esto cambia considerablemente el reglamento con respecto al de las finales de ediciones anteriores. Los aspectos más importantes se resumen a continuación:

  • Los equipos participan desde sus centros educativos, siguiendo las directrices del responsable de la participación del centro, que actúa como "organizador local".
  • Los participantes utilizarán sus propios ordenadores y dispositivos electrónicos, o aquellos que estipule la organización del centro. Cada miembro del equipo podrá utilizar un ordenador simultáneamente.
  • Los participantes no se pueden comunicar con nadie externo al propio equipo (de manera física o virtual), ni compartir información de los problemas o sus soluciones antes de que termine el concurso.
  • Los participantes pueden utilizar Internet para buscar información sobre algoritmos, porciones de código, etcétera, siempre que no se comuniquen con nadie o proporcionen detalles sobre los problemas. Pueden reutilizar código de fuentes en línea (por ejemplo algoritmos clásicos). Sin embargo, el código que se reutilice debe ser identificado en el código con un comentario que indique con claridad la URL fuente de donde se obtuvo el código. La fuente debe estar accesible públicamente y haber sido publicada online antes del inicio del concurso.
  • La comunicación con otros, compartir información sobre los problemas o reutilizar código disponible en Internet sin el reconocimiento de la autoría del código ocasionará la descalificación automática.
  • Cada equipo puede utilizar un dossier (o "notebook") con los límites de tamaño indicados en el reglamento. Deberá ser enviado en PDF a la organización central no después del 18 de abril. Cuando el código fuente de una solución haga uso de código del dossier, deberá ser también indicado en un comentario en el código fuente.

A continuación se contestan algunas preguntas frecuentes.

Comunicación durante el concurso

No, esto está estrictamente prohibido. Los equipos no pueden comunicarse con su profesor/entrenador (ni con nadie externo al propio equipo) por ninguna vía.

No, tampoco. Solo puede haber comunicación entre los miembros de cada equipo, entendiendo por equipo a las tres personas participantes, sin incluir al potencial suplente.

Deberías centrarte en el concurso y no comunicarte con gente externa a tu propio equipo. En la práctica, puedes hablar brevemente con otra gente que no esté involucrada en el concurso si es necesario. Pero si lo haces, no debes decir nada sobre el concurso, lo que incluye no comentar el número de problemas, tu progreso en el concurso, o cualquier otra información sensible.

Lo recomendable es que el centro cree un contexto en el que los participantes lo hagan sin interrupciones externas, imitando los concursos presenciales en los que la comunicación con el exterior está completamente prohibida.

No, hacerlo se considera comunicación con el exterior.

No, hacerlo se consideraría comunicación con el exterior, aunque sea unidireccional. Se debe evitar todo tipo de fuga de información sobre el concurso o los problemas.

Naturalmente, animamos a utilizar redes sociales para difundir el concurso antes de que comience.

No, está terminantemente prohibido compartir o publicar los problemas durante el concurso.

Preferiríamos que no lo hicieras. El acto final es mucho más emocionante y divertido si se mantiene el suspense del marcador hasta el final.

No. Aunque en ProgramaMe nos gusta la idea del concurso paralelo para profesores la situación especial de esta edición impone que los problemas no estén disponibles para nadie que no esté participando. No está permitido enseñar los enunciados a nadie, en particular a los profesores del centro.

Naturalmente, tras la finalización del concurso los problemas serán hechos públicos en la página web.

La distancia interpersonal entre los miembros de cada equipo puede hacer que tengan que hablar con un volumen de voz más alto de lo normal, lo que aumenta las opciones de que los contrincantes oigan las conversaciones.

Para evitarlo, es posible hacer uso de herramientas de comunicación online como Jitsi, Google Meet, Microsoft Teams, Skype o Discord. Pero esa comunicación se debe limitar a los miembros del equipo y no incorporar a nadie ajeno a él. Los responsables de la organización del centro velarán para que esto sea así.

Se debe tener en cuenta, no obstante, que esas herramientas consumen ancho de banda que podría afectar a la disponibilidad de conexión al juez tanto para el equipo que las use, como para el resto. Por tanto permitir o no su uso es, en última instancia, decisión de los organizadores locales. Una opción sería la instalación en la red interna de una instancia privada de Jitsi.

No. Usar un repositorio de GitHub o equivalente público significaría compartir en abierto datos del concurso, algo que no está permitido. Por su parte, usar un repositorio privado supondría hacer uso de internet "no público" al estar protegido por contraseña, y no habría forma de saber si en ese repositorio participan más personas aparte del equipo, o había contenido previo más allá del dossier.

Si queréis intercambiar información podéis utilizar algunas de las plataformas de comunicación mencionadas en la pregunta anterior, que también disponen de chats o incluso transferencia de archivos. De nuevo, los responsables de la organización de cada centro deberán confirmar que en esos canales de comunicación privados solo participan los integrantes del equipo.

Uso de código externo

Sí. Pero si utilizas código fuente extraído de esas fuentes, debes indicar la URL en el código de la solución que envíes.

Si el código está disponible online, sí, pero tendrás que indicar la fuente en un comentario en el código. Naturalmente, si lo que copias es simplemente el nombre de una función o una porción minúscula de código, entonces no es necesario. Pero si utilizas código de algún ejemplo o similar, entonces sí.

Si tienes dudas de si lo que estás reutilizando es suficientemente largo como para tener que indicarlo, entonces indícalo.

Sí, siempre que indiques en la solución que envíes la URL de la fuente. No está permitido utilizar código de fuentes que no sean públicas, como tus propios repositorios privados.

Una página o recurso online se considera accesible públicamente si cualquier persona puede tener acceso a ella, sin contraseña, cuenta o cualquier otro tipo de restricción, y si está indexada por los buscadores.

Debe estar además disponible antes de que empiece el concurso y debería existir la certeza de que lo continuará estando una vez que termine, para que los jueces puedan verificarlo. En particular, esto incluye fuentes habituales como Stack Overflow, Wikipedia, etcétera.

En general, el objetivo es que todos los participantes lo hagan en igualdad de condiciones. Los recursos accesibles para unos deberían estarlo para todos aunque cada equipo participe en un lugar distinto. El único punto de documentación diferente entre cada participante podrá ser el dossier.

No, salvo que esté incluído en el dossier que hayas entregado para vuestra participación en el concurso.

En general, el código incluído en las soluciones enviadas deberá:

  • Ser "producción propia" creada específicamente durante el concurso por el equipo.
  • Estar copiado del dossier
  • Estar copiado de una fuente pública en Internet

Si el código proviene de las dos últimas fuentes, debe indicarse explícitamente con comentarios en el código, por seguridad. Si durante el concurso dos equipos envían un código sospechosamente parecido y no se especifica la fuente, los jueces asumirán que los equipos se han comunicado entre ellos y serán descalificados inmediatamente. Por tanto dado que copiar de fuentes públicas está permitido, simplemente ¡indícalo!

Dossier del equipo

Sí, pero ambos deberán enviarlo como propio a la organización central antes de la fecha límite.

No. El dossier debe estar en formato PDF y cumplir las limitaciones de tamaño y formato indicados en el reglamento.

Sí; en ese caso no hay restricciones de longitud o formato. Pero el fichero debe estar disponible públicamente siguiendo las directrices anteriores. Deberá estar enlazado en la web e indexado por los buscadores. No está permitido hospedar el documento en una URL privada, o en sistemas de compartición de ficheros con enlaces privados.

Básicamente, si el resto de equipos pueden, por los mecanismos habituales de búsqueda en Internet, encontrar el documento, entonces sí se permite. De otro modo, no.

Si se elige esta opción, entonces el documento pasa a ser considerado una fuente pública en Internet (y no el dossier) y en las soluciones enviadas se deberá indicar la URL.

Si está disponible públicamente en Internet, sí. En ese caso, se debe indicar la URL en un comentario en el código fuente. Si el dossier no es público, entonces no está permitido.

Cuestiones varias

No. El concurso se realiza en modalidad presencial multisitio, lo que significa que los equipos deben estar físicamente juntos en una "subsede oficial" del concurso. Los centros educativos que inscriben equipos se convierten automáticamente en subsedes, que forman parte de la organización global y son los únicos lugares aceptados desde donde participar.

En cada centro participante hay una persona responsable de la participación, que actúa como organizador local y vela por el cumplimiento de las normas.

Sí, pero en ese caso no debe haber comunicación de ningún tipo entre los equipos. El responsable de la participación del centro deberá asegurarse de que se mantienen las distancias suficientes para evitar la transferencia de información, incluso aunque sea inadvertida.

Si el centro desde el que participas lo permite, sí. Si imprimes los enunciados de los problemas, deben mantenerse ocultos para que nadie (ni siquiera los profesores) tengan acceso a ellos. Si imprimes código fuente y hay más equipos participando en el mismo sitio, se debe evitar que los demás tengan acceso a las copias impresas.

El juego de problemas será similar al de otros años. Aunque exista la posibilidad de buscar en Internet, el equipo de jueces planteará los problemas con un nivel de dificultad equivalente al de otras ediciones. El objetivo es que los problemas puedan ser resueltos por los equipos más hábiles sin necesidad de utilizar fuentes externas.

Si durante el concurso aprecias que alguien de tu centro está rompiendo las normas, o algún participante remoto está publicando los problemas o sus soluciones, por favor, hazselo saber a los jueces a través del sistema de aclaraciones de la plataforma del concurso.

Violar las reglas puede llevar a la descalificación inmediata del equipo y, dependiendo de la gravedad, prohibir la participación del centro en ediciones posteriores del concurso.

Los jueces procuparán detectar los casos donde se hayan roto las normas, determinar si fue o no un acto deliverado, y penalizar convenientemente a los infractores. La dirección del concurso, siguiendo las indicaciones de los jueces, podrá decidir descalificar a un equipo, un centro o alterar el ranking ante la sospecha de irregularidades. Estas acciones podrán ocurrir incluso si la violación se detecta una vez terminado el concurso.

Prueba tus soluciones

Puedes probar tus soluciones en ¡Acepta el reto!, el juez on-line con problemas de ediciones anteriores.

Programame 2.0

Visita nuestro blog con acertijos programables.