Temario para la Olimpiada Nacional de Informática

De acuerdo al temario de la Olimpiada Internacional de Informática (IOI), los conocimientos que deben tener los concursantes en la etapa nacional se dividen en tres áreas: matemáticas, fundamentos de programación (Karel y C++) y un poco de ingeniería de software, de la siguiente manera:

  1. Matemáticas
    1. Teoría de números
    2. Geometría
    3. Conjuntos
    4. Relaciones
    5. Funciones
    6. Lógica proposicional
    7. Lógica de predicados
    8. Prueba de teoremas (sobre todo las relacionadas con algoritmos)
    9. Inducción matemática
    10. Recursividad
    11. Permutaciones
    12. Combinaciones
    13. Grafos y árboles
  2. Programación
    1. Datos, variables,, tipos de datos
    2. Expresiones
    3. Instrucciones
    4. Estructuras de control secuencial
    5. Estructuras de control de selección
    6. Estructuras de control iterativo
    7. Funciones
    8. Descomposición estructurada
    9. Tipos de datos estructurados
      1. Arreglos
      2. Registros
      3. Cadenas de caracteres
      4. Pilas y colas
      5. Grafos y árboles
    10. Funciones recursivas
    11. Especificación de algoritmos
    12. Precondiciones
    13. Postcondiciones
    14. Invariantes
    15. Recorridos de árboles
    16. Recorrido en amplitud y profundidad
    17. Trayectorias más cortas de un grafo
    18. Algoritmos de fuerza bruta
    19. Algoritmos codiciosos
    20. Programación dinámica
    21. Dividir y conquistar
    22. Árboles de expansión mínima
    23. Algoritmos de ordenamiento
    24. Algoritmos de búsqueda
    25. Gramáticas y autómatas sencillos
  3. Ingeniería de software
    1. Diseño estructurado
    2. Uso de la biblioteca estándar del lenguaje (standard library)
    3. Uso del ambiente integrado de desarrollo (IDE, por sus siglas en inglés): CodeBlocks
Anuncios