Diferencia entre revisiones de «Algoritmos y Estructuras de Datos I»
CubaWiki>Qu aos Sin resumen de edición |
CubaWiki>Qu aos Sin resumen de edición |
||
Línea 1: | Línea 1: | ||
__NOTOC__ | __NOTOC__ | ||
''' | '''Introducción a la Programación''' anteriormente algoritmos I es una de las materias del [[Plan de la Carrera#Primer año|Primer año]] que no tiene correlativas a demas del [[Lista de materias de computación#Materias del CBC|CBC]]. | ||
<br> En ella se introduce el concepto de especificación que define el qué y no el cómo de un problema, ayudando a eliminar la ambigüedad de las palabras, usando lógica de primer orden luego, se ve implementación de problemas que consiste en programar algoritmos que cumplan una especificación dada.</br> | |||
Según el [[Plan de la Carrera]] (2023) esta es una materia necesaria junto con [[Álgebra I]] para cursar [[Algoritmos y Estructuras de Datos II|Algoritmos y Estructuras de Datos]]. | |||
== Información General sobre la Cursada == | == 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 | Algoritmos I consiste de clases teóricas, prácticas y de laboratorio. Para aprobar la materia se deben rendir un examen parcial, un trabajo practico y entregar ejercicios de Laboratorio (CMS). | ||
La materia se cursa los Lunes, | La materia se cursa los Lunes y jueves de 9 a 14 hs, 12 a 17 hs y 17 a 22hs. | ||
== Contenidos == | == Contenidos == |
Revisión del 18:25 11 abr 2023
Introducción a la Programación anteriormente algoritmos I es una de las materias del Primer año que no tiene correlativas a demas del CBC.
En ella se introduce el concepto de especificación que define el qué y no el cómo de un problema, ayudando a eliminar la ambigüedad de las palabras, usando lógica de primer orden luego, se ve implementación de problemas que consiste en programar algoritmos que cumplan una especificación dada.
Según el Plan de la Carrera (2023) esta es una materia necesaria junto con Álgebra I para cursar Algoritmos y Estructuras de Datos.
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 un examen parcial, un trabajo practico y entregar ejercicios de Laboratorio (CMS). La materia se cursa los Lunes y jueves de 9 a 14 hs, 12 a 17 hs y 17 a 22hs.
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:
- Especificación formal de contratos: tipos de datos básicos, secuencias, n-uplas, operadores de lógica condicionales (cand y cor) y sus propiedades
- Demostración de corrección parcial: precondicicón más débil. Teorema de corrección parcial para ciclos. Invariantes de ciclo.
- 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
- Prácticas 1-9 de 2020 resueltas
- Prácticas 1er cuatrimestre 2022
- Práctica 1: Lógica Proposicional y Tipos Básicos
- Práctica 2: Secuencias
- Práctica 3: Cuantificadores
- Práctica 4: Especificación de Problemas
- Práctica 5: Tipos
- Práctica 6: Funcional Básica
- Práctica 7: Listas
- Práctica 8: Tipos compuestos
Parciales
Primeros parciales (Especificación)
Año | Cuatrimestre | Fecha | Instancia | Links |
---|---|---|---|---|
2022 | Segundo Cuatrimestre | 16/09/2022 | Parcial | enunciado + resolución (pdf) |
2022 | Segundo Cuatrimestre | 16/09/2022 | Parcial | enunciado + resolución (pdf) |
2022 | Primer Cuatrimestre | 04/07/2022 | Recuperatorio | enunciado + resolución (pdf) |
2022 | Primer Cuatrimestre | 16/05/2022 | Parcial | enunciado + resolución (pdf) |
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
- Parciales de funcional
- Parcial del 20/05/2013
- Recuperatorio del 08/07/2013
- Parcial del 09/10/2013
- Recuperatorio del 04/12/2013
Finales
- Final del 23-04-2019
- Final Online del 16-12-2020
- Final Online del 19-02-2021
- Final del 04-08-2021 (Marenco)
- Final del 15-09-2021
- Final del 09-12-2021 (Marenco), resolución
- Final del 17-02-2022 (Diego Garbervetsky)
- Final del 15-06-2022
- Final del 02-08-2022 (Diego Garbervetsky)
- Final del 14-12-2022 (Diego Garbervetsky - Martín Urtasun)
Apuntes
- Slides de teóricas y prácticas - 1C 2023
- Guía de Instalación de CLion IDE C++ con Licencia Estudiantil
- Resumen de Clases Teóricas y Practicas - 1C Online 2020
- El Respositorio de Fede: Apuntes de las Clases Teóricas, Ejercicios y Parciales Resueltos y Material Adicional - Segundo Cuatrimestre 2019
- Apuntes del lenguaje de especificación
- Apuntes de funcional: Apuntes y resumenes de programacion en funcional.
- Resumen Teórico (Incompleto)
- Apunte de Testing