Javier Fernando Niño Velásquez, docente de Ingeniería de Sistemas del Politécnico Grancolombiano
La programación competitiva es una disciplina que trata de la resolución de problemas algorítmicos y lógicos por medio del uso de un lenguaje de programación. Esta definición no parece muy alejada de aquella tradicional de programación de computadores; sin embargo, existe una diferencia muy relevante: en la programación competitiva el reto es resolver más problemas y en menor tiempo que un grupo de adversarios compuesto por otros programadores. La motivación y el compromiso de los competidores provoca que su nivel de habilidad aumente y, por lo tanto, los problemas y pruebas que los enfrentan se vuelven cada vez más retadores.
Más allá de ser una actividad académica, muchas personas han adoptado esta práctica como un pasatiempo. Existen múltiples comunidades web con miles de miembros entrenando y compitiendo entre sí en todo momento; entre las más conocidas se cuentan Topcoder, Codeforces y Codewars. Estos grupos de interés son observados por las más grandes compañías de tecnología del mundo para vincular talento a sus organizaciones. Por lo tanto, puede decirse que la programación competitiva es una actividad lúdica que provoca que las personas desarrollen un alto grado de habilidad en tareas de alta remuneración y con amplia demanda en la industria actual. Son pocos los pasatiempos que como éste pueden recompensar económica y masivamente a quienes los adoptan.
¿Existe la programación competitiva en Colombia?
En Colombia, la Colombian Collegiate Programming League, CCPL, está conformada por distintas instituciones de educación superior del país y tiene como objetivo inicial promover la práctica de la programación competitiva a nivel universitario. La idea es que formar más y mejores programadores y desarrolladores contribuye a cerrar la brecha en ciencia y tecnología que hoy tiene muestro país con respecto a los países desarrollados.
Aproximadamente cada mes, la CCPL organiza competencias cuya sede se alterna entre las instituciones que la conforman. El hecho de realizar este tipo de eventos académicos de manera regular ha motivado a los aficionados de la programación para mejorar sus habilidades. El punto culminante del circuito de competiciones son las pruebas clasificatorias a la final mundial de cada año, conocidas como Maratones de Programación. Estas competencias son las que producen mayor interés y para las cuales los estudiantes participantes se preparan con más ahínco.
El próximo 21 de septiembre, el campus principal del Politécnico Grancolombiano albergará la Maratón Nacional de Programación 2019 como lo ha hecho de manera ininterrumpida desde 2015. Ese día se encontrarán 56 equipos de los mejores programadores a nivel universitario de Bogotá y otras zonas como Amazonas, Tolima y Boyacá. Adicionalmente, en otras cinco sedes en diferentes ciudades de Colombia se concentrarán otros 54 equipos de competidores. Los mejores 40 equipos clasificarán a la Maratón Regional de Programación que tendrá lugar en la sede Bogotá del Politécnico y que, a su vez, es clasificatoria para la final mundial de Moscú en 2020.
Además de contar con el apoyo de CCPL, la competencia también es auspiciada en Colombia por la Asociación Colombiana de Ingenieros de Sistemas, ACIS, y por la Red de Programas de Ingeniería de Sistemas y Afines, REDIS. A nivel internacional, el International Collegiate Programming Contest, ICPC, es el responsable y principal patrocinador de las Maratones de Programación.
¿Cómo son este tipo de competencias?
En las Maratones de Programación participan equipos representando a universidades de toda Colombia, y una misma universidad puede ser representada por varios equipos. Cada equipo tiene tres personas y puede estar conformado por estudiantes de distintas carreras; sin embargo, usualmente están cursando Ingeniería de Sistemas y/o Matemáticas. La competencia busca al equipo que sea capaz de resolver la mayor cantidad de problemas y probar así su habilidad en la programación de computadores. Todos los equipos se enfrentan al mismo conjunto de problemas y gana quien resuelva la mayor cantidad de ellos. Si dos o más equipos resuelven una misma cantidad de problemas, el desempate se hace evaluando quién usó más eficientemente el tiempo.
Las maratones están orientadas a los estudiantes universitarios que se destacan por sus habilidades en programación de computadores y algoritmia. Si bien es una actividad académica, también tiene el componente emotivo de la competencia contra otros y la diversión. Como en cualquier deporte, los equipos tienen un entrenador y periódicamente dedican su tiempo a desarrollar sus habilidades.
¿Cuáles son los beneficios de participar?
Los participantes tienen la oportunidad de comprobar sus conocimientos fuera de su universidad al ponerse a prueba frente a los mejores programadores universitarios de Colombia, Latinoamérica y el mundo. Adicionalmente, este tipo de competencias aumentan la confianza, motivación y compromiso de los estudiantes pues les proporcionan prestigio y reconocimiento por parte de sus pares. El simple hecho de participar revela capacidades académicas sobresalientes.
Finalmente, una competencia de programación es un gran escenario para que los participantes proyecten sus capacidades profesionales y sean observados por las más poderosas compañías de tecnología del mundo.
Para seguir el desarrollo de la Maratón Nacional de Programación le invitamos a ingresar a las redes sociales del Politécnico Grancolombiano: Instagram @poligrancol, Twitter @poligran, y Facebook @poligran. Si desea más información acerca de la programación competitiva en Colombia, ingrese a https://www.programmingleague.org/.
Comentarios