2014-1
Información general
Profesor Camilo Rocha (camilo.rocha *at* escuelaing.edu.co)
- Grupo 1: Lunes (D-211) 16:00 - 17:30, Martes (C1-204) 16:00 - 17:30, Martes (LAB) 17:30 - 19:00
- Grupo 2: Lunes (D-211) 16:00 - 17:30, Miércoles (C1-204) 10:00 - 11:30, Miércoles (LAB) 11:30 - 13:00
Horas de oficina Miércoles 14:30 - 17:30
Horario de atención de monitores
- Jueves (LAB) 13:00 - 14:30 (Monitor: Felipe Díaz)
- Lunes (LAB) 11:30 - 13:00 (Monitor: Carlos Angulo)
Material
Ambientes virtuales
Colecciones en Python
- Listas y pilas
- Montones binarios y colas de prioridad
- Colas
- Complejidad temporal de algunas colecciones en Python
Conferencias y ejercicios resueltos
- Semana 1: Introducción al análisis y diseño de algoritmos
- Semana 2: Análisis asintótico de funciones; el Teorema Maestro
- Notación O (5 videos)
- El Teorema Maestro (3 videos)
- Semana 3: Programación dinámica
- Introducción (ver desde 13:43)
- Knapsack
- Rod cutting
- Longest palindromic subsequence
- Semana 4: Idem
- Semana 5: Repaso y parcial tercio 1
- Semana 6: Estructuras de datos
- introducción
- montones binarios
- introducción
- operaciones
- aplicación: colas de prioridad
- aplicación: heapsort
- Semana 7: Listas
- Semana 8: Conjuntos, multiconjuntos y diccionarios (tablas de hashing)
- Semana 9: Conjuntos disyuntos; árboles, árboles binarios de búsqueda y árboles de búsqueda balanceados
- conjuntos disyuntos
- árboles y recorridos
- árboles binarios de búsqueda (opcional)
- árboles balanceados (opcional)
- Semana 10: Repaso y parcial tercio 2
- Semana 11: Grafos
- Semana 12: Búsqueda en grafos
- Semana 13: Órden topológico y reintento
- Semana 14: Árboles mínimos de cubrimiento (MST)
- Semana 15: Caminos más cortos (SSSP/ASSP)
- Semana 16: Flujo en redes
Maratón de Programación
- Categoría básica
- Categoría avanzada
Proyecto
The Hippie Puzzle: enunciado | arena | casos de prueba
- Documento de diseño (jueves 24 de abril).
Descripción de las estructuras de datos y algoritmos (alto nivel) para resolver el problema. Máximo dos páginas.
- Implementación y validación (
lunes 5miércoles 7 de mayo).
Sometimiento de la solución a DomJudge.
- Sustentación (viernes
916 de mayo).
Se sustenta la entrega del 5 7 de mayo y se modifica dicha solución para imprimir al menos una solución al rompecabezas si es que esta existe. Para esta entrega se liberarán casos de prueba adicionales y tiempos de ejecución.
Tareas
- Semanas 1 y 2 (para entregar 01/24 y 01/26)
- Semanas 3 y 4 (para entregar 02/07 y 02/09)
- Semanas 6 y 7 (para entregar 02/28 y 03/02)
- Semanas 8 y 9 (para entregar 03/14 y 03/16)
- Semanas 11 y 12 (para entregar 04/04 y 04/06)
- Semanas 13 y 14 (para entregar 04/25 y 04/27)
- Semanas 15 y 16 (para entregar 05/09 y 05/11)
Otros recursos