Tabla de Contenidos
Algoritmos y Estructuras de Datos I - 2015 2do cuatrimestre
Novedades
- 04/08/2015: Relanzamiento de la página!
- 13/08/2015: Publicado el práctico 1.
- 25/08/2015: Se publicó el práctico 1 corregido. Se subió el borrador del libro de la materia.
- 01/09/2015: Se publicó el práctico 2 completo. Se publicaron las fechas de los parciales.
- 07/10/2015: Se publicaron los prácticos 3 y 4.
Docentes
Teórico/Práctico: Javier Blanco, Franco Luque, Mauricio Telechea, Demetrio Martín Vilela, Beta Ziliani, Renato Cherini.
*Laboratorio*:
Comisión Mañana: Emanuel Gunther, Juan Cruz Rodríguez, Marco Rochietti.
Ayudantes: Franco Margaría, Iliak Zapata.
Comisión Tarde: Martín Domínguez, Leonardo Rodríguez, Demetrio Vilela.
Ayudantes: Bonader, Piloni, Schmidt.
Horarios
Teórico/Practico: martes y jueves de 9 a 13 hs, aula D4 (Baterías D).
Laboratorio comisión mañana: miércoles de 9 a 13 hs, Lab. 30.
Laboratorio comisión tarde: miércoles de 14 a 18 hs, Lab. 30.
Regularidad / Promoción
- Para regularizar la materia: 2 parciales aprobados con nota >= 4 o un recuperatorio equivalente y el taller aprobado.
- Para promocionar la materia: 2 parciales aprobados con nota >= 6, promedio >= 7.5 y el taller aprobado.
- Para rendir libre la materia, hay condiciones particulares respecto al taller. Ver Modalidad del taller para los detalles.
Nota: El taller también se considerará aprobado si lo fue en el primer cuatrimestre de 2015.
Fechas de parciales y recuperatorio
- Primer parcial: 15/09/2015
- Segundo parcial: 10/11/2015
- Recuperatorios: 17/11/2015
Material
“Borrador” del libro de la materia:
Programación funcional:
- Digesto de axiomas y teoremas para cálculo proposicional y cuantificadores.
- Digesto de funciones de listas y propiedades.
Programación imperativa:
- Digesto para la programación imperativa.
Prácticos
- Práctico 1 - Cálculo proposicional y expresiones cuantificadas.
- Práctico 2 - Especificación, derivación y verificación de programas funcionales.
- Práctico 3 - Introducción a la programación imperativa.
- Práctico 4 - Introducción al cálculo de programas imperativos.
- Práctico 5 - Programación imperativa.
Laboratorio
Enunciado | Teóricos | Fecha corrección | |
---|---|---|---|
Presentación | Presentación | ||
Proyecto 1 | Proyecto 1 | Linux y consola | 2/9 |
Ejercicios de Haskell. | |||
Haskell, GHCI, secciones, map, filter | |||
Tipos, polimorfismo, clases de tipos y más | |||
Proyecto 2 | Proyecto 2 | Ejemplos tipos de datos (archivo .hs) | 23/9 |
Tipos de datos en Haskell | |||
Tipos de datos, deriving, case, Maybe | |||
Proyecto 3 | Proyecto 3(Archivos HAL) | Presentación de HAL | 28/10 |
Modelo Computacional | |||
Ejemplos de programas en HAL | |||
Instalar HAL | |||
Proyecto 4 | Proyecto 4 | Programación C, GDB; Ejemplo de funciones en C | |
Archivos complementarios Proy. 4 | Teórico de Arreglos, Código Arreglo, Ejemplo de inicialización de arreglos; Teórico de Estructuras, Struct, Struct 2 | 25/11 |
Ejemplos de programas en C:
- Proyecto 4 :
- Código C: Hello, World!
- Código C: Assignación múltiple
- Código C: While
Enunciados y teóricos del año pasado:
- Código C: Collatz
- Introduccion a GDB. Por Marco Brunello y Leandro Ramos. Presentación, ejemplos.
Resumen de comandos de consola Linux y un libro sobre el tema.
Calendario tentativo
Taller
- 12/8: Presentación Proyecto 1 y auto-repaso linux
- 19/8: Teórico de Taller: Haskell, GHCI, secciones, map, filter.
- 26/8: Teórico de Taller: Tipos, clases de tipos y más.
- 2/9: Corrección Proyecto 1. Presentación Proyecto 2.
- 9/9: Teórico de Taller: Tipos de datos, deriving, case, Maybe.
- 23/9: Corrección proyecto 2. Presentación Proyecto 3.
- 30/9: FERIADO
- 7/10: Presentación de proyecto 3. Teórico primera parte. Uso de Hal
- 14/10: Teórico semántica.
- 28/10: Corrección proyecto 3. Presentación proyecto 4
- 4/11: Teórico de Taller: Programación C, GDB.
- 11/11: Teórico de Taller: Arreglos y Estructuras en C.
- 25/11: Corrección proyecto 4.