Saltar al contenido

¿Cómo te preparas para ICFP o Conferencia Internacional sobre Programación Funcional?

HowtoprepareforICFPProgrammingCompetitions1 ¿Cómo te preparas para ICFP o Conferencia Internacional sobre Programación Funcional?

Ver discusión

Mejorar artículo

Guardar artículo

me gusta el articulo

El Concurso de Programación ICFP es un concurso internacional de programación que se lleva a cabo cada junio o julio desde 1998. Los resultados fueron presentados en la Conferencia Internacional sobre Programación Funcional. Todo programador funcional sueña con formar parte del ranking final de ICFP. Pero el problema es ¿cómo prepararse para ICFP? Bueno, no te preocupes más. Hemos preparado este artículo especialmente para esto.

¿Cómo te preparas para las competiciones ICFP?

¿Cómo te preparas para las competiciones ICFP?

En este artículo, le brindaremos una guía completa para ayudarlo a comprender todos los aspectos de ICFP, como la elegibilidad, el proceso de registro, cómo prepararse para ICFP y mucho más. Entonces empecemos.

¿Qué es la competencia de programación ICFP?

  • El concurso de programación ICFP es un concurso internacional de programación que se celebra todos los años en junio o julio. desde 1998. Los resultados fueron presentados en la Conferencia Internacional sobre Programación Funcional.
  • Los equipos pueden ser de cualquier tamaño y pueden usar cualquier lenguaje de programación. No se paga entrada. Todos los años, unos meses antes de la conferencia, ICFP patrocina una competencia de programación divertida y desafiante de tres días. Los ganadores del concurso se anunciarán en ICFP. En muchos casos, también hay un departamento de iluminación de 24 horas.
  • Los ganadores se reservan el «derecho a fanfarronear» para afirmar que su lenguaje es «la mejor herramienta de programación para hackers discriminatorios». Por ello, uno de los objetivos del concurso es mostrar a los participantes las habilidades de sus lenguajes de programación y herramientas favoritas. Los ganadores de premios anteriores han utilizado Haskell, OCaml, C++, Silk, Java, F# y Rust.
  • Los concursos suelen tener alrededor de 300 entradas.

Criterios de elegibilidad para ICFP:

  • La elegibilidad para las competencias de programación ICFP es extremadamente flexible.
  • Cualquiera que pueda codificar puede participar en la competencia, incluidos estudiantes universitarios, estudiantes de posgrado, e incluso miembros de la facultad pueden participar en las competencias de programación ICFP.

Reglas de los concursos de programación ICFP:

  • Esta es una competencia abierta. Cualquiera puede participar en el Concurso de programación ICFP 2021, excepto el organizador del Concurso de programación ICFP 2021.
  • No se requiere inscripción previa ni cuota de inscripción.
  • Los participantes pueden organizarse libremente en equipos de cualquier tamaño. Los atletas solo pueden ser miembros de un equipo. Los equipos no se pueden dividir, integrar o colaborar una vez que ha comenzado la competencia.
  • Los equipos son libres de usar cualquier lenguaje de programación en cualquier plataforma.
  • Los equipos deben registrarse durante el partido para recibir los detalles de inicio de sesión. Los equipos que usen múltiples credenciales durante el partido serán descalificados.
  • Los equipos que deseen considerar los premios deben enviar el código fuente al final de la competencia. Los detalles exactos de la participación en la competencia se anunciarán al comienzo de la competencia. Los equipos pueden enviar varias veces durante la competencia. Las primeras entradas se pueden evaluar para partidos de puntuación en vivo, pero los premios solo se otorgarán a las últimas entradas en la categoría Lightning y a toda la competencia.
  • El Promotor se reserva el derecho de monitorear, registrar e investigar las entradas de los participantes y equipos, otras actividades relacionadas con la competencia o la falta de ellas. Los registros se utilizarán únicamente con fines de evaluación y se destruirán al finalizar el evento relacionado con la competencia.
  • Se les pide a los participantes que no intenten atacar el servidor del partido, esto arruinará la diversión de los otros equipos y organizadores que han trabajado arduamente para brindarle esta experiencia.
  • Las violaciones de estas reglas, los intentos de comprometer la integridad de la infraestructura de la competencia, los intentos de confundir a otros participantes, la colusión entre equipos o los intentos de violar el espíritu de la competencia resultarán en la descalificación del equipo involucrado.
  • Los solicitantes conservan la propiedad de todos los derechos de propiedad intelectual de todas las soluciones, el código fuente, las herramientas personalizadas y los materiales relacionados («Solicitantes») enviados antes de la presentación. Como condición para participar, el Solicitante otorga al Promotor una licencia no exclusiva, perpetua, irrevocable y libre de regalías en todo el mundo para usar, copiar, publicar, distribuir, ejecutar públicamente y exhibir públicamente el trabajo presentado. Y deja que el organizador pruebe y evalúe la entrada. Presentación con fines de competencia.
  • Todas las decisiones del organizador son definitivas.

¿Cómo participar en el concurso de programación ICFP?

  • Para participar en el concurso de programación ICFP, debe visitar su sitio web oficial y registrarse usted y su equipo.
  • Los participantes deben formar sus propios equipos de cualquier tamaño que interactuarán con un lenguaje de programación. No hay cuota de inscripción para participar en el concurso. Solo disposición a estar disponible durante el partido para completar varias tareas e hitos.
  • El tiempo total del torneo es de 72 horas, pero el equipo que llegue a lo más alto de la clasificación después de 24 horas recibirá un premio especial (premio en la categoría Lightning).
  • Puede registrarse en su sitio web oficial y estar atento a la información más reciente.
  • También puede registrarse como estudiante voluntario durante la reunión. Una aplicación para esto está disponible en su sitio web.
  • Si está interesado en la investigación, también aceptan trabajos de investigación de estudiantes presentados en la conferencia.

Consejos de preparación para ganar el concurso de programación ICFP:

  • Puede inscribirse en un programa de programación para pasantías y practicar preguntas sobre habilidades de programación que lo ayudarán a comprender mejor el lenguaje de programación.
  • La competencia también es una prueba de quién tiene la solución primero y quién tiene la mejor solución.
  • Trate de prestar atención tanto a la velocidad como a la precisión.
  • Obtenga información sobre las mejores prácticas de programación funcional y asegúrese de aplicarlas mientras prepara su solución.
  • Consulte la documentación de su lenguaje de programación. Tenga la seguridad de que está recopilando mucha información sobre lo que puede hacer con un lenguaje de programación.
  • Trate de ser consistente en diferentes plataformas de codificación como CodeChef, codeforces y geeksforgeeks, etc.

Problemas de la competencia ICFP del año pasado:

AÑO

TEMA

2018Optimice la impresión 3D realizada por un enjambre de nanobots
2016desplegar origamis (formas planas hechas de papel digital), es decir, reconstruir los modelos planos más simples posibles por sus patrones de plegado.
2014Implementa IA para un clon de Pac-Man.
2013Dada una función desconocida F(x) que asigna enteros de 64 bits a enteros de 64 bits, salida de ejemplo de F para adivinar la función.
2012Excava en la tierra para recolectar Lambdas, ¡pero ten cuidado con las rocas que caen y otros peligros!
2011Juega un juego de cartas, donde las cartas son funciones de cálculo lambda y combinadores.
2010Diseñe motores y combustibles para automóviles y colóquelos en un mercado en tiempo real para ganar puntos.
2009Controla un orbitador para atracar con varias piezas de basura espacial y cambia sus órbitas para alcanzar otros cuerpos en órbita.
2008Controla un rover de Marte desde su ubicación actual hasta la base de operaciones evitando cráteres y marcianos.
2007Reprocesar el ADN extraterrestre para convertir una imagen de origen en una imagen de destino.
2006Implemente una máquina virtual de código de bytes y arranque en un sistema operativo antiguo para resolver más desafíos algorítmicos.
2005Escriba AI para policías (caza de un ladrón) y ladrones (robo de bancos). Oficiales de policía de varios equipos se unen para cazar a un ladrón.
2004Diseña una colonia de hormigas que recolecte comida con éxito y defienda su nido de otros invasores.
2001Optimizar una variante de XHTML.
2000Implementar un trazador de rayos.
1999Dada una máquina de estado que representa un personaje en una ficción interactiva como una expresión s, escriba un optimizador para comprimir sin pérdidas la máquina de estado para varias medidas de costo.

Preguntas frecuentes:

1. ¿Cómo pueden los equipos mantenerse informados de las actualizaciones durante el partido?

El sitio web de la competencia es la fuente autorizada de información sobre la competencia. Las actualizaciones notables se agregan como publicaciones en la página de inicio principal y se tuitean por @icfpcontest2019.

2. ¿Cómo pueden contactar los equipos con los organizadores de la carrera durante el partido?

Los equipos pueden enviar preguntas a: [email protected] o haz preguntas enviando tweets a @icfpcontest2019 (aunque esto último puede ser respondido con algo de retraso).

3. ¿Qué deben presentar los equipos durante el partido?

Los detalles exactos de las entradas del concurso se anunciarán al comienzo del concurso.

4. ¿Deberían los equipos enviar el código fuente durante o después del partido?

Sí. Todos los equipos para ser considerados para los premios deben enviar el código fuente al final de la competencia.

5. ¿El sistema de puntuación elegirá el mejor resultado para cada tarea de todas las entregas o la última entrega?

Solo se tendrá en cuenta la última entrada de cada equipo al calcular la mejor puntuación para una tarea determinada. Asegúrese de enviar sus mejores soluciones cada vez.

Conclusión:

  • ICFP es una excelente manera de probar y mejorar sus habilidades de codificación y programación funcional mientras compite con las mejores mentes de todo el mundo. Si crees que tienes lo que se necesita para llevarte a casa el codiciado partido ICFP, ¡comienza tus preparativos de inmediato!
  • El éxito en la competencia de programación ICFP seguramente agregará valor a su currículum mientras realiza su pasantía dentro y fuera del campus. Además de enumerar su currículum, siempre es bueno participar en una competencia para probar sus habilidades de codificación.
  • Te hace un mejor desarrollador y sigues buscando los problemas que existen en el mundo. Tu único trabajo como ingeniero es usar la tecnología para ayudar a la humanidad a vivir una vida mejor.

Artículos relacionados: