algo1:2013-2
Tabla de Contenidos
Algoritmos y Estructuras de Datos I
Docentes
Teórico/práctico: Damián Barsotti, Matías Lee, Franco Luque, Demetrio Martín Vilela, Leonardo Rodríguez, Mauricio Telechea.
Laboratorio: Martín Dominguez, Guillaume Hoffmann, Diego Dubois, Renato Cherini, Demetrio Martín Vilela, Agus Capello, Alejandro José Naser Pastoriza, Schmidt Mariano.
Horarios
Teórico/Practico: martes y jueves de 9 a 13 hs, aula D4.
Laboratorio: miércoles de 14 a 18 hs., Lab. 28 y 30.
Novedades
- Url corto de la materia como http://tinyurl.com/algo1-2013-2.
- Creada aula virtual.
Regularidad / Promoción
- Para regularizar la materia: 2 parciales aprobados con nota > 3 o un recuperatorio equivalente y el taller aprobado.
- Para promocionar la materia: 2 parciales aprobados con nota >= 6, promedio >= 8 y el taller aprobado.
- Para rendir libre la materia: seguiremos la modalidad del dictado ordinario de la materia, que aparece en “Condiciones para rendir libre el taller” en la página de la materia del año pasado.
Nota: El taller también se considerará aprobado si lo fue en el primer cuatrimestre del año 2013.
Parciales
- Notas primer parcial algoritmos_i_2013_segundo_cuatrimestre_-_teorico.pdf.
- Notas segundo parcial algoritmos_i_2013_segundo_cuatrimestre_-_teorico_par2_full2.pdf.
- Recuperatorio y condición final algoritmos_i_2013_segundo_cuatrimestre_recup_condf.pdf.
Finales
Bitácora
- 13/8 Presentación de la materia. Derivación y verificación de programas. Practico 1. Expresiones Cuantificadas. Dado ejercicio 3 a. Pueden hacer hasta el ejercicio 4.
- 15/8 Reglas para la cuantificación general.
- 20/8 Ejercicio del rango unitario para N el cual introduce los conceptos de prueba de análisis por casos y pruebas de implicación descargando antecedentes. Esto último para B ⇒ E, B ⇒ E = E', B1 /\ B2 ⇒ E (usando intercambio).
- 22/8 Practico 2. Inducción. Demostración por inducción de propiedades. Inducción sobre listas. Hasta ej 2.
- 27/8 Derivación de recursión lineal. Hasta ejercicio 4.
- 29/8 Modularización. Tratan de hacer en el práctico lo de esquemas inductivos.
- 3/9 Esquemas inductivos con ejercicio 5. Tuplas (ejercicio 7.a).
- 5/9 Generalizacion por abstraccion: ejercicio 8.a) psum.
- 10/9 Ejercicio sum_ant. Consulta. Hasta ej 9.
- 12/9 Segmentos. Ejercicio suma mínima de un segmento.
- 17/9 Semana del estudiante.
- 19/9 Semana del estudiante.
- 24/9 Consulta de práctico.
- 26/9 Parcial.
- 1/10 Practico 3 Modelo computacional imperativo. Hasta ej 2
- 3/10 Terna de Hoare. Weakesr Precondition. Wp de asignacion. Hasta ejercicio 3.e). Chun da wp del if
- 8/10 wp del if. Especificación y derivación. Hasta ejercicio 5.d
- 10/10 Teorema de la invariancia. Ej 5.e y f
- 15/10 Derivación de asignaciones y if (ej 6 y 7). Pueden hacer hasta el ejercicio 8.
- 17/10 Derivación mcd. Salte el ej 9 (arreglos)
- 22/10 Exp de ejercicio 10. Practico 4. Tecnicas para encontrar invariantes: termino de la conjunción. Algoritmo de la division
- 24/10 Arreglos y ejercicio 2 Practico 4. Pueden hacer hasta el 4.
Bibliografía / Media
Haskell
Lenguaje C
Lecturas recomendadas
- Why Functional Programming Matters John Hughes.
- Voto electrónico. Los riesgos de una ilusión. Federico Heinz.
Media
- Charla sobre Software Libre de Federico Heinz 6/5/2013.
Prácticos
- Digesto de axiomas y teoremas para cálculo proposicional y expresiones cuantificadas.
- Digesto para la programación imperativa.
- Práctico 1 - Repaso 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 - Programación imperativa.
Calendario tentativo
- 13/8 Presentación de la materia. Practico 1 (lógica). Expresiones Cuantificadas.
- 15/8 Reglas para la cuantificación general.
- 20/8 Cuantificador de conteo. Pruebas de implicaciones y por casos.
- 22/8 Practico 2 (programación funcional). Inducción. Demostración por inducción de propiedades. Esquemas de inducción (k-induccion, induccion generalizada). Inducción sobre listas.
- 27/8 Derivación de recursión lineal.
- 29/8 Modularización.
- 3/9 Tuplas. Esquemas inductivos.
- 4/9 Corrección Proyecto 1 laboratorio.
- 5/9 Generalizacion por abstraccion.
- 10/9 Consulta.
- 12/9 Segmentos.
- 17/9 Semana del Estudiante.
- 19/9 Semana del Estudiante.
- 24/9 Repaso/Consulta.
- 25/9 Corrección Proyecto 2 laboratorio.
- 26/9 Parcial.
- 1/10 Practico 3. Modelo computacional imperativo.
- 3/10 Ternas de Hoare.
- 8/10 Precondición más débil (weakest precondition).
- 10/10 Repetición (bucles). Teorema de la invariancia.
- 15/10 Derivación imperativa (asignación e if).
- 16/10 Corrección Proyecto 3 laboratorio.
- 17/10 Demostración con invariantes.
- 22/10 Repaso/Consulta.
- 24/10 Practico 4. Tecnicas para encontrar invariantes: termino de la conjunción.
- 29/10 Técnica de reemplazo cte. por variable.
- 31/10 Técnica de predicados intermedios.
- 5/11 Técnica de fortalecimiento de invariantes.
- 6/11 Corrección Proyecto 4 laboratorio.
- 7/11 Problemas de Borde.
- 12/11 Consulta/Repaso.
- 14/11 Parcial.
- 19/11 Problemas de asignación de arreglos.
- 21/11 Recuperatorio.
- 27/11 Corrección Proyecto 5 laboratorio.
Laboratorio
Enunciado | Teóricos | Fecha corrección | |
---|---|---|---|
Presentación | Introducción a la materia | ||
Proyecto 1 | Proyecto 1 | Linux y consola | 4/9 |
Haskell, GHCI, secciones, map, filter | |||
Tipos, clases de tipos y más | |||
Proyecto 2 | Proyecto 2 | Ejemplos tipos de datos (archivo .hs) | 25/9 |
Tipos de datos, deriving, case, Maybe | |||
Proyecto 3 | Proyecto 3 (Archivos) | Módulos, TADs, instanciaciones de clases | 16/10 |
Lista con invariante de orden (archivo .hs) | |||
Proyecto 4 | Proyecto 4 | Programación C, GDB | 6/11 |
Proyecto 5 | Proyecto 5 | Arreglo, Inicialización; Struct, Struct 2 | 27/11 |
Enunciados y teóricos del año pasado:
- Proyecto 4 / Proyecto 5:
- Código C: Hello, World!
- Código C: Assignación múltiple
- Código C: While
- Código C: Mcd
- Código C: Mcd con función
- 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.
Información para Docentes
Bitácora tentativa del teórico/práctico
- 13/8 Presentación de la materia. Derivación y verificación de programas. Practico 1. Expresiones Cuantificadas. Dado ejercicio 3 a. Pueden hacer hasta el ejercicio 4.
- 15/8 Reglas para la cuantificación general.
- 20/8 Ejercicio del rango unitario para N el cual introduce los conceptos de prueba de análisis por casos y pruebas de implicación descargando antecedentes. Esto último para B ⇒ E, B ⇒ E = E', B1 /\ B2 ⇒ E (usando intercambio).
- 22/8 Practico 2. Inducción. Demostración por inducción de propiedades. Inducción sobre listas. Hasta ej 2.
- 27/8 Derivación de recursión lineal. Hasta ejercicio 4.
- 29/8 Ejercicio 6 de modularización. Suma de potencias en clase.
- 3/9 Tuplas (ejercicio 7.a). Esquemas inductivos con ejercicio 5.
- 5/9 Generalizacion por abstraccion: ejercicio 8.a) psum.
- 10/9 Ejercicio sum_ant. Consulta. Hasta ej 9.
- 12/9 Segmentos. Ejercicio suma mínima de un segmento.
- 17/9 Semana del estudiante.
- 19/9 Semana del estudiante.
- 24/9 Consulta de práctico.
- 26/9 Parcial.
- 1/10 Practico 3 Modelo computacional imperativo. Hasta ej 2
- 3/10 Terna de Hoare. Weakesr Precondition. Wp de asignacion. Hasta ejercicio 3.e). Chun da wp del if
- 8/10 wp del if. Especificación y derivación. Hasta ejercicio 5.d
- 10/10 Teorema de la invariancia. Ej 5.e y f
- 15/10 Derivación de asignaciones y if (ej 6 y 7). Pueden hacer hasta el ejercicio 8.
- 17/10 Derivación mcd. Salte el ej 9 (arreglos)
- 22/10 Ej 9. Exp de ejercicio 10
- 24/10 Practico 4. Tecnicas para encontrar invariantes: termino de la conjunción. Ejercicios 1 y 2 en clase. Pueden hacer hasta el 4.
- 29/10 Técnica de reemplazo cte. por variable. Ej 6 y 6.a). Pueden hacer hasta ej 8
- 31/10 Técnica de predicados intermedios Ej 9 y 11.a)
- 5/11 Técnica de fortalecimiento de invariantes. Ej 12
- 7/11 Problemas de Borde.
- 12/11 Problemas de Borde. Consulta.
- 14/11 Parcial.
- 19/11 Problema de asignación de arreglos. Consulta.
- 21/11 Recuperatorio.
algo1/2013-2.txt · Última modificación: 2018/08/10 03:03 por 127.0.0.1