Syllabus

AED-1026 ESTRUCTURA DE DATOS

ISC. OLDA MARGARITA ARANDA CUEVAS

omaranda@itescam.edu.mx

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

Prerrequisitos
Diseñar e implementar objetos de programación que permitan resolver situaciones reales y de ingeniería.
Implementar aplicaciones orientadas a objetos que creen y manipulen archivos para guardar y recuperar información.
Comprender, describir y modelar los conceptos principales del paradigma de programación orientado a objetos y aplicarlos a situaciones de la vida real
Implementar clases y objetos cumpliendo las reglas de la programación orientada a objetos
Implementar la herencia en clases derivadas para reutilizar los miembros de una clase base.
Experimentar soluciones teniendo como base programas orientados a objetos.
Diseñar soluciones tecnológicas con programas orientado a objetos con trabajo colaborativo.
Realizar entregas de documentos y programas que no violenten los derechos de autor y evitando copias de otros trabajos.

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
Aplicar la recursividad en la solución de problemas valorando su pertinencia en el uso eficaz de los recursos.   Desarrollar y conducir una experimentación adecuada; analizar e interpretar datos y utilizar el juicio ingenieril para establecer conclusiones
Comprender y aplicaa estructuras de datos lineales para solución de problemas con Listas.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Comprender y aplicar estructuras de datos lineales para solución de problemas con Pilas.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Comprender y aplicar estructuras de datos lineales para solución de problemas. con colas   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Comprender y aplicar estructuras no lineales para la solución de problemas usando Árboles.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Comprender y aplicar estructuras no lineales para la solución de problemas usando Grafos.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Algoritmos de Ordenamiento Internos.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Algoritmos de Ordenamiento Externos.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
Métodos de búsqueda.   Desarrollar y conducir una experimentación adecuada; analizar e interpretar datos y utilizar el juicio ingenieril para establecer conclusiones
Análisis de los algoritmos.   Desarrollar y conducir una experimentación adecuada; analizar e interpretar datos y utilizar el juicio ingenieril para establecer conclusiones

Normatividad
Realizar exposiciones con elementos dinámicos para la explicación. Es requisito entregar los ejercicios prácticos para cada competencia. Se tomará encuentra la puntualidad y asistencia, para determinar un nivel de desempeño.

Materiales
1. Editor PPT y o Prezi. 2. Equipo de computo. 3. UML 4.Compilador de java. NetBeans (IDE de programación JAVA)

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares
UML : gota a gota /
Fowler, Martín.
Pearson Addison Wesley,
1999.
1
-
Estructuras de datos y algoritmos /
Aho, Alfred V.
Pearson educación,
1988.
3
-
Estructuras de datos y algoritmos /
Aho, Alfred V.
Pearson educación,
1988.
3
-
Estructura de datos con C++ : Objetos, adstracciones y diseño /
Koffman, Elliot B.
McGraw-Hill,
2008.
1
-
Estructura de datos orientadas a objetos : Pseudocódigo y aplicaciones en C# .Net /
López Taketas, Bruno
Alfaomega,
2012.
2
-

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.0 a la actividad 3.3.5
PARCIAL 2 De la actividad 4.1.1 a la actividad 7.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.0. Manual de Prácticas
                           Manual de Prácticas (742400 bytes)
                          
                   1.1.0. Investigar las diferentes estructuras de datos y su clasificación para elaborar un cuadro sinóptico.
                           (558080 bytes)
                          
                   1.1.1. Hacer un resumen sobre el concepto de Tipos de datos abstractos y su implementación en la programación orientada a objetos
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                          
                   1.1.3. Escribir un programa para la generación de vectores en tiempo de ejecución con el uso de TDA
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                          
                   1.1.4. Manejo de Memoria estática.
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                           manejo de memoria (150647 bytes)
                           manejo de memoria (47109 bytes)
                           Memoria (558080 bytes)
                          
                   1.1.5. Manejo de Memoria dinámica.
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                           Memoria (558080 bytes)
                          
                   1.1.6. Discutir en plenaria las diferencias entre el manejo de memoria estática y dinámica, así como ventajas y desventajas con el un programa que ejemplifique el uso de la memoria
                           Diferentes tipos de memoria (1112758 bytes)
                          
                   1.1.7. Identificar la eficiencia de dos algoritmos distintos que resuelven un mismo problema y elaborar un cuadro comparativo
                          
                   1.1.8. Modularidad.
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                          
2. RECURSIVIDAD.
          2.1. Aplicar la recursividad en la solución de problemas valorando su pertinencia en el uso eficaz de los recursos.
                   2.1.1. Definición.
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                          
                   2.1.2. Procedimientos recursivos.
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                          
                   2.1.3. Ejemplos de casos recursivos.
                           Cairi, Osvaldo; Guardati, Silvia. Estructura de datos, Tercera Edición. Mc Gr
                          
3. ESTRUCTURAS LINEALES.
          3.1. Comprender y aplicar estructuras de datos lineales para solución de problemas. con colas
                   3.1.1. Representación en memoria estática y dinámica.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                           Cola
                          
                   3.1.2. Operaciones básicas con Colas.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.1.3. Tipos de Colas: Cola simple, Cola circular y Colas dobles.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.1.4. Aplicaciones: Colas de prioridad.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
          3.2. Comprender y aplicar estructuras de datos lineales para solución de problemas con Pilas.
                   3.2.1. Representación en memoria estática y dinámica.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                           Pilas
                           Pilas
                           Pilas
                           Pilas
                           Pilas (324096 bytes)
                          
                   3.2.2. Operaciones básicas de Pilas.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.2.3. Aplicaciones.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.2.4. Notación infija y postfija.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.2.5. Recursividad con ayuda de Pilas.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
          3.3. Comprender y aplicaa estructuras de datos lineales para solución de problemas con Listas.
                   3.3.1. Operaciones básicas con listas.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.3.2. Tipos de listas.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.3.3. Listas simplemente enlazadas.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.3.4. Listas doblemente enlazadas.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                          
                   3.3.5. Aplicaciones.
                           Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos y Estructuras de datos. Tercera Edición 2003. McGraw - Hill.
                           otro de listas (107760 bytes)
                           Presentacion de Listas (259072 bytes)
                          
4. ESTRUCTURAS NO LINEALES.
          4.1. Comprender y aplicar estructuras no lineales para la solución de problemas usando Árboles.
                   4.1.1. Concepto de árbol.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                           Arboles (282112 bytes)
                          
                   4.1.2. Clasificación de árboles.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                           Arboles (312832 bytes)
                          
                   4.1.3. Operaciones básicas sobre árboles binarios.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                           Arboles binarios (282112 bytes)
                          
                   4.1.4. Aplicaciones.
                           Manuales (742400 bytes)
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                          
                   4.1.5. Árboles balanceados (AVL).
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                          
          4.2. Comprender y aplicar estructuras no lineales para la solución de problemas usando Grafos.
                   4.2.1. Terminología de Grafos.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                          
                   4.2.2. Operaciones básicas de Grafos.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                          
5. MÉTODOS DE ORDENAMIENTO.
          5.1. Algoritmos de Ordenamiento Internos.
                   5.1.1. Burbuja.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                           Metodos (94329 bytes)
                          
                   5.1.2. Quicksort.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                           Quicksort (196096 bytes)
                          
                   5.1.3. ShellSort.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                           ShellSort (116736 bytes)
                          
                   5.1.4. Radix.
                           Guardati, Silvia. Estructura de datos orientada a objetos Algoritmos con C++, Primera Edición. Prentice Hall, México, 2007.
                           Radix (2229760 bytes)
                          
          5.2. Algoritmos de Ordenamiento Externos.
                   5.2.1. Intercalación.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           Mezcla directa (2427904 bytes)
                          
                   5.2.2. Mezcla Directa.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           Mezcla directa2 (2427904 bytes)
                          
                   5.2.3. Mezcla Natural.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           Mezcla natural y equilibrada (3628544 bytes)
                          
6. MÉTODOS DE BÚSQUEDA.
          6.1. Métodos de búsqueda.
                   6.1.1. Búsqueda secuencial.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           Búsqueda Secuencial (400384 bytes)
                          
                   6.1.2. Búsqueda binaria.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           Búsqueda Binaria (399872 bytes)
                          
                   6.1.3. Búsqueda por funciones de HASH.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           Árbol de búsqueda (623104 bytes)
                          
7. ANÁLISIS DE LOS ALGORITMOS.
          7.1. Análisis de los algoritmos.
                   7.1.1. Complejidad en el Tiempo.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           Clase 1 (283648 bytes)
                          
                   7.1.2. Complejidad en el espacio.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                           clase2 (446464 bytes)
                          
                   7.1.3. Eficiencia de los algoritmos.
                           Mark Allen Weiss. Estructura de datos en Java. Ed. Eddison Wesley.
                          

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

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación