Además de esta sitio web, hay muchos otros recursos en internet que enseñan programación y algoritmos y, en particular, temas específicos de programación competitiva. En esta página hacemos una lista de algunos de ellos.

Muchos de los recursos están en inglés, pero también hemos intentado escoger otros que estén en español. Están marcados con la etiqueta [EN ESPAÑOL].

Recursos para aprender a programar

  • Descubre la programación [EN ESPAÑOL]: Sitio web de la Universidad de Murcia para aprender a programar. Se utiliza un lenguaje de programación específico para principiantes (no aceptado en la OIE) y está más orientado a gráficos que a algoritmia, pero es más sencillo para quienes empiezan a programar por primera vez.
  • Tutorial cplusplus.com: Tutorial detallado de los fundamentos de C++.
  • Fundamentos de programación [EN ESPAÑOL]: Transparencias de una asignatura de la UCM de iniciación a la programación.

Recursos para aprender algoritmos y estructuras de datos para programación competitiva

  • Competitive Programming, de Steven y Felix Halim [EN ESPAÑOL]: un libro de referencia para la programación competitiva, con (prácticamente) todos los conocimientos de algoritmos necesarios para los concursos de programación. Está más orientado a concursos universitarios, por lo que hay varios temas muy técnicos que no son necesarios para la OIE, pero también cubre los temas básicos. Desde la página web se pueden descargar gratuitamente ediciones antiguas del libro en inglés; también ha sido traducido al español bajo el título "Programación competitiva: Manual para concursantes del ICPC y la IOI".  Los problemas que aparecen en el libro se pueden encontrar en https://onlinejudge.org/.
  • Competitive Programmer's Handbook, de Antti Laaksonen: Libro disponible gratuitamente que también cubre una gran cantidad de algoritmos y estructuras de datos.
  • cp-algorithms.com: Página web con tutoriales para una gran variedad de algoritmos avanzados resultante de la traducción al inglés de artículos de la página rusa e-maxx.ru. Muchos de los artículos son bastante avanzados y técnicos, puede estar bien para quienes quieran ver temas más allá de lo que se expone en Aprende OIE.
  • USACO Guide: Esta página web, escrita por exolímpicos de la Olimpiada de Computación de EEUU, propone un itinerario desde lo más básico hasta lo más avanzado en el que, para cada tema que se estudia, se proporcionan varios enlaces a tutoriales y problemas para practicar. Muy recomendable tanto para principiantes absolutos como para gente con más conocimientos. Esta guía no está oficialmente afiliada con la USACO; la USACO proporciona por su parte un programa de entrenamiento parecido que también empieza desde cero, aunque no es tan completo y no está tan actualizado como la USACO guide.

Lugares donde practicar

  • Codeforces: Una plataforma que organiza concursos con bastante frecuencia. Los concursos se dividen en dos divisiones (ocasionalmente hay concursos de una tercera división con problemas más sencillos) y al menos el primer problema de los concursos de segunda división es asequible para principiantes. En general, la dificultad de los problemas que se plantean suele estar más en pensar la solución que en programarla.
  • AtCoder: Otra plataforma que organiza concursos por internet. En esta, hay tres tipos de concursos: los Beginner Contest, que están específicamente hechos para principiantes, los Regular Contest, parecidos a los concursos de Codeforces, y los Grand Contest, concursos cuyos problemas se seleccionan buscando que requieran observaciones matemáticas especialmente elegantes y originales.
  • CodeChef: Otra plataforma de concursos. Organiza tres tipos de concursos mensualmente: Lunchtime, especialmente pensados para estudiantes de secundaria y con un formato parecido al de la IOI, Cook-Off, similar a los concursos de Codeforces, y Long Challenge, un concurso que dura diez días y tiene problemas que requieren una implementación más complicada o uso de algoritmos más avanzados.
  • Project Euler: Una colección de problemas más relacionados con las matemáticas, pero que normalmente se tienen que resolver programando un ordenador.
  • OmegaUp, ¡Acepta el reto!, jutge.org [EN ESPAÑOL]: Son jueces en línea (puedes enviar tu código de solución a un problema y que sea evaluado) con colecciones de problemas en español. Algunos también tienen recursos para aprender programación y algoritmos. jutge.org también alberga problemas de la OIE de ediciones antiguas.
  • Hackerrank es otra página que tiene varios recursos de aprendizaje y anteriormente organizaba concursos online regularmente. También tiene problemas de la OIE de ediciones pasadas.
  • Algunas olimpiadas de otros países (como por ejemplo la USACO) abren sus concursos para que participe gente de todo el mundo. Puede ser interesante participar y ver cómo se hacen las cosas en otros sitios.