Herramientas de usuario

Herramientas del sitio


algo1:2017-1

Algoritmos y Estructuras de Datos I - 2017 1er cuatrimestre

Docentes

Teórico/Práctico: Damián Barsotti, Demetrio Martín Vilela, Ignacio Moretti.

Laboratorio: Martín Domínguez, Paula Estrella, Juan Cruz Rodríguez.

Ayudantes: Diego Piloni, Matias Gastón Silva, Meriles Emanuel Juan René.

Horarios

Teórico/Practico: martes y jueves de 14 a 18 hs, aula 25.

Laboratorio: lunes 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 segundo cuatrimestre de 2015.

Fechas de parciales y recuperatorio

Material

“Borrador” del libro de la materia:

Programación funcional:

  • Digesto de axiomas y teoremas para cálculo proposicional y expresiones cuantificadas.
    • Anexo (axiomas y teoremas cuantificador de conteo).
  • Digesto de funciones de listas y propiedades.

Programación imperativa:

Más bibliografía y material acá.

Prácticos

Acá pondremos los 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 - Programación imperativa.

Parciales, recuperatorios y finales

Laboratorio

Calendario Tentativo

Acá pondremos el calendario completo de la materia como esperamos darla.

Teórico Práctico

  • 14/3 Presentación de la materia. Derivación y verificación de programas. Practico 1. Expresiones Cuantificadas.
  • 16/3 Reglas para la cuantificación general.
  • 21/3 Cuantificador N. Análisis por casos y pruebas de implicación descargando antecedentes.
  • 23/3 Consulta.
  • 28/3 Practico 2. Inducción. Demostración por inducción de propiedades. Inducción sobre listas. Recursión lineal ej. 3.
  • 30/3 Recursión lineal. Modularización.
  • 4/4 Esquemas inductivos. Generalización por abstracción.
  • 6/4 Consulta. Segmentos.
  • 11/4 Consulta.
  • 13/4 Feriado
  • 18/4 1er Parcial
  • 20/4 Practico 3 (Modelo computacional imperativo). Estados y transiciones. Anotaciones con predicados.
  • 25/4 Terna de Hoare. Weakest Precondition (asignación, composición secuencial).
  • 27/4 Weakest Precondition (if).
  • 2/5 Teorema de la invariancia.
  • 4/5 Derivación de asignación e if.
  • 9/5 Derivación con invariantes.
  • 11/5 Arreglos
  • 16/5 Practico 4. Tecnicas para encontrar invariantes: termino de la conjunción.
  • 18/5 Técnica de reemplazo cte. por variable.
  • 23/5 Semana de Mayo
  • 25/5 Feriado
  • 30/5 Técnica de fortalecimiento de invariantes.
  • 1/6 Problemas de Borde.
  • 6/6 Consulta.
  • 8/6 2do Parcial
  • 13/6 Problemas de Borde. Consulta.
  • 15/6 Consulta
  • 20/6 Feriado
  • 22/6 Recuperatorio

Taller

  • 13/3: Presentación Proyecto 1 y auto-repaso linux
  • 20/3: Teórico de Taller: Haskell, GHCI, secciones, map, filter.
  • 27/3: Teórico de Taller: Tipos, clases de tipos y más.
  • 3/4: Corrección Proyecto 1. Presentación Proyecto 2.
  • 10/4: Teórico de Taller: Tipos de datos, deriving, case, Maybe.
  • 24/4: Corrección proyecto 2. Presentación Proyecto 3.
  • 8/5: Teórico primera parte. Uso de Hal - Teórico semántica.
  • 22/5: Corrección proyecto 3. Presentación proyecto 4
  • 29/5: Teórico de Taller: Programación C, GDB.
  • 5/6: Teórico de Taller: Arreglos y Estructuras en C.
  • 19/6: Corrección proyecto 4.

Bitácora

Acá pondremos lo que efectivamente fuimos dando en cada clase.

  • 14/3 Presentación de la materia.Expresiones Cuantificadas. Pueden hacer ejercicios 1-9 y 12-14(cuantgen).
  • 16/3 Paro
  • 21/3 Paro
  • 23/3 Axiomas y teoremas de la cuantificación general (digesto). Cuantificador N. Análisis por casos y pruebas de implicación descargando antecedentes. Pueden ir haciendo los ejercicios 3 a 9 y 12 a 14
  • 27/3 Práctico 2. Demostración vs. derivación. Pueden ir haciendo hasta el 4 inclusive.
  • 30/3 Paro
  • 4/4 Modularización. Esquemas inductivos.
  • 6/4 Paro
  • 11/4 Paro
  • 13/4 Feriado.
  • 18/4 1er Parcial
  • 20/4 Generalización.
  • 25/4 Segmentos.
  • 27/4 Práctico 3: Introducción a la programación imperativa. Modelo computacional imperativo. Sintaxis y semántica con estados de skip, asignación (:=), composición (;), condicional (if) y de la repetición (do).
  • 2/5 Terna de Hoare. wp de skip, asignación (:=)
algo1/2017-1.txt · Última modificación: 2018/08/10 03:03 por 127.0.0.1