Licenciatura en Ingeniería de Datos e Inteligencia Artificial (IS75LI0801)
Explorar la documentación »
Ver Demo
·
Reportar Bug
·
Requiere Modificaciones
Table of Contents
Implementa algoritmos que permiten la solución de problemas matemáticos de alto nivel que le brindarán los conocimientos para el desarrollo de software.
Esta Unidad de Aprendizaje incide de manera directa en la formación de la siguiente competencia:
CE2. Desarrolla software mediante lenguajes de programación orientado a la solución de problemas de ingeniería de datos y sistemas inteligentes.
La UDA de Algoritmos y Estructuras de Datos se imparte en el 3er. semestre del programa educativo.
Ubicada en la currícula dentro del Área Básica Común, esta unidad de aprendizaje contribuye al desarrollo de la comprensión lógica de los fenómenos naturales mediante el análisis cuantitativo y la aplicación de una metodología científica.
El contenido de la Unidad de Aprendizaje es el siguinte:
- Conceptos fundamentales de algoritmos
- Conceptos y propuedades de los algoritmos
- Solución de problemas usando algoritmos
- Estrategias para construir algoritmos
- Recursividad
- Definición
- Procedimientos recursivos
- Ejemplos de casos recursivos
- Estructuras de datos fundamentales
- Estructuras de datos básicas
- Estructuras de datos abstractas
- Algoritmos de ordenamiento
- Ordenamiento por intercambio directo
- Ordenamiento por inserción directa
- Ordenamiento por selección directa
- Otros métodos de ordenamiento
- Algoritmos de búsqueda
- Búsqueda secuencial
- Búsqueda binaria
- Búsqueda por transformación de claves
- Análisis de algoritmos
- Complejidad en el tiempo
- Complejidad en el espacio
- Eficiencia de algoritmos
Selecciona la combinación adecuada de estructuras de datos y algoritmos que sirva para optimizar los recursos de cómputo necesario. Aplica estas elecciones de diseño en el desarrollo de ingeniería de datos y sistemas inteligentes que contribuyen a la solución de problemas de ingeniería. Exhibe actitudes como el trabajo en equipos multi-disciplinarios.
La UDA de Algoritmos y Estructuras de Datos sirve para conocer los elementos estructurales de la programación así como el análisis de su interacción en los algoritmos. El análisis de la complejidad de los algoritmos y de los requerimientos de recursos asociados con las estructuras de datos permite optimizar el desempeño de los sistemas aplicados a la ingeniería de datos e inteligencia artificial.
La evaluación de la Unidad de Aprendizaje será desarrollada de acuerdo a la siguiente tabla:
| Número | Elemento | Porcentaje |
|---|---|---|
| 1 | Primera evaluación | 15% |
| 2 | Primer práctica | 15% |
| 3 | Segunda evaluación | 15% |
| 4 | Segunda práctica | 15% |
| 5 | Tercera evaluación | 15% |
| 6 | Proyecto final | 15% |
| 7 | Presentación | 10% |
La evaluación de los códigos serán realizados mediante la siguiente rúbrica:
| Número | Medida | Ponderación | Criterio |
|---|---|---|---|
| 1 | Desemepeño | 16.7% | Valorado por el número de casos resueltos correctamente, medido por el porcentaje de casos correctos |
| 2 | Tiempo | 16.7% | Valorado por la tiempo de CPU utilizado en ms, medido por la diferencia entre el tiempo y el mínimo tiempo logrado por el grupo, la diferencia es multiplicada por la desviación absoluta media de los tiempos del grupo |
| 3 | Memoria | 16.7% | Valorado por la cantidad de memoria utilizada en KB, medido por la diferencia entre la memoria utilizada y la mínima memoria utilizada por el grupo, la diferencia es dividida por la desviación absoluta media de la memoria utilizada por el grupo |
| 4 | Código fuente | 16.7% | Valorado por el tamaño del código fuente en B, medido por la diferencia entre el tamaño del código fuente implementado y el tamaño menor de la implementación del grupo, la diferencia es dividida por la desviación absoluta media del tamaño de los códigos fuentes implementados por el grupo |
| 5 | Posición | 16.6% | Valorado por la posición en la que es sometida la solución al problema, mediada por el ordenamiento cronológico de las soluciones sometidas, se reduce en 1.5% por cada posición |
| 6 | Reporte | 16.6% | Valorado si el reporte contiene todos los elementos solicitados y el contenido refleja cuantitativa y cualitativamente los cinco puntos de valoración |
Los elementos mínimos de los reportes son:
- Introducción
- Fundamentación de la tarea, práctica o proyecto
- Objetivos
- Objetivo general y específico
- Procedimiento (Algoritmo+Estrcutura de datos)
- Diagrama de datos
- Diagarama de flujo
- Pseudo-código
- Flujo de información y sinergía de datos
- Resultados y análisis
- Gráfica o tablas de resultados con explicación
- Análisis de desempeño, precisión, eficiencia, repetibilidad y complejidad
- Tabla comparativa
- Análisis de eficiencia y desemeño
- Comparativa con integrantes y entre el grupo
- Comparativa con el estado del arte
- Conclusiones
- Conclusiones generales y personales
- Bibliografía
- Formato APA o IEEE
- Verificar la confiabilidad, relevancia y actualización de la fuente de información
Las presentaciones de la Unidad de Aprendizaje estan disponibles en formato PDF para su descarga.
| Archivo | Descripción | Tamaño | Enlace |
|---|---|---|---|
| 0_Presentacion.pdf | Presentación de la Unidad de Aprendizaje | 389 KB | Download |
| 1_Cenceptos.pdf | Conceptos fundamentales de algoritmos | 1.01 MB | Download |
| 2_Recursividad.pdf | Recursividad | 1.43 MB | Download |
| 3_Estructuras.pdf | Estructuras de datos fundamentales | 2.70MB | Download |
| 4_AlgOrdenamiento.pdf | Algoritmos de ordenamiento | . | . |
| 5_AlgoBusqueda.pdf | Algoritmos de Búsqueda | . | . |
| 6_Analisis.pdf | Análisis de algoritmos | . | . |
Los archivos usados en la Unidad de Aprendizaje estan disponible para su descarga.
| Archivo | Descripción | Tamaño | Enlace |
|---|---|---|---|
| edr_valor_00.csv | Archivo CSV de datos del INEGI sobre defunciones registradas | 69.4 MB | Download |
A lo largo de esta UDA, hemos implementado diversos algoritmos y estructuras de datos fundamentales para resolver problemas relacionados con el análisis, manipulación y optimización de datos. Estos códigos cubren una variedad de temas clave, que incluyen:
- Algoritmos de búsqueda y ordenamiento.
- Estructuras de datos dinámicas como pilas y colas.
- Algoritmos recursivos y simulaciones de procesos.
- Aplicaciones de distribuciones estadísticas y análisis de tiempo de ejecución.
En esta sección, encontrarás un listado completo de los códigos desarrollados, junto con una pequeña descripción de cada uno, su ubicación en el repositorio y ejemplos de cómo ejecutarlos.
Puedes consultar el listado completo de códigos y sus explicaciones en el siguiente archivo:
Consulta el listado completo de códigos aquí.
Dr. M.-A. Ibarra-Manzano - DICIS-UG - ORCID: 0000-0003-4317-0248 - SCOPUS: 15837259000
Unidad de Aprendizaje Link: 20241AyE
- Cormen, T. H. Leiserson, C. E. Rivest, R. L., Stein, C. (2022). Introduction to Algorithms. MIT Press. ISBN: 978-0-2620-4630-5.
- Sedgewick, R. Wayne, K. (2011). Algorithms. Addisson Wesley Professional.
- Skienna, S. S. (2008). The Algorithm Design Manual. Springer Verlag. ISBN: 978-3-0305-4255-9.
- Heineman, G. Police, G. Selkow, S. (2008). Algorithms in a Nutshell. O'Reilly Media, Inc. ISBN: 978-0-5965-1624-6.
- Kleinberg, J. Tardos, E. (2005). Algorithm Design. Addison Wesley. ISBN: 978-0-3212-9535-4.
- Mailund, T. (2021). Pointers in C Programming. Apress. ISBN: 978-1-4842-6926-8. SpringerLink(https://link.springer.com/book/10.1007/978-1-4842-6927-5).
- Chavan, S. (2017). C Recipes. Apress. ISBN: 978-1-4842-2967-5. SpringerLink(https://link.springer.com/book/10.1007/978-1-4842-2967-5).
- Toppo, N. Dewan, H. Pointers in C. (2013). Apress. ISBN: 978-1-4302-5911-4. SpringerLink(https://link.springer.com/book/10.1007/978-1-4302-5912-1).
- Kalicharan, N. (2013). Advanced Topics in C. Apress. ISBN: 978-1-4302-6400-2 . SpringerLink(https://link.springer.com/book/10.1007/978-1-4302-6401-9).