Estudio y Preparación

Para obtener el éxito en estas competencias es muy importante atender dos grandes frentes: Razonamiento lógico-matemático y programación de computadoras. En la ODI los competidores deberán ser capaces de analizar los problemas planteados e identificar conceptos lógico-matemáticos y algorítmicos que le ayuden a resolverlos, y por último escribir las soluciones de los problemas en uno de los lenguajes permitidos: C, C++, Java o Python.

Los competidores deben conocer y entender la estructura básica y la operación de una computadora (CPU, Memoria, E/S). Se espera que sean capaces de utilizar una computadora estándar con una interfaz gráfica, su sistema operativo y el entorno de desarrollo provisto. En particular, deben de tener ciertas competencias en la gestión básica de archivos (creación de carpetas, archivos, copiado y pegado, redireccionamiento de entrada y salida).

¡Esta competencia está abierta a todos! Si eres un principiante absoluto a la programación, puedes iniciar aprendiendo a través de este enlace: http://learn.code.org/. Es un curso de programación totalmente gratuito. La opción para cambiar a español se encuentra en la última parte de esa página.

Tópicos de Competencia

El banco de tópicos de problemas de la ODI es sustancial. Para ayudarte a planificar tu estudio, lo listamos debajo:

Temario 1. Matemáticas

Temario 2: Ciencias de Computación

Cursos en Línea Gratuitos

Los participantes pueden usar los siguientes cursos y recursos gratuitos en línea:

Libros

Los siguientes libros proveen una buena introducción a las competencias de programación y a los tópicos de las ciencias de la computación involucrados en las mismas:

Lenguajes de Programación

Unos enlaces que enseñan lenguajes de programación en específico:

Recursos En Línea

En Code.Org (http://learn.code.org/) se encuentra un curso gratuito de introducción a la informática y a la programación. Otros sitios como Coursera (www.coursera.org) y Udacity (www.udacity.com) tienen cursos similares, los cuales no asumen ningún conocimiento de programación previo.

En TopCoder (http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index) se encuentra una rica lista de tutoriales de distintos tipos de algoritmos.

Introducción a Algorítmos (http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)

En CodingBat (http://codingbat.com/) puedes poner a prueba tu conocimiento de Python.

Otros Concursos y Competencias