Syllabus

AED-1026 ESTRUCTURA DE DATOS

MGTI. LETICIA DIAZ ALARCON

ldiaz@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
3 2 3 5 Ciencia Ingeniería

Prerrequisitos
• Comprende y aplica los conceptos básicos de lógica matemática, relaciones, grafos y árboles para aplicarlos a modelos que resuelvan problemas computacionales. • Aplica un lenguaje orientado a objetos para la solución de problemas.

Competencias Atributos de Ingeniería
Conoce y comprende las diferentes estructuras de datos, su clasificación y forma de manipularlas para buscar la manera más eficiente de resolver problemas.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Aplica la recursividad en la solución de problemas valorando su pertinencia en el uso eficaz de los recursos.   Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas
Comprende y aplica estructuras de datos lineales para solución de problemas.   Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas
Comprende y aplica estructuras no lineales para la solución de problemas.   Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas
Conoce, comprende y aplica los algoritmos de ordenamiento para el uso adecuado en el desarrollo de aplicaciones que permita solucionar problemas del entorno.   Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas
Conoce, comprende y aplica los algoritmos de búsqueda para el uso adecuado en el desarrollo de aplicaciones que permita solucionar problemas del entorno.   Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas

Normatividad
• Presentarse al aula de clase a más tardar 10 min.
• Cumplir con el 80% de asistencia
• Mostrar un comportamiento de respeto dentro del aula.
• No se permite el uso de celulares.
• No se permite tomar fotos ni video
• Entregar oportunamente los trabajos
• Participar en las actividades escolares que el docente indique
• Solicitar permiso al profesor cuando se requiera salir del aula
• Entregar por lo menos el 60% de tareas en CN

Materiales
•Material escolar básico
•Computadora
•USB
•Material Syllabus
•Bibliografía
•Acceso a internet
•Eclipse, Netsbeans o JDK

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares
Estructuras de datos y algoritmos con java/
Drozdek, Adam
Thomson,
2a. / 2007.
9
-
Estructuras de datos /
Cairo, Osvaldo;
McGraw-Hill,
2a. / 2002
1
-
Estructuras de datos en c /
Joyanes Aguilar, Luis
McGraw-Hill,
2005.
1
-
Estructuras de datos en Java /
Joyanes Aguilar, Luis
McGraw-Hill,
2008.
2
-

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.1 a la actividad 3.1.4
PARCIAL 2 De la actividad 4.1.1 a la actividad 6.1.3

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS
          1.1. Conoce y comprende las diferentes estructuras de datos, su clasificación y forma de manipularlas para buscar la manera más eficiente de resolver problemas.
                   1.1.1. Investigar las diferentes estructuras de datos y su clasificación para elaborar un cuadro sinóptico.
                           Clasificación de las estructuras de datos (20957 bytes)
                          
                   1.1.2. Hacer un resumen sobre el concepto de TDA y su implementación en la programación OO.
                           Tipos de datos abstractos (TDA) (24083 bytes)
                          
                   1.1.3. Discutir en plenaria las diferencias entre el manejo de memoria estática y dinámica, así como ventajas y desventajas.
                           Ejemplos de TDA’s (13301 bytes)
                          
                   1.1.4. Escribir un programa para la generación de vectores en tiempo de ejecución.
                           Manejo de memoria (456195 bytes)
                          
                   1.1.5. Escribir un programa que ejemplifique el uso de la memoria dinámica.
                           Análisis de algoritmos (15210 bytes)
                          
2. RECURSIVIDAD
          2.1. Aplica la recursividad en la solución de problemas valorando su pertinencia en el uso eficaz de los recursos.
                   2.1.1. Redactar una definición propia del concepto de recursividad después de consultar en diferentes fuentes bibliográficas y comentarla en trinas.
                           Definición Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   2.1.2. Enumerar las ventajas y desventajas del uso de la recursividad en una plenaria.
                           Procedimientos recursivos Bibliografía: Cairo, O. y Guardati, S. (2006) Estructura de Datos, Tercera Edición. México: Mc Graw Hill.
                          
                   2.1.3. Trasladar un catálogo de problemas iterativos a recursivos, donde distinga el segmento recursivo y la condición de salida.
                           Ejemplos de casos recursivos Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   2.1.4. Desarrollar programas en los cuales se aplique la recursividad y entregar informe.
                          
3. ESTRUCTURAS LINEALES
          3.1. Comprende y aplica estructuras de datos lineales para solución de problemas.
                   3.1.1. Consultar las características y aplicación de las estructuras lineales en diversas fuentes bibliográficas y comentarlas en plenaria.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   3.1.2. Utilizar las clases predefinidas para el manejo de pilas, colas y listas enlazadas (dinámicas) y describir en un texto la diferencia de hacerlo con arreglos.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   3.1.3. Utilizar las estructuras lineales en la elaboración de códigos para la resolución de problemas elaborando un reporte.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   3.1.4. Programar las operaciones básicas de pilas y colas de manera estática (usando arreglos) entregando los códigos correspondientes
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
4. ESTRUCTURAS NO LINEALES
          4.1. Comprende y aplica estructuras no lineales para la solución de problemas.
                   4.1.1. Elaborar un cuadro sinóptico o esquema con la clasificación de los árboles y sus aplicaciones.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   4.1.2. Implementar las operaciones básicas de inserción, eliminación y búsqueda en un árbol binario.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   4.1.3. Hacer un mapa conceptual o mental del uso y aplicaciones de los grafos
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   4.1.4. Desarrollar aplicaciones con grafos y elaborar un reporte de prácticas
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
5. MÉTODOS DE ORDENAMIENTO
          5.1. Conoce, comprende y aplica los algoritmos de ordenamiento para el uso adecuado en el desarrollo de aplicaciones que permita solucionar problemas del entorno.
                   5.1.1. Consultar en fuentes bibliográficas los diversos algoritmos de ordenamiento y generar un cuadro comparativo.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   5.1.2. Resolver problemas donde se justifique la necesidad de utilizar métodos de ordenamiento, describiendo los resultados obtenidos en exposición grupal.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   5.1.3. Realizar ejercicios donde se elaboren programas de los diferentes métodos de ordenamiento y entregar el código.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
6. MÉTODOS DE BÚSQUEDA
          6.1. Conoce, comprende y aplica los algoritmos de búsqueda para el uso adecuado en el desarrollo de aplicaciones que permita solucionar problemas del entorno.
                   6.1.1. Consultar en fuentes bibliográficas los diversos algoritmos de búsqueda y elaborar cuadro comparativo.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   6.1.2. Resolver problemas donde se justifique la necesidad de utilizar métodos de búsqueda para una lista de datos generados aleatoriamente, describiendo los resultados obtenidos en exposición grupal.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          
                   6.1.3. Realizar ejercicios donde se elaboren programas de los diferentes métodos de búsqueda y entregar el código.
                           Bibliografía: Joyanes Aguilar, L., & Zahonero Martínez, I. (2008). Estructuras de datos en Java. Madrid: McGraw-Hill.
                          

Prácticas de Laboratorio (20232024P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación