Edición de «Introducción a la Programación»
De Cuba-Wiki
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
__NOTOC__ | |||
'''Introducción a la Programación''' (anteriormente Algoritmos y Estructuras de Datos I) es una de las materias del [[Plan de la Carrera#Primer año|Primer año]] que no tiene correlativas además del [[Lista de materias de computación#Materias del CBC|CBC]]. | |||
<br> En ella se introduce el concepto de especificación, que define las precondiciones y poscondiciones de un algoritmo (el "qué" en vez del "cómo") usando lógica de primer orden, ayudando a eliminar la ambigüedad de las palabras. 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 == | |||
Introducción a la Programación 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. | |||
== Información | |||
Introducción a la Programación consiste de clases teóricas, prácticas y de laboratorio. Para aprobar la materia se deben rendir | |||
La materia se cursa los Lunes y | |||
== Apuntes == | == Apuntes == | ||
*[https://yielding-eyeliner-2a6.notion.site/9bd81790733c47bdb6162a3989ffc236?v=7504303d05bb4b86910f032f33b540c4 Apuntes de Luloide (1er cuatrimestre 2023)] | *[https://yielding-eyeliner-2a6.notion.site/9bd81790733c47bdb6162a3989ffc236?v=7504303d05bb4b86910f032f33b540c4 Apuntes de Luloide (1er cuatrimestre 2023)] | ||
*[https://drive.google.com/drive/folders/13cQvqBbh3apPau5SSzvSCAGjocQKRjOg?usp=sharing Slides de teóricas y prácticas - 1C 2023] | *[https://drive.google.com/drive/folders/13cQvqBbh3apPau5SSzvSCAGjocQKRjOg?usp=sharing Slides de teóricas y prácticas - 1C 2023] | ||
==Prácticas== | |||
*[https://github.com/Luloide/IP Prácticas 1er cuatrimestre 2023] | |||
== Parciales (integrador) == | |||
{| class="wikitable sortable" | |||
! Año !! Cuatrimestre !! Fecha !! Instancia !! Links | |||
|- | |||
|| 2023 || Primer Cuatrimestre || 22/06/2023 || Recuperatorio Integrador || [[Medio:Iap-recuperatorio-1c-2023-consignas.pdf | Enunciado]]. | |||
|- | |||
|| 2023 || Primer Cuatrimestre || 15/06/2023 || Parcial Integrador || [[Medio:IAP_parcial_15-06-23_Dafer.pdf | Enunciado y Solucion (PDF)]]. | |||
|- | |||
|| 2023 || Primer Cuatrimestre || 15/6/2023 || Parcial || | |||
[[Medio:IAP_parcial_15-06-23.pdf | Enunciado (PDF)]], | |||
[[Medio:IP_parcial_15-06-23_resuelto.pdf| Solucion (PDF)]]. | |||
|- | |||
|| 2023 || Primer Cuatrimestre || 15/6/2023 || Parcial Integrador || | |||
[[Medio:IAP_parcial_Latex_15-06-23.pdf | Enunciado y Solucion (PDF)]]. | |||
|- | |||
|} | |||
== Algoritmos y estructuras de datos == | |||
== Contenidos == | |||
<big>'''Parte I - Corrección de programas imperativos:'''</big> | |||
*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 | |||
<big>'''Parte II - Algoritmos sobre secuencias'''</big> | |||
* 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== | ||
== | *[https://drive.google.com/file/d/14jv-nkS5yzCrp7qTBtlP9mxS7Z4XhTFi/view?usp=sharing| Prácticas 1-9 de 2020 resueltas] | ||
*[https://github.com/yagopajarino/uba-AyEd1 Prácticas 1er cuatrimestre 2022] | |||
*[[Media:P1-logica.pdf |Práctica 1: Lógica Proposicional y Tipos Básicos]] | |||
** [[Práctica 1: Lógica Proposicional y Tipos Básicos (Algoritmos I) | Solución]] | |||
*[[Media:P2-secuencias.pdf|Práctica 2: Secuencias]] | |||
** [[Práctica 2: Secuencias (Algoritmos I) | Solución]] | |||
*[[Media:P3-cuantificadores.pdf |Práctica 3: Cuantificadores]] | |||
** [[Práctica 3: Cuantificadores (Algoritmos I) | Solución]] | |||
*[[Media:P4-espec_problemas.pdf| Práctica 4: Especificación de Problemas]] | |||
** [[Práctica 4: Especificación de Problemas (Algoritmos I) | Solución]] | |||
*[[Media:P5-tipos.pdf| Práctica 5: Tipos]] | |||
** [[Práctica 5: Tipos (Algoritmos I) | Solución]] | |||
*[[Media:P6-FuncionalBasica.pdf| Práctica 6: Funcional Básica]] | |||
*[[Media:P7-listas.pdf|Práctica 7: Listas]] | |||
*[[Media:P8-TiposCompuestos.pdf| Práctica 8: Tipos compuestos]] | |||
=== Primeros parciales (Especificación) === | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! Año !! Cuatrimestre !! Fecha !! Instancia !! Links | ! Año !! Cuatrimestre !! Fecha !! Instancia !! Links | ||
|- | |- | ||
|| | || 2022 || Segundo Cuatrimestre || 28/11/2022 || Recuperatorio || [[Medio:AED1_1recu_28-11-2022.pdf | enunciado (pdf) ]], [[Medio:AED1_1recu_28-11-2022_r.pdf | resolución (pdf) ]] | ||
|- | |||
|| 2022 || Segundo Cuatrimestre || 16/09/2022 || Parcial || [[Medio:AED1_1parcial_16-09-22_danteculaciati.pdf| enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2022 || Segundo Cuatrimestre || 16/09/2022 || Parcial || [[Medio:AED1_1parcial_16-09-22.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2022 || Primer Cuatrimestre || 04/07/2022 || Recuperatorio || [[Medio:AED1_1parcial_04-07-22.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2022 || Primer Cuatrimestre || 16/05/2022 || Parcial || [[Medio:AED1_1parcial_16-05-22_resuelto.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2021 || Segundo Cuatrimestre || 15/10/2021 || Parcial Online || [[Medio:AED1_1parcial_15-10-21_resuelto.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2021 || Primer Cuatrimestre || 28/06/2021 || Recuperatorio Online || [[Medio:AED1_1recu_28-06-21.pdf|enunciado (pdf) ]] | |||
|- | |||
|| 2021 || Primer Cuatrimestre || 19/05/2021 || Parcial Online || [[Medio:AED1_1parcial_19-05-21.pdf|enunciado (pdf) ]] | |||
|- | |||
|| 2020 || Segundo Cuatrimestre || 27/11/2020 || Recuperatorio Online || [[Medio:AED1_1recu_27-11-20.pdf|enunciado (pdf) ]] | |||
|- | |||
|| 2020 || Segundo Cuatrimestre || 21/10/2020 || Parcial Online|| [[Medio:AED1_1parcial_21-10-20.pdf|enunciado (pdf) ]] | |||
|- | |||
|| 2019 || Primer Cuatrimestre || 10/05/2019 || Parcial || [[Medio:AED1_1parcial_10-5-19.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2018 || Segundo Cuatrimestre || 17/10/2018 || Parcial || [[Medio:AED1_1parcial_17-10-18.pdf| enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2017 || Segundo Cuatrimestre || 6/10/2017 || Parcial || [[Media:primerParcialAlgo1_6-10-17.pdf|enunciado (pdf) ]] | |||
|- | |||
|| 2017 || Primer Cuatrimestre || 12/05/2017 || Parcial || [[Media:AED1_1parcial_12-05-17_resuelto.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2016 || Segundo Cuatrimestre || 14/09/2016 || Parcial || [[Media:AED1_1parcial_14-09-16_resuelto.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2016 || Primer Cuatrimestre || 25/04/2016 || Parcial || [[Media:AED1_1parcial_25-04-16_resuelto.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2015 || Segundo Cuatrimestre || 18/09/2015 || Parcial || [[Media:AED1_1parcial_18-09-15.pdf|enunciado (pdf) ]] | |||
|- | |||
|| 2015 || Primer Cuatrimestre || 24/04/2015 || Parcial || [[Media:AED1_1parcial_24-04-15_resuelto.pdf|enunciado + resolución (pdf) ]] | |||
|- | |||
|| 2015 || Primer Cuatrimestre || 24/04/2015 || Parcial || [[Media:AED1_1parcial_24-04-15.pdf|enunciado (pdf) ]] | |||
|- | |||
|| 2013 || Segundo Cuatrimestre || 27/11/2013 || Recuperatorio || [[Media:RPI resuEspe2C2013.pdf|enunciado (pdf) ]] | |||
|- | |- | ||
|| | || 2013 || Segundo Cuatrimestre || 13/09/2013 || Parcial || [[Medio:espe2C2013.pdf|enunciado (pdf) ]] | ||
|- | |- | ||
|| | || 2013 || Primer Cuatrimestre || 28/06/2013 || Recuperatorio || [[Media:RPI resuEspe1C2013.pdf|enunciado (pdf)]] | ||
|- | |- | ||
|| | || 2013 || Primer Cuatrimestre || 17/04/2013 || Parcial || [[Media:img001.pdf|enunciado (pdf) ]] | ||
|} | |||
===Segundos parciales (Imperativo)=== | |||
{| class="wikitable sortable" | |||
! Año !! Cuatrimestre !! Fecha !! Instancia !! Links | |||
|- | |- | ||
|| | || 2022 || Segundo Cuatrimestre || 23/11/2022 || Parcial || [[Media:AED1_2parcial_23-11-22.pdf | enunciado (pdf) ]], [[Media:AED1_2parcial_23-11-22_r.pdf | resolución (pdf) ]] | ||
|- | |- | ||
|| | || 2021 || Segundo Cuatrimestre || 19/11/2021 || Parcial Online || [[Media:AED1_2parcial_19-11-21.pdf |enunciado (pdf) ]], [[Media:AED1_2parcial_res_19-11-21.pdf|resolución (pdf) ]] | ||
|- | |- | ||
|| | || 2021 || Primer Cuatrimestre || 23/06/2021 || Parcial Online || [[Media:AED1_2parcial_23-06-21.pdf|enunciado (pdf) ]], [[Media:AED1_2parcialr_23-06-21.pdf|resolución (pdf) ]] | ||
|- | |- | ||
|| | || 2020 || Segundo Cuatrimestre || 09/12/2020 || Recuperatorio Online || [[Media:AED1_recup_09-12-20.pdf|enunciado (pdf) ]] | ||
[[ | |||
|- | |- | ||
|| | || 2020 || Segundo Cuatrimestre || 19/11/2020 || Parcial Online || [[Media:AED1_2parcial_19-11-20.pdf|enunciado (pdf) ]] | ||
[[ | |||
|- | |- | ||
|| | || 2019 || Segundo Cuatrimestre || 15/11/2019 || Parcial || [[Media:AED1_2parcial_15-11-2019_resuelto.pdf|enunciado + resolución (pdf) ]] | ||
[[ | |||
|- | |- | ||
|| | || 2019 || Primer Cuatrimestre || 24/06/2019 || Parcial || [[Media:AED1_2parcial_24-06-2019.pdf|enunciado + resolución (pdf) ]] | ||
|- | |||
|| 2018 || Segundo Cuatrimestre || 23/11/2018 || Parcial || [[Media:AED1_2parcial_23-11-18.jpg|enunciado (pdf) ]] | |||
|- | |||
|| 2018 || Primer Cuatrimestre || 22/06/2018 || Parcial || [[Media:AED1_2parcial_22-06-18.pdf|enunciado (pdf) ]] | |||
|- | |- | ||
|| | || 2017 || Primer Cuatrimestre || 24/11/2017 || Parcial || [[Media:segundoParcialAlgo1_24-11-17.pdf|enunciado (pdf) ]] | ||
|- | |- | ||
|| | || 2017 || Primer Cuatrimestre || 14/07/2017 || Recuperatorio || [[Media:recuSegundoParcialAlgo1_14-7-17.pdf|enunciado (pdf) ]] | ||
[[ | |||
|- | |- | ||
|| | || 2017 || Primer Cuatrimestre || 30/06/2017 || Parcial || [[Media:AED1_2parcial_30-06-17_resuelto.pdf|enunciado + resolución (pdf) ]] | ||
[ | |||
|- | |- | ||
|| | || 2016 || Segundo Cuatrimestre || 18/11/2016 || Parcial || [[Media:AED1_2parcial_18-11-16_resuelto.pdf|enunciado + resolución (pdf) ]] | ||
[ | |||
|- | |- | ||
|| | || 2016 || Primer Cuatrimestre || 27/06/2016 || Parcial || [[Media:AED1_2parcial_27-06-16_resuelto.pdf|enunciado + resolución (pdf) ]] | ||
[ | |||
|- | |- | ||
|| | || 2015 || Segundo Cuatrimestre || 20/11/2015 || Parcial || [[Media:AED1_2parcial_20-11-15.pdf|enunciado (pdf) ]] | ||
[ | |||
|- | |- | ||
|| | || 2015 || Primer Cuatrimestre || 26/06/2015 || Parcial || [[Media:AED1_2parcial_26-06-15_resuelto.pdf|enunciado + resolución (pdf) ]] | ||
[ | |||
|- | |- | ||
|| | || 2013 || Segundo Cuatrimestre || 18/11/2013 || Parcial || [[Media:imp2C2013.pdf|enunciado (pdf) ]] | ||
[ | |||
|- | |- | ||
|| | || 2013 || Primer Cuatrimestre || 24/06/2013 || Parcial || [[Media:imp1C2013.pdf|enunciado (pdf) ]] | ||
[ | |||
|} | |} | ||
===Parciales de Funcional=== | |||
*[[Media:ParcialesFuncional.zip|Parciales de funcional]] | |||
*[[Media:func1C2013.pdf|Parcial del 20/05/2013]] | |||
*[[Media:recuFunc1C2013.pdf|Recuperatorio del 08/07/2013]] | |||
*[[Media:func2c2013.pdf|Parcial del 09/10/2013]] | |||
*[[Media:recuFunc2C2013.pdf|Recuperatorio del 04/12/2013]] | |||
==Finales== | |||
*[[Media:AED1_final_23-04-2019.jpg|Final del 23-04-2019]] | |||
*[[Media:AED1_final_16-12-2020.pdf|Final Online del 16-12-2020]] | |||
*[[Media:AED1_final_19-02-2021.pdf|Final Online del 19-02-2021]] | |||
*[[Media:AED1_final_04-08-2021.jpeg|Final del 04-08-2021 (Marenco)]] | |||
*[[Media:AED1_final_16-09-2021.jpeg|Final del 15-09-2021]] | |||
*[[Media:AED1_final_09-12-2021.jpg|Final del 09-12-2021 (Marenco)]], [[Media:AED1_final_09-12-2021_resuelto.pdf|resolución]] | |||
*[[Media:AED1_final_17-02-2022.png|Final del 17-02-2022 (Diego Garbervetsky)]] | |||
*[[Media:AED1_final_15-06-2022.pdf|Final del 15-06-2022]] | |||
*[[Media:AED1_final_02-08-2022.pdf|Final del 02-08-2022 (Diego Garbervetsky)]] | |||
*[[Media:algo1_final_14-12-22.jpg|Final del 14-12-2022 (Diego Garbervetsky - Martín Urtasun)]] | |||
== Apuntes == | |||
*[[Media:Labo01_CLionInstallation.pdf|Guía de Instalación de CLion IDE C++ con Licencia Estudiantil]] | |||
*[https://docs.google.com/document/d/1b8vm_PoiRftVKyE-9Tlwa-VAs9AobXe0GOpHJkO4rEg/edit?usp=sharing Resumen de Clases Teóricas y Practicas - 1C Online 2020] | |||
*[https://elrepositoriodefede.wordpress.com/materias/materias-de-computacion/algoritmos-y-estructura-de-datos-i/ El Respositorio de Fede]: Apuntes de las Clases Teóricas, Ejercicios y Parciales Resueltos y Material Adicional - Segundo Cuatrimestre 2019 | |||
*[[Media:LengDeEspecificacion.pdf|Apuntes del lenguaje de especificación]] | |||
*[https://github.com/SebasAndres/Introduccion-a-la-programacion-UBA Un repositorio de la materia + algunas guias resueltas (2023)] | |||
*[[Apuntes de Funcional (Algoritmos I)| Apuntes de funcional]]: Apuntes y resumenes de programacion en funcional. | |||
*[https://docs.google.com/document/d/13LdC39MdqZ24atcsCaBHQylSCUIdMCNivzh8xxKeEOY/edit?usp=sharing Resumen Teórico (Incompleto)] | |||
*[https://drive.google.com/file/d/1qt1R9clSGQJEhDvrFYCzSOc1orrlNiUi/view?usp=sharing Apunte de Testing] | |||
==Enlaces Externos== | |||
* [https://campus.exactas.uba.ar/course/view.php?id=1479 Página oficial de la materia] | |||
[[Category:Materias]] | [[Category:Materias]] | ||
[[Category:Computación]] | [[Category:Computación]] | ||
[[Category:Programación]] | [[Category:Programación]] |