Programación Competitiva
Autor: Neilor Tonin – beecrowd
(6 minutos de lectura) El ser humano es competitivo por naturaleza. Se dice que la competencia está en nuestro ADN desde los tiempos de las cavernas (competencia por la comida) y que forma parte de nuestra supervivencia y evolución. Es muy común que nos detengamos a seguir competiciones en los Juegos Olímpicos y la Copa del Mundo. Son las competiciones más difundidas y conocidas. Pero existen otro tipo de competencias, que no implican esfuerzo físico y los competidores no dependen necesariamente de su condición física. En estas competencias, el elemento indispensable es el poder de razonamiento. Entre estos, podemos mencionar las olimpiadas de educación secundaria (matemáticas, informática, química) y de educación superior (maratón de programación para quienes estudian Ciencias de la Computación y carreras afines). Estos eventos se caracterizan por la programación competitiva, es decir, la programación en un entorno competitivo, en el que gana el equipo que resuelve el mayor número de problemas en un tiempo predeterminado, de acuerdo con las especificaciones proporcionadas, haciendo uso de la programación. En caso de empate, gana el equipo que haya resuelto el mismo número de problemas en menos tiempo. Por cierto, hablando de programación competitiva, estamos cerca de la fecha de la gran final del Maratón de Programación en Brasil. Es una competencia en la que, en marzo de este año, se reunirán los 60 mejores equipos de Brasil (compuestos por 3 competidores cada uno) que pasaron la primera fase (unos 800 equipos de numerosas universidades). Esta competencia se llevará a cabo en Gramado, RS y el mismo evento se llevará a cabo simultáneamente en varios países de América Latina. Los mejores clasificados obtienen como premio la posibilidad de participar en la final mundial del evento. Para quien es estudiante de Informática, ciertamente no existe otro evento de mayor trascendencia y con tal riqueza de aprendizaje, pues además de la calificación personal, la experiencia de un viaje inolvidable está en el equipaje. Un dato interesante es que los estudiantes que optan por participar en estos concursos suelen ser los más buscados por las empresas, ya que la programación competitiva los incentiva a buscar conocimientos adicionales para resolver problemas y brinda la experiencia de trabajar en grupos bajo presión. Así como los atletas tienen que hacer ejercicio y buscar acondicionamiento físico, podemos ver estas competencias como una forma de que los académicos ejerciten su cerebro y se preparen mejor para el mercado laboral, logrando ver soluciones no triviales y diferentes formas de abordar y solucionar un determinado problema cuando se encuentran en una situación real dentro de una empresa. El portal beecrowd tiene más de dos mil trescientos problemas típicos de competencias de programación, en un formato muy similar a los problemas disponibles en la Olimpiada Brasileña de Informática (OBI) y Maratón de Programación. Por cierto, para los que quieran prepararse, todos los problemas de las ediciones anteriores de la OBI y la Maratón de Programación (fase eliminatoria y fase final) están disponibles en el portal. También están disponibles muchos problemas de competencias regionales (como la Maratón Mineira) y la Maratón de las escuelas de Invierno y Verano (eventos preparatorios para los equipos que compiten). Estos problemas son excelentes para que los programadores desarrollen algoritmos y mejoren sus técnicas de programación. Este año, beecrowd será el patrocinador oficial de la final del XXVI Maratón de Programación (clasificatorio latinoamericano para la final mundial) y solemos hacer un espejo de la competencia en la misma fecha de la carrera oficial. Esto significa que, si su equipo quedó fuera de la final, puede intentar resolver los mismos problemas que los equipos clasificados resolverán en Gramado. La prueba en el portal (beecrowd) normalmente debe comenzar algunas horas después de la prueba oficial. Solo acceda a https://beecrowd.io/, regístrese, inicie sesión y acceda a la pestaña CONCURSOS para encontrar la prueba. ¡Te avisaremos cuando todo esté listo para que te registres! Por último, basta con conocer los detalles de una competición. La prueba tiene una duración de 5 horas (tanto la primera fase como la final). Por lo general, se ponen a disposición de los equipos de 8 a 13 problemas de diferentes temas y complejidades (las finales suelen mezclar algunos temas en ciertas preguntas además de requerir un excelente pensamiento lógico). Estos problemas van desde problemas muy simples que por lo general los mejores equipos dedican unos minutos a resolver hasta problemas muy complejos, que pocos equipos en América Latina pueden resolver. Para ilustrar un poco y explicar algunos detalles, sigue la puntuación de una competición.
Esta fue una competencia individual y se puede ver que la competencia ha terminado (hora 00:00 para resolver). Hubo un total de 13 problemas, pero el competidor que ganó resolvió 9 de ellos. El cuadrado gris indica el concursante que fue el primero en presentar una solución correcta al problema (por ejemplo, el problema C para el concursante 2). Además, el número en el círculo indica la cantidad de veces que el competidor presentó una solución dada hasta que resolvió correctamente el problema (el competidor 1 presentó 4 veces el problema B y 1 vez el problema A, por ejemplo). También es interesante que cada presentación incorrecta agrega una penalización al tiempo total de resolución y el número debajo del problema indica en qué tiempo de la carrera el competidor logró acertar. Por ejemplo, el competidor 3 resolvió el problema A en el minuto 112 de la carrera, es decir, justo antes de cerrar a 2 horas del inicio de la carrera. Estos tiempos son de desempate. Por ejemplo, aunque el segundo y tercer lugar resolvieron 8 problemas, el segundo lugar lo resolvió en mucho menos tiempo. Los problemas con el color blanco indican que el competidor no lo hizo bien. Por ejemplo, el primer competidor presentó el problema I 10 veces sin éxito. En cualquier caso, este tiempo no se cuenta (cuando el competidor no acierta en el problema). Abajo también una foto de una Final Nacional del Maratón de Programación. Esta imagen es de la Final Nacional 2012, y se llevó a cabo en Londrina, PR. Cada globo indica un problema resuelto por el equipo.
Sigue nuestro blog y redes sociales para más información sobre la final del Maratón de Programación de este año. ¿Te gustó nuestro contenido? Así que síganos en las redes sociales para estar al tanto de más información y siga nuestro blog.
Autor: Neilor Tonin es el Chief Academic Officer de beecrowd. También es profesor y coordinador responsable de las áreas de Ingeniería Informática y Ciencias de la Computación en una gran universidad brasileña. Neilor es miembro activo del comité responsable de la organización de la Olimpiada Brasileña de Informática (OBI), la etapa brasileña de la Olimpiada Internacional de Informática (IOI).
Comparte este artículo en tus redes sociales:
Califica este artículo:
Otros artículos que podría interesarle leer
- Todos (185)
- Bienestar (18)
- Carrera profesional (38)
- Competencias (6)
- Desarrollo (112)
- Diseño (8)
- Diversidad e inclusión (3)
- Eventos (3)
- Historia (15)
- Industrias (6)
- Innovación (38)
- Liderazgo (8)
- Proyectos (23)
Cloud Computing y Transformación Digital e Impacto Social
(5 minutos de lectura)
En los últimos años, hemos sido testigos de una revolución silenciosa que está remodelando fundamentalmente la forma en que vivimos y trabajamos. En el centro de esta transformación está la cloud computing, una innovación tecnológica que trasciende los límites físicos y abre nuevos horizontes de posibilidades. Este texto hablará sobre este tema que está transformando el área TI. ¡Ven a leer!...
Tech en Educación
(9 minutos de lectura)
En el panorama educativo contemporáneo, la tecnología desempeña un papel cada vez más crucial, revolucionando no sólo la forma en que los estudiantes aprenden, sino también la forma en que los educadores enseñan. A medida que nos adaptamos a un mundo conectado digitalmente, están surgiendo nuevas tendencias que prometen transformar aún más la forma en que se diseña e imparte la educación. Venga a leer este texto para conocer las últimas tendencias en tecnología educativa y explorar su impacto en el desarrollo de los estudiantes y la evolución de la enseña...
Desarrollo Ético de Software
(5 minutos de lectura)
Desarrollar software es una actividad compleja que va mucho más allá de la simple codificación. Implica un proceso meticuloso de planificación, diseño, implementación, prueba y mantenimiento para crear sistemas confiables, eficientes y seguros. Sin embargo, además de buscar funcionalidad y rendimiento, los desarrolladores también deben considerar cuidadosamente los aspectos éticos del software que están creando. En este texto hablaremos de ética y responsabilidad a la hora de desarrollar software. ¡Ven a leer!...
Equilibrio Entre Crecimiento Profesional y Personal
(6 minutos de lectura)
En un mundo impulsado por la búsqueda constante del éxito profesional, a menudo nos encontramos inmersos en nuestras carreras, olvidando el equilibrio fundamental entre el crecimiento profesional y personal. A medida que dedicamos horas a codificar, resolver problemas y mejorar nuestras habilidades técnicas, es esencial recordar que nuestro viaje como seres humanos va más allá de las líneas de código. ¡Ven a leer nuestro texto y descubre consejos geniales sobre cómo lograr este equilibrio!...
Cómo Resaltar los Premios del Concurso de Programación en tu CV
(6 minutos de lectura)
En un campo tan dinámico como el desarrollo de software es fundamental destacar entre la multitud. Una forma excepcional de hacerlo es a través del reconocimiento y los premios obtenidos en concursos competitivos de programación. Además de demostrar sus habilidades técnicas superiores, estos premios dan fe de su capacidad para resolver problemas complejos, colaborar como equipo y ofrecer resultados excepcionales bajo presión. Hoy hablaremos de currículum y concursos, ¿te interesa? ¡Ven con nosotros!...
Código Abierto y Colaboración
(5 minutos de lectura)
Si está listo para comenzar a explorar el mundo del código abierto, tenga en cuenta que encontrará muchas oportunidades y desafíos de aprendizaje. La colaboración está en el centro de este entorno, impulsa la innovación e influye en la dirección de la tecnología. ¡Ven a leer nuestro texto para saber más sobre este tema!...
¿Le gustaría que su artículo o video sea publicado en el blog y las redes sociales de beecrowd? Si está interesado, envíenos un correo electrónico con el asunto “BLOG” a [email protected] y le daremos más detalles sobre el proceso y los requisitos previos para que su artículo / video sea publicado en nuestros canales
Sede
Rua Funchal, 538
Cj. 24
Vila Olímpia
04551-060
São Paulo, SP
Brasil