PROGRAMA DE MATERIA
*En caso de no aplicar algún elemento, escribir N/A
1 de 5
Código: FO-030200-13 Revisión: 02 Emisión: 13/12/11
MATERIA: ESTRUCTURA DE DATOS
CENTRO ACADÉMICO: CENTRO DE CIENCIAS BÁSICAS
DEPARTAMENTO ACADÉMICO: SISTEMAS ELECTRÓNICOS
PROGRAMA EDUCATIVO: ING. EN SISTEMAS COMPUTACIONALES
AÑO DEL PLAN DE ESTUDIOS: 2009 SEMESTRE: 3° CLAVE DE LA MATERIA: 17666
ÁREA ACADÉMICA: SOFTWARE DE BASE Y PROGRAMACION DE SISTEMAS
PERIODO EN QUE SE IMPARTE: AGOSTO-‐DICIEMBRE
HORAS SEMANA T/P: 3/3 CRÉDITOS: 9
MODALIDAD EDUCATIVA EN LA QUE SE IMPARTE: PRESENCIAL NATURALEZA DE LA
MATERIA: OBLIGATORIA
ELABORADO POR: ESP, ELMA, JP
REVISADO Y APROBADO POR LA ACADEMIA DE:
SOFTWARE DE BASE Y PROGRAMACION DE SISTEMAS
FECHA DE ACTUALIZACIÓN: JULIO 2013
DESCRIPCIÓN GENERAL
Se trata de un curso teórico/practico dónde el alumno aprende el uso y aplicación las distintas estructuras de datos que existen en programación, así como la forma correcta para emplearlas en problemas cotidianos. Además, se analizan los distintos algoritmos que existen para el ordenamiento y búsqueda de datos, así como el rendimiento de los algoritmos que se emplean con el fin de mejorar el desempeño de las aplicaciones.
OBJETIVO (S) GENERAL (ES) El alumno aprenderá las diversas estructuras de datos que existen en programación, los algoritmos de ordenamiento y búsqueda, así como el rendimiento de los algoritmos analizados; todo con el fin de desarrollar aplicaciones de rendimiento óptimo.
OBJETIVO PARTICULAR Al final del curso, el estudiante podrá: 1. Conocer que son, para que sirven, así como diferenciar las diversas estructuras de datos 2. Clarificar el concepto de recursividad por medio de programación. 3. Aprender a optimizar el manejo de los datos con sus respectivos tipos. 4. Conocer y aplicar el manejo de la memoria dinámica. 5. Aprender los diferentes tipos de ordenación y búsquedas, así como su implementación. 6. Analizar y diseñar sus propios algoritmos. 7. Implementar las estructuras de datos en un lenguaje de programación
DATOS DE IDENTIFICACIÓN
PROGRAMA DE MATERIA
*En caso de no aplicar algún elemento, escribir N/A
2 de 5
Código: FO-030200-13 Revisión: 02 Emisión: 13/12/11
UNIDAD TEMÁTICA I: FUNDAMENTOS DE ESTRUCTURAS DE DATOS (12 horas aprox.)
OBJETIVOS PARTICULARES CONTENIDOS FUENTES DE
CONSULTA
Conocerá los fundamentos básicos de las estructuras de datos, aprenderá la declaración y la gestión de memoria de las mismas, así como su uso en algún lenguaje de programación. Además, de aplicar las diversas operaciones sobre ellos.
1. Definición de estructuras de datos 2. Tipos de datos nativos 3. Tipos de dato estructurado
3.1 Arreglos 3.2 Registro
4. Tipo de dato abstracto 4.1 Clase 4.2 Referencias (objetos)
5. Plantillas 6. Memoria dinámica
1, 2
UNIDAD TEMÁTICA II: PILAS Y COLAS ( 12 horas aprox.)
OBJETIVOS PARTICULARES CONTENIDOS FUENTES DE
CONSULTA
Conocerá y aprenderá el concepto y manejo de las pilas, así como solucionar los diversos problemas que ocurren en ellas. Conocerá y aprenderá el concepto y manejo de colas simples y circulares, así como dar solución a problemas, implementando este tipo de estructuras.
1. Definición de Pila 1.1 Representación de una pila. 1.2 Operaciones básicas con pilas
1.2.1 Algoritmos para el manejo de pilas 1.3 Aplicaciones de la pila
1.3.1 Notación Infijo, Prefijo y Posfijo 1.3.2 Algoritmos para la conversión de expresiones infijos –
postfijo – prefijo 1.3.3 Evaluación de expresiones
2. Definición de Colas 2.1 Representación de una Cola 2.2 Operaciones básicas con colas 2.3 Algoritmos para el manejo de colas simples
1, 2
UNIDAD TEMÁTICA III: RECURSIVIDAD (10 horas aprox.)
OBJETIVOS PARTICULARES CONTENIDOS FUENTES DE
CONSULTA
El estudiante aprenderá y practicará el concepto de recursividad, así como identificar los casos donde es factible su aplicación.
1. Concepto de Recursividad 2. Propiedades de los algoritmos recursivos 3. Funcionamiento interno de la recursividad 4. Uso de pilas para simular la recursividad 5. Aplicación de la recursividad
5.1. Ejemplos de casos recursivos
1, 2
CONTENIDOS DE APRENDIZAJE
PROGRAMA DE MATERIA
*En caso de no aplicar algún elemento, escribir N/A
3 de 5
Código: FO-030200-13 Revisión: 02 Emisión: 13/12/11
UNIDAD TEMÁTICA IV: LISTAS ENLAZADAS ( 12 horas aprox.)
OBJETIVOS PARTICULARES CONTENIDOS FUENTES DE
CONSULTA
Conocerá y aprenderá los diferentes tipos de listas enlazadas y las diversas operaciones que se pueden llevar a cabo con cada una de ellas. Implementara los diversos algoritmos para el manejo de listas
1. Listas Enlazadas 1.1 Conceptos básicos: apuntador, nodo, nodo nulo y nodo raíz
1.1.1 Estructuras auto referenciadas 1.2 Listas simples enlazadas 1.3 Listas doblemente enlazadas 1.4 Listas circulares
1.4.1 Simples circulares 1.4.2 Doblemente enlazadas circulares
1.5 Algoritmos de inserción, recorrido, borrado y búsqueda de elementos en listas
1.6 Casos prácticos: manejo de pilas y colas mediante listas
1, 2 ,3
UNIDAD TEMÁTICA V: ÁRBOLES Y GRAFOS ( 18 horas aprox.)
OBJETIVOS PARTICULARES CONTENIDOS FUENTES DE
CONSULTA
Aprenderá y practicará el concepto de árbol general, binario y AVL y los aplicará en la solución de problemas reales. Hará uso de montones y colas de prioridad que le permitirán clasificar arreglos.
1. Árboles Generales 1.1. Características y propiedades de los árboles 1.2. Longitud de camino interno y extern
2. Árboles Binarios. 2.1. Representación de un árbol general como árbol binario 2.2. Inserción de elementos en un árbol binario 2.3. Recorridos en un árbol binario en in-‐orden post-‐orden y pre-‐orden 2.4. Borrado de elementos en un árbol binario 2.5. Árboles binarios de búsqueda
3. Árboles Balanceados (AVL) 3.1. Inserción de elementos 3.2. Factores de equilibrio / balanceo
3.2.1. Reglas de reestructuración 3.3. Borrado de elementos en un árbol balanceado
4. Grafos 4.1. Conceptos básicos 4.2. Aplicaciones de los grafos
1, 2, 3
UNIDAD TEMÁTICA VI: ORDENAMIENTO Y BÚSQUEDA ( 18 horas aprox.)
OBJETIVOS PARTICULARES CONTENIDOS FUENTES DE
CONSULTA
Conocerá, entenderá y aplicará los conceptos y algoritmos de ordenamientos de datos. Conocerá y aplicará los conceptos y algoritmos de búsquedas de datos
1. Características del ordenamiento 1.1. Algoritmos de ordenamiento 1.2. Análisis de eficiencia de los métodos de ordenación
2. Características de la búsqueda 2.1. Algoritmos de búsqueda 2.2. Análisis de eficiencia de los métodos de búsqueda
1, 2, 4
PROGRAMA DE MATERIA
*En caso de no aplicar algún elemento, escribir N/A
4 de 5
Código: FO-030200-13 Revisión: 02 Emisión: 13/12/11
UNIDAD TEMÁTICA VII: ANALISIS DE ALGORITMOS ( 12 horas aprox.)
OBJETIVOS PARTICULARES CONTENIDOS FUENTES DE
CONSULTA
Comprenderá el concepto de complejidad de los algoritmos y su aplicación en la selección de los mismos.
1. Complejidad de algoritmos 2. Aritmética de la notación O 3. Complejidad
3.1 Tiempo de ejecución de un algoritmo 3.2 Complejidad en el espacio
4. Selección de un algoritmo
1, 2, 4
METODOLOGÍA DE ENSEÑANZA - APRENDIZAJE 1. Exposiciones verbales por parte del profesor, de acuerdo a los temas establecidos en el programa de estudios, apoyándose
en la bibliografía del mismo. 2. Realización de un número suficiente de ejercicios frente a grupo. 3. Se usará un lenguaje de programación sugerido por el profesor como herramienta de apoyo en la solución de problemas. 4. Realización por parte de alumnos, de ejercicios o trabajos extra clase para verificar el dominio de los temas estudiados en
clase. 5. Realización de ejercicios en el aula por parte de los alumnos, donde se apliquen los conocimientos adquiridos en la clase. 6. Juicio crítico del profesor que le permita en caso de falta de tiempo seleccionar los contenidos y objetivos básicos de cada
unidad; previo visto bueno del coordinador de academia correspondiente. 7. Juicio crítico del profesor que le permita en caso contar con tiempo extra para seleccionar temas de interés para el grupo;
previo visto bueno del coordinador de academia correspondiente.
RECURSOS DIDÁCTICOS Tradicionales: pizarrón, material de apoyo, notas de la materia Nuevas Tecnologías: Proyector, Computadora, Plataforma Moodle
EVALUACIÓN DE LOS APRENDIZAJES
PARTE TEÓRICA: Se realizaran 3 exámenes escritos con la siguiente ponderación: 1er. Parcial 20% Unidad 1, 2, 3 2do. Parcial 25% Unidad 4, 5 Examen Final 25% Unidad 5, 6, 7 PARTE PRÁCTICA: Trabajo Final 20%
Tareas 10% NOTA 1: Para poder acreditar la materia es necesario aprobar la teoría y la práctica por separado. NOTA 2: Las estructuras de datos que se programen durante el curso se deben realizar en algún lenguaje de programación sugerido por el profesor. NOTA 3: El proyecto final puede contemplar temas de investigación por parte del alumno NOTA 4: La calificación mínima aprobatoria es 7 (siete)
PROGRAMA DE MATERIA
*En caso de no aplicar algún elemento, escribir N/A
5 de 5
Código: FO-030200-13 Revisión: 02 Emisión: 13/12/11
FUENTES DE CONSULTA
BÁSICAS: 1. Cairó, Osvaldo; Guardati, Silvia, Estructura De Datos, 2da Edición, Editorial Mcgraw-‐Hill, ISBN 9701035348 2. Tanenbaum, Aaron M.; Augenstein, Moshe J.; Langsam, Yedidyah, Estructuras De Datos En C, Primera Edición, Editorial
Prentice-‐Hall, Año 1993. ISBN 968-‐880-‐256-‐5 3. Aho, Alfred V. Estructura de Datos y Algoritmos. Editorial Adisson Wesley Longman, ISBN 968 444 345 5 4. Joyanes Aguilar, Luis. Programación en Java 2: algoritmos, estructuras de datos y programación orientada a objetos, McGraw-‐
Hill, ISBN 8448132904 COMPLEMENTARIAS: 5. Bowman, Charles F.; López Hernández, Sergio Gerardo, Algoritmos Y Estructuras De Datos: Aproximación En C, Primera
Edición, Editorial Oxford University Press, Año 1999. ISBN 970-‐613-‐459-‐X 6. Joyanes Aguilar, Luis; Zahonero Martínez, Ignacio, Estructura De Datos Algoritmos, Abstracción Y Objetos, Primera Edición,
Editorial Mcgraw Hill, Año 1998, ISBN 8448120426 7. Wirth, Niklaus, Algoritmos y Estructuras De Datos, Editorial Prentice Hall, Año 1987, ISBN 968-‐880-‐113-‐5
Top Related