La Olimpiada Informática

La Olimpiada Informática Internacional

La idea de iniciar la olimpiada internacional de informática para estudiantes de secundaria fue propuesta en la 24a Asamblea General de la Unesco por el profesor Sendov de Bulgaria en octubre de 1987 y incluída en el Quinto Programa Principal de dicha organización. La primera Olimpiada Internacional de Informática (IOI) se celebró en Mayo de 1987, propiciada por la Unesco.

La IOI es una de las cinco olimpiadas científicas que tienen lugar anualmente. Su objetivo es el estímulo del interés en la informática y en las tecnologías de la información. También se pretende reunir estudiantes de varios países con talento excepcional para que compartan experiencias científicas y personales.

La IOI está organizada cada año por uno de los países participantes. Cada país envía una delegación de cuatro estudiantes y dos acompañantes. Los concursantes lo hacen individualmente, e intentan obtener la máxima puntuación resolviendo un conjunto de problemas informáticos durante las dos sesiones del concurso. Los problemas son algorítmicos y deben resolverse programando en un ordenador personal.

La Olimpiada Informática Española

La Olimpiada Informática Española (OIE) es el concurso de informática para los estudiantes de enseñanza secundaria y bachillerato convocado en todos los centros de dicho nivel en España. De estos concursantes, y a través de sucesivas eliminatorias, se selecciona el equipo español de cuatro concursantes que acude a la IOI.

La OIE se ha venido convocando en España siempre bajo los auspicios de la Fundación Aula de Barcelona. El equipo español ha estado presente en las IOI de 1997 en adelante. Desde el curso 2006/07, la Universidad Politécnica de Cataluña (UPC) y la Facultad de Informática de Barcelona (FIB) colaboran con la Fundación Aula en la organización del concurso.

Información para profesores

La informática que se enseña en la enseñanza secundaria consiste en gran parte en la utilización de herramientas de edición de textos, de cálculo, o bien en la consulta o construcción de páginas Web. Pero raramente se introduce la programación, y mucho menos las nociones de algorítmica o de estructuras de datos necesarias. La IOI y la OIE promueven precisamente el estudio de esta última faceta de la informática: la programación.

Un colectivo sufiente de estudiantes de secundaria puede sentirse atraído por esta actividad creativa, más cuando se le proponen ayudas de trabajo adecuadas y material de iniciación. El profesorado, no necesariamente especialista en esta materia, que detecte esta habilidad o la simple curiosidad en alguno de sus alumnos, puede sencillamente inscribirlo en el concurso de la OIE, y así potenciar su interés por la informática. Si además puede organizar alguna sesión de trabajo, tanto mejor, pero no es necesario que lo haga.

Información para alumnos

Los estudiantes interesados en la informática, especialmente en su vertiente algorítmica y de programación, o los que ya han programado alguna vez y les gusta el reto personal de resolver problemas mediante programas, tienen la oportunidad de participar en este concurso. A través de él pueden aprender las bases de la programación y de los algoritmos subyacentes y pueden obtener ayuda personal en la resolución de dudas y cuestiones nuevas. También podran disponer de un entorno de trabajo de fácil instalación, sin otro requerimiento que disponer de un ordenador personal y una conexión a Internet en casa o en la Escuela o Instituto.

Preguntas frecuentes

¿Quién puede concursar en la Olimpiada Informática Española?

Sólo pueden participar los alumnos que el curso correspondiente estén matriculados en Primaria, Secundaria, Bachillerato o ciclos formativos de grado medio, y que no tengan más de 20 años.

¿Es necesario ser alumno para inscribirse en la web?

Es necesario ser alumno para participar en los concursos clasificatorios, pero no es necesario ser alumno para inscribirse en la web. Cualquiera interesado en la programación, y muy especialmente los educadores de los alumnos, está invitado a inscribirse y participar tanto resolviendo problemas como participando en los concursos no clasificatorios.

¿Qué lenguaje de programación debo utilizar para escribir mis programas?

El lenguaje de programación soportado por la Olimpiada Informática Española es C++ (GNU g++).

¿Qué nombres de fichero deben utilizar los programas que se envíen al juez online para leer la entrada y escribir la salida?

No es necesario utilizar ningún fichero: la entrada se lee desde "teclado", es decir, des de la entrada estándard (cin/scanf) y se escriben en la "pantalla", es decir, en la salida estándard (cout/printf).

¿Cómo debe ser el código que envío?

Debe tratarse de un solo fichero, que utilice únicamente librerías estándares (en caso contrario no compilará). Además, la función main debe estar declarada sin argumentos.

¿Qué significan los veredictos que recibo?

Hay varios veredictos que puedes recibir:

  • CE (Compilation Error): El código da un error de compilación.
  • WA (Wrong Answer): El código ha dado una respuesta incorrecta.
  • EE (Execution Error): El código ha tenido algún error en la ejecución. En este caso el veredicto va acompañado de un mensaje informando de qué error se trata. En particular, "time limit exceeded" significa que tu código es demasiado lento y que tienes que optimizarlo (ya sea a nivel de código o de algoritmo).
  • PE (Presentation Error): Tu código da una respuesta correcta, pero le falta o sobra algún espacio o salto de línea.
  • AC (Accepted): El código funciona correctamente y pasa todos los casos de prueba.
  • IC (Invalid Character): Aunque no ha tenido errores en ejecución, tu programa ha imprimido carácteres no ASCII (como por ejemplo tildes).
Si recibes algún otro veredicto, como IE o SE, avisa a web-oie@googlegroups.com puesto que se trata de un error en el problema.

¿Cómo se calcula la puntuación en un concurso?

De cada problema se tiene en cuenta el envío con más puntos y, en caso de empate, el que se haya realizado antes. La puntuación para ese problema es la de ese envío y el tiempo es el tiempo en minutos de ese envío más 20 minutos de penalización por cada envío anterior. La puntuación total es pues la suma de puntos y tiempo para todos los problemas. El ránking se ordena por puntuación (de mayor a menor) y en caso de empate por tiempo (de menor a mayor).