Diferencia entre revisiones de «Introducción a la Programación»

De Cuba-Wiki
Línea 87: Línea 87:
! Año  !! Cuatrimestre        !! Fecha      !! Instancia    !! Links
! Año  !! Cuatrimestre        !! Fecha      !! Instancia    !! Links
|-
|-
|| 2021 || Segundo Cuatrimestre || 19/11/2021 || Parcial Online ||  
|| 2021 || Segundo Cuatrimestre || 19/11/2021 || Parcial Online || [[Media:AED1_2parcial_19-11-21.pdf |enunciado (pdf) ]],  
[[Media:AED1_2parcial_19-11-21.pdf |enunciado (pdf) ]],  
[[Media:AED1_2parcial_res_19-11-21.pdf|resolución (pdf) ]]
[[Media:AED1_2parcial_res_19-11-21.pdf|resolución (pdf) ]]
|-
|-
|| 2021 || Primer Cuatrimestre || 23/06/2021 || Parcial Online ||  
|| 2021 || Primer Cuatrimestre || 23/06/2021 || Parcial Online || [[Media:AED1_2parcial_23-06-21.pdf|enunciado (pdf) ]],  
[[Media:AED1_2parcial_23-06-21.pdf|enunciado (pdf) ]],  
[[Media:AED1_2parcialr_23-06-21.pdf|resolución (pdf) ]]
[[Media:AED1_2parcialr_23-06-21.pdf|resolución (pdf) ]]
|-
|-
|| 2020 || Segundo Cuatrimestre || 09/12/2020 || Recuperatorio Online ||  
|| 2020 || Segundo Cuatrimestre || 09/12/2020 || Recuperatorio Online || [[Media:AED1_recup_09-12-20.pdf|enunciado (pdf) ]]
[[Media:AED1_recup_09-12-20.pdf|enunciado (pdf) ]]
|-
|-
|| 2020 || Segundo Cuatrimestre || 19/11/2020 || Parcial Online ||  
|| 2020 || Segundo Cuatrimestre || 19/11/2020 || Parcial Online || [[Media:AED1_2parcial_19-11-20.pdf|enunciado (pdf) ]]
[[Media:AED1_2parcial_19-11-20.pdf|enunciado (pdf) ]]
|-
|-
|| 2019 || Segundo Cuatrimestre || 15/11/2019 || Parcial ||  
|| 2019 || Segundo Cuatrimestre || 15/11/2019 || Parcial || [[Media:AED1_2parcial_15-11-2019_resuelto.pdf|enunciado + resolución (pdf) ]]
[[Media:AED1_2parcial_15-11-2019_resuelto.pdf|enunciado + resolución (pdf) ]]
|-
|-
|| 2019 || Primer Cuatrimestre || 24/06/2019 || Parcial ||  
|| 2019 || Primer Cuatrimestre || 24/06/2019 || Parcial || [[Media:AED1_2parcial_24-06-2019.pdf|enunciado + resolución (pdf) ]]
[[Media:AED1_2parcial_24-06-2019.pdf|enunciado + resolución (pdf) ]]
|-
|-
|| 2018 || Segundo Cuatrimestre || 23/11/2018 || Parcial ||  
|| 2018 || Segundo Cuatrimestre || 23/11/2018 || Parcial || [[Media:AED1_2parcial_23-11-18.jpg|enunciado (pdf) ]]
[[Media:AED1_2parcial_23-11-18.jpg|enunciado (pdf) ]]
|-
|-
|| 2018 || Primer Cuatrimestre || 22/06/2018 || Parcial ||  
|| 2018 || Primer Cuatrimestre || 22/06/2018 || Parcial || [[Media:AED1_2parcial_22-06-18.pdf|enunciado (pdf) ]]
[[Media:AED1_2parcial_22-06-18.pdf|enunciado (pdf) ]]
|-
|-
|| 2017 || Primer Cuatrimestre || 24/11/2017 || Parcial ||  
|| 2017 || Primer Cuatrimestre || 24/11/2017 || Parcial || [[Media:segundoParcialAlgo1_24-11-17.pdf|enunciado (pdf) ]]
[[Media:segundoParcialAlgo1_24-11-17.pdf|enunciado (pdf) ]]
|-
|-
|| 2017 || Primer Cuatrimestre || 14/07/2017 || Recuperatorio ||  
|| 2017 || Primer Cuatrimestre || 14/07/2017 || Recuperatorio || [[Media:recuSegundoParcialAlgo1_14-7-17.pdf|enunciado (pdf) ]]
[[Media:recuSegundoParcialAlgo1_14-7-17.pdf|enunciado (pdf) ]]
|-
|-
|| 2017 || Primer Cuatrimestre || 30/06/2017 || Parcial ||  
|| 2017 || Primer Cuatrimestre || 30/06/2017 || Parcial || [[Media:AED1_2parcial_30-06-17_resuelto.pdf|enunciado + resolución (pdf) ]]
[[Media:AED1_2parcial_30-06-17_resuelto.pdf|enunciado + resolución (pdf) ]]
|-
|-
|| 2016 || Segundo Cuatrimestre || 18/11/2016 || Parcial ||  
|| 2016 || Segundo Cuatrimestre || 18/11/2016 || Parcial || [[Media:AED1_2parcial_18-11-16_resuelto.pdf|enunciado + resolución (pdf) ]]
[[Media:AED1_2parcial_18-11-16_resuelto.pdf|enunciado + resolución (pdf) ]]
|-
|-
|| 2016 || Primer Cuatrimestre || 27/06/2016 || Parcial ||  
|| 2016 || Primer Cuatrimestre || 27/06/2016 || Parcial || [[Media:AED1_2parcial_27-06-16_resuelto.pdf|enunciado + resolución (pdf) ]]
[[Media:AED1_2parcial_27-06-16_resuelto.pdf|enunciado + resolución (pdf) ]]
|-
|-
|| 2015 || Segundo Cuatrimestre || 20/11/2015 || Parcial ||  
|| 2015 || Segundo Cuatrimestre || 20/11/2015 || Parcial || [[Media:AED1_2parcial_20-11-15.pdf|enunciado (pdf) ]]
[[Media:AED1_2parcial_20-11-15.pdf|enunciado (pdf) ]]
|-
|-
|| 2015 || Primer Cuatrimestre || 26/06/2015 || Parcial ||  
|| 2015 || Primer Cuatrimestre || 26/06/2015 || Parcial || [[Media:AED1_2parcial_26-06-15_resuelto.pdf|enunciado + resolución (pdf) ]]
[[Media:AED1_2parcial_26-06-15_resuelto.pdf|enunciado + resolución (pdf) ]]
|-
|-
|| 2013 || Segundo Cuatrimestre || 18/11/2013 || Parcial ||  
|| 2013 || Segundo Cuatrimestre || 18/11/2013 || Parcial || [[Media:imp2C2013.pdf|enunciado (pdf) ]]
[[Media:imp2C2013.pdf|enunciado (pdf) ]]
|-
|-
|| 2013 || Primer Cuatrimestre || 24/06/2013 || Parcial ||  
|| 2013 || Primer Cuatrimestre || 24/06/2013 || Parcial || [[Media:imp1C2013.pdf|enunciado (pdf) ]]
[[Media:imp1C2013.pdf|enunciado (pdf) ]]
|}
|}



Revisión del 02:21 14 jun 2022

Algoritmos I es la primera materia propia de la carrera. En la primera parte, se introduce el concepto de especificación que define el que y no el cómo de un problema, que ayuda a eliminar la amigüedad de las palabras, usando lógica de primer orden. En la segunda parte, se ve implementación de problemas que consiste en programar programas en C++ que cumplan una especificación dada. Según el Plan de la Carrera es una materia a ser cursada en Primer año. Es correlativa con Álgebra I y necesaria para cursar Algoritmos y Estructuras de Datos II, Organización del Computador l y Métodos Numéricos.

Información General sobre la Cursada

Algoritmos I consiste de clases teóricas, prácticas y de laboratorio. Para aprobar la materia se deben rendir 2 exámenes parciales (especificación e implementación) y 2 trabajos prácticos. La materia se cursaba antiguamente los Lunes, Miércoles y Viernes de 17 a 22hs. Ahora también puede cursarse a la mañana y a la tarde.

Contenidos

Parte I - Corrección de programas imperativos:

  • Contratos. Obligaciones y derechos del programador y del usuario
  • Conceptos básicos de los programas imperativos: variables - estructuras de control - funciones - ciclos
  • Corrección de programas:
  1. Especificación formal de contratos: tipos de datos básicos, secuencias, n-uplas, operadores de lógica condicionales (cand y cor) y sus propiedades
  2. Demostración de corrección parcial: precondicicón más débil. Teorema de corrección parcial para ciclos. Invariantes de ciclo.
  3. Demostración de terminación: Función variante

Parte II - Algoritmos sobre secuencias

  • Buenas prácticas para el desarrollo de software. El software pensado para consumo humano.
  • Fundamentos de testing estructural: cubrimiento de líneas, branches, condiciones básicas. Diagramas de flujo de control.
  • Tiempo de ejecución de peor caso de un algoritmo. Notación O grande.
  • Algoritmos de búsqueda sobre secuencias: búsqueda lineal, búsqueda binaria
  • Algoritmos de ordenamiento sobre secuencias: ordenamiento por selección, ordenamiento por inserción, ordenamiento por burbujea, problema de la bandera holandesa
  • Algoritmos sobre secuencias ordenadas: problema de apareo entre secuencias, problema del welfare crook
  • Algoritmos de matching de strings: algoritmo ingenuo de búsqueda de patrones, algoritmo Knuth-Morris-Pratt

Prácticas

Parciales

Primeros parciales (Especificación)

Año Cuatrimestre Fecha Instancia Links
2021 Segundo Cuatrimestre 15/10/2021 Parcial Online enunciado + resolución (pdf)
2021 Primer Cuatrimestre 28/06/2021 Recuperatorio Online enunciado (pdf)
2021 Primer Cuatrimestre 19/05/2021 Parcial Online enunciado (pdf)
2020 Segundo Cuatrimestre 27/11/2020 Recuperatorio Online enunciado (pdf)
2020 Segundo Cuatrimestre 21/10/2020 Parcial Online enunciado (pdf)
2019 Primer Cuatrimestre 10/05/2019 Parcial enunciado + resolución (pdf)
2018 Segundo Cuatrimestre 17/10/2018 Parcial enunciado + resolución (pdf)
2017 Segundo Cuatrimestre 6/10/2017 Parcial enunciado (pdf)
2017 Primer Cuatrimestre 12/05/2017 Parcial enunciado + resolución (pdf)
2016 Segundo Cuatrimestre 14/09/2016 Parcial enunciado + resolución (pdf)
2016 Primer Cuatrimestre 25/04/2016 Parcial enunciado + resolución (pdf)
2015 Segundo Cuatrimestre 18/09/2015 Parcial enunciado (pdf)
2015 Primer Cuatrimestre 24/04/2015 Parcial enunciado + resolución (pdf)
2015 Primer Cuatrimestre 24/04/2015 Parcial enunciado (pdf)
2013 Segundo Cuatrimestre 27/11/2013 Recuperatorio enunciado (pdf)
2013 Segundo Cuatrimestre 13/09/2013 Parcial enunciado (pdf)
2013 Primer Cuatrimestre 28/06/2013 Recuperatorio enunciado (pdf)
2013 Primer Cuatrimestre 17/04/2013 Parcial enunciado (pdf)

Segundos parciales (Imperativo)

Año Cuatrimestre Fecha Instancia Links
2021 Segundo Cuatrimestre 19/11/2021 Parcial Online enunciado (pdf) ,

resolución (pdf)

2021 Primer Cuatrimestre 23/06/2021 Parcial Online enunciado (pdf) ,

resolución (pdf)

2020 Segundo Cuatrimestre 09/12/2020 Recuperatorio Online enunciado (pdf)
2020 Segundo Cuatrimestre 19/11/2020 Parcial Online enunciado (pdf)
2019 Segundo Cuatrimestre 15/11/2019 Parcial enunciado + resolución (pdf)
2019 Primer Cuatrimestre 24/06/2019 Parcial enunciado + resolución (pdf)
2018 Segundo Cuatrimestre 23/11/2018 Parcial enunciado (pdf)
2018 Primer Cuatrimestre 22/06/2018 Parcial enunciado (pdf)
2017 Primer Cuatrimestre 24/11/2017 Parcial enunciado (pdf)
2017 Primer Cuatrimestre 14/07/2017 Recuperatorio enunciado (pdf)
2017 Primer Cuatrimestre 30/06/2017 Parcial enunciado + resolución (pdf)
2016 Segundo Cuatrimestre 18/11/2016 Parcial enunciado + resolución (pdf)
2016 Primer Cuatrimestre 27/06/2016 Parcial enunciado + resolución (pdf)
2015 Segundo Cuatrimestre 20/11/2015 Parcial enunciado (pdf)
2015 Primer Cuatrimestre 26/06/2015 Parcial enunciado + resolución (pdf)
2013 Segundo Cuatrimestre 18/11/2013 Parcial enunciado (pdf)
2013 Primer Cuatrimestre 24/06/2013 Parcial enunciado (pdf)

Parciales de Funcional

Finales

Apuntes

Enlaces Externos