Syllabus

AED-1026 ESTRUCTURA DE DATOS

DRA. YAQUELINE PECH HUH

ypech@itescam.edu.mx

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

Prerrequisitos
1. Fundamentos de programación y programación Orientada a Objetos: El alumno debe tener habilidades básicas de programación e interpretación de algoritmos y tener el dominio del paradigma orientado a objetos.
2. Matemáticas discretas conocer y manejar los conceptos generales de la lógica matemática, relaciones y la teoría de grafos

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.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería
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.   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 búsqueda para el uso adecuado en el desarrollo de aplicaciones que permita solucionar problemas del entorno.   Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería

Normatividad
El alumno deberá:
1.- Cumplir con todos los trabajos marcados en clases y extraclases.
2.- No se aceptaran trabajos documentales, programas o tareas de forma extemporánea.
3.- Participar en el salón de clases cuando se le requiera.
4.- Tener el mínimo de asistencias requerido por la subdirección académica (80%).
5.- Tener un comportamiento de disciplina dentro del salón de clases.
6.- Estar a más tardar 15 min. después de la entrada del profesor, después de lo cual no se le dejará entrar.
7. Para tener derecho a primera reevaluación el alumno deberá entregar el 80% de las actividades en el curso normal aunque tengan observaciones.

Materiales
Compilador Java 8 o superior. Editor para java y python Pseudocódigos y libros de java y python.

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
-
Estructuras de datos y algoritmos /
Aho, Alfred V.
Pearson educación,
1988.
3
-
Estructura de datos: Referencia práctica con orientación a objetos /
Martínez, Román
Thomson,
2002.
8
-
Estructuras de datos y algoritmos con java/
Drozdek, Adam
Thomson,
2a. / 2007.
9
-

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.1 a la actividad 3.1.2
PARCIAL 2 De la actividad 4.1.1 a la actividad 6.6.2

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.
                           Manual de prácticas (632063 bytes)
                           Clasificación de las estructuras de datos (569694 bytes)
                           https://cristinapalacios1309.jimdofree.com/estructuras-de-datos/
                          
                   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.2 Tipos de datos abstractos (33459 bytes)
                          
                   1.1.3. Discutir en plenaria las diferencias entre el manejo de memoria estática y dinámica, así como ventajas y desventajas.
                           1.3 ejemplos de tipos de datos abstractos (713707 bytes)
                          
                   1.1.4. Escribir un programa que ejemplifique el uso de la memoria dinámica.
                           1.4 Manejo de la memoria (7199804 bytes)
                          
                   1.1.5. Identificar la eficiencia de dos algoritmos distintos que resuelven un mismo problema y elaborar un cuadro comparativo.
                           Antti Laaksonen;Competitive Programmer’s Handbook; Capitulo 2 página 27.
                          
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 Recursividad (80262 bytes)
                          
                   2.1.2. Enumerar las ventajas y desventajas del uso de la recursividad en una plenaria.
                           2.2 Procedimientos recursivos (51706 bytes)
                          
                   2.1.3. Desarrollar programas en los cuales se aplique la recursividad y entregar informe
                           1.3 Ejemplos de casos recursivos
                          
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 Pilas (327405 bytes)
                          
                   3.1.2. Utilizar las estructuras lineales en la elaboración de códigos para la resolución de problemas elaborando un reporte.
                           3.2 Operaciones con colas (1782543 bytes)
                           3.2 Representación de colas (50424 bytes)
                           https://es.acervolima.com/estructuras-de-datos-estaticas-y-dinamicas-en-java-con-ejemplos/
                          
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, grafos y sus aplicaciones.
                           4.1.2 Clasificación de los árboles (128591 bytes)
                           4.1.1 Arboles (162304 bytes)
                           4.1.3 Operaciones con árboles (202752 bytes)
                          
                   4.1.2. Desarrollar aplicaciones con grafos e implementar las operaciones básicas de inserción, eliminación y búsqueda en un árbol binario.
                           4.2.2 Operaciones básicas de grafos (72809 bytes)
                           4.2 Grafos (128189 bytes)
                          
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.
                           https://javajhon.blogspot.com/2020/11/ordenamiento.html
                          
                   5.1.2. Realizar ejercicios donde se elaboren programas de los diferentes métodos de ordenamiento y entregar el código
                           https://javajhon.blogspot.com/2020/11/ordenamiento.html
                          
6. Métodos de búsqueda
          6.6. 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.6.1. Consultar en fuentes bibliográficas los diversos algoritmos de búsqueda y elaborar cuadro comparativo.
                           https://pharos.sh/algoritmos-de-busqueda-en-java/
                          
                   6.6.2. Realizar ejercicios donde se elaboren programas de los diferentes métodos de búsqueda y entregar el código.
                           https://pharos.sh/algoritmos-de-busqueda-en-java/
                          

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

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación