Syllabus
AED-1026 ESTRUCTURA DE DATOS
DR. JOSE ALFONSO CUEVAS BACAB
jacuevas@itescam.edu.mx
Semestre | Horas Teoría | Horas Práctica | Créditos | Clasificación |
3 | 2 | 3 | 5 | Ciencia Ingeniería |
Prerrequisitos |
Analizar, diseñar y desarrollar soluciones de problemas reales utilizando algoritmos computacionales para implementarlos en un lenguaje de programación. Conocer y comprender los conceptos básicos de lógica matemática, relaciones, grafos y árboles para aplicarlos a modelos que resuelvan problemas de computación. Diseñar e implementar objetos de programación que permitan resolver situaciones reales y de ingeniería. |
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. | Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas | 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. | Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería | Comprende y aplica estructuras no lineales para la solución de problemas. | Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería | 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 |
1.- El alumno se comportara y se dirigirá asi sus compañeros y al maestro con el respeto debido. 2.- El alumno tendrá el derecho de entrar al salón de clases después de 25 min. de iniciada la sesión de clases. 3.- El alumno que incumpla 2 veces su participación se quedara sin participación 4.- El alumno que no entregue sus programas correspondientes a la unidad no tendra derecho a sustentar su examen práctico |
Materiales |
J2SDK Compilador de java. NetBeans (IDE de programación JAVA)o JUDDE COMUNNITY Foro y chat de discusión (Iniciativa del alumno).
Comprensión de literatura en Ingles por parte del alumno Exposiciones. Debates Desarrollo de programas para clarificar conceptos de la materia |
Bibliografía disponible en el Itescam | |||||
Título |
Autor |
Editorial |
Edición/Año |
Ejemplares |
|
Estructuras de datos y algoritmos / |
Aho, Alfred V. |
Pearson educación, |
1988. |
3 |
- |
Estructura de datos orientadas a objetos : Pseudocódigo y aplicaciones en C# .Net / |
López Taketas, Bruno |
Alfaomega, |
2012. |
2 |
- |
Estructura de datos: Referencia práctica con orientación a objetos / |
Martínez, Román |
Thomson, |
2002. |
8 |
- |
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. ![]() ![]() ![]() ![]() ![]() 1.1.2. Hacer un resumen sobre el concepto de Tipos de datos abstractos y su implementación en la programación orientada a objetos. ![]() ![]() ![]() 1.1.3. Escribir un programa para la generación de vectores en tiempo de ejecución. ![]() ![]() 1.1.4. Escribir un programa que ejemplifique el uso de la memoria dinámica. ![]() ![]() ![]() ![]() 1.1.5. Identificar la eficiencia de dos algoritmos distintos que resuelven un mismo problema y elaborar un cuadro comparativo. ![]() ![]() |
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. ![]() ![]() ![]() 2.1.2. Trasladar un catálogo de problemas iterativos a recursivos, donde distinga el segmento recursivo y la condición de salida, elaborar un reporte de práctica de ejercicios. ![]() ![]() ![]() 2.1.3. 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. ![]() ![]() ![]() ![]() 3.1.2. Programar las operaciones básicas de pilas y colas de manera estática (usando arreglos) entregando los códigos correspondientes ![]() ![]() ![]() ![]() 3.1.3. 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. ![]() 3.1.4. Utilizar las estructuras lineales en la elaboración de códigos para la resolución de problemas elaborando un reporte. ![]() ![]() |
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. ![]() ![]() ![]() ![]() 4.1.2. Implementar las operaciones básicas de inserción, eliminación y búsqueda en un árbol binario. ![]() ![]() ![]() ![]() 4.1.3. Hacer un mapa conceptual o mental del uso y aplicaciones de los grafos ![]() 4.1.4. Desarrollar aplicaciones con grafos y elaborar un reporte de prácticas ![]() |
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. ![]() 5.1.2. Resolver problemas donde se justifique la necesidad de utilizar métodos de ordenamiento, describiendo los resultados obtenidos en exposición grupal. ![]() 5.1.3. Realizar ejercicios donde se elaboren programas de los diferentes métodos de ordenamiento y entregar el código. ![]() |
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. ![]() ![]() ![]() 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. ![]() ![]() 6.1.3. Realizar ejercicios donde se elaboren programas de los diferentes métodos de búsqueda y entregar el código. ![]() |
Prácticas de Laboratorio (20232024P) |
Fecha |
Hora |
Grupo |
Aula |
Práctica |
Descripción |
Cronogramas (20232024P) | |||
Grupo | Actividad | Fecha | Carrera |
Temas para Segunda Reevaluación |