Está en la página 1de 11

1.

- DATOS DE LA ASIGNATURA Nombre de la asignatura: Estructura de datos Carrera: Ingeniera en Sistemas Computacionales Clave de la asignatura: SCC - 0408 Horas teora-horas prctica-crditos 4-2-10

2.- HISTORIA DEL PROGRAMA

Lugar y fecha de elaboracin o Participantes revisin Instituto Tecnolgico Representantes de la de Toluca academia de sistemas y 18 22 agosto 2003. computacin de los Institutos Tecnolgicos. Institutos Tecnolgicos de: Lzaro Crdenas, Culiacn, Acapulco. 23 agosto al 7 noviembre del 2003

Observaciones (cambios y justificacin) Reunin nacional de evaluacin curricular de la carrera de Ingeniera en Sistemas Computacionales.

Academia de sistemas y Anlisis y enriquecimiento de computacin. las propuestas de los programas diseados en la reunin nacional de evaluacin Definicin de los programas de estudio de la carrera de Ingeniera en Sistemas Computacionales.

Instituto Tecnolgico Comit de consolidacin de Len de la carrera de 1 5 marzo 2004 Ingeniera en Sistemas Computacionales.

3.- UBICACIN DE LA ASIGNATURA a). Relacin con otras asignaturas del plan de estudio Anteriores Asignaturas Temas Fundamentos de programacin. Programacin orientada objetos. a Posteriores Asignaturas Temas

Matemticas para computadora. b). Aportacin de la asignatura al perfil del egresado Selecciona e implementa las estructuras de datos necesarias para el desarrollo de aplicaciones orientadas a objetos que proporcionen la mejor solucin a problemas cientficos, tecnolgicos y de propsito general. 4.- OBJETIVO(S) GENERAL(ES) DEL CURSO El estudiante seleccionar estructuras de datos, algoritmos de ordenamiento y bsqueda para optimizar el rendimiento de una aplicacin.

5.- TEMARIO Unidad Temas 1 Anlisis de algoritmos. 1.1 1.2 1.3 Subtemas Concepto de Complejidad de algoritmos. Aritmtica de la notacin O. Complejidad. 1.3.1 Tiempo de ejecucin de un algoritmo. 1.3.2 Complejidad en espacio. Seleccin de un algoritmo.

1.4 2 3 Manejo de memoria. Estructuras lineales esttica y dinmicas.

2.1 Manejo de memoria esttica. 2.2 Manejo de memoria dinmica. 3.1 Pilas. 3.2 Colas. 3.3 Listas enlazadas. 3.3.1 Simples. 3.3.2 Dobles. 4.1 4.2 4.3 4.4 Definicin. Procedimientos recursivos. Mecnica de recursin. Transformacin de algoritmos recursivos a iterativos. 4.5 Recursividad en el diseo. 4.6 Complejidad de los algoritmos recursivos. 5.1 Concepto de rbol. 5.1.1 Clasificacin de rboles. 5.2 Operaciones Bsicas sobre rboles binarios. 5.2.1 Creacin. 5.2.2 Insercin. 5.2.3 Eliminacin. 5.2.4 Recorridos sistemticos. 5.2.5 Balanceo.

Recursividad.

Estructuras no lineales estticas y dinmicas.

5.- TEMARIO (Continuacin) 6 Ordenacin interna. 6.1 Algoritmos de Ordenamiento por Intercambio. 6.1.1 Burbuja. 6.1.2 Quicksort. 6.1.3 ShellSort. 6.2 Algoritmos de ordenamiento por Distribucin. 6.2.1 Radix. 7.1 Algoritmos de ordenacin externa. 7.1.1 Intercalacin directa. 7.1.2 Mezcla natural. 8.1 Algoritmos de ordenacin externa. 8.1.1 Secuencial. 8.1.2 Binaria. 8.1.3 Hash. 8.2 Bsqueda externa. 8.2.1 Secuencial. 8.2.2 Binaria. 8.2.3 Hash.

Ordenacin externa.

Mtodos de bsqueda.

6.- APRENDIZAJES REQUERIDOS Analizar un problema y realizar el planteamiento de la solucin mediante el uso de las tcnicas bsicas de anlisis y diseo orientado a objetos. Desarrollar algoritmos que representen el comportamiento de los objetos involucrados en la solucin del problema. Implementar el modelo obtenido para la solucin de un problema, mediante una herramienta de desarrollo de software.

7.- SUGERENCIAS DIDCTICAS Exposicin de los temas con sesiones de preguntas y respuestas. Lecturas recomendadas de libros y direcciones de Internet. Uso de correo electrnico para revisin de tareas y ejercicios. Uso de un portal de Internet para apoyo didctico de la materia, el cual cuente por lo menos con un foro, preguntas frecuentes, material de apoyo y correo electrnico. Desarrollar el trabajo en equipo. Elaborar con los estudiantes una gua de ejercicios para actividades extra clase. Uso del laboratorio de cmputo para la elaboracin de ejercicios resueltos y propuestos. Exposicin de temas con apoyo de material didctico (can, proyector de acetatos, rotafolios, pizarrn, entre otros). 8.- SUGERENCIAS DE EVALUACIN Ponderar tareas. Participacin en actividades individuales y de equipo. Participacin y desempeo en el aula y el laboratorio. Seguimiento al desempeo en el desarrollo del programa (dominio de los conceptos, capacidad de la aplicacin de los conocimientos en problemas reales, transferencia del conocimiento). Desarrollo de un proyecto final que integre todas las unidades de aprendizaje. Participacin en dinmicas grupales. Actividades de auto evaluacin. Exmenes terico prctico. Cumplimiento de los objetivos y desempeo en las prcticas

9.- UNIDADES DE APRENDIZAJE UNIDAD 1.- Anlisis de algoritmos. Objetivo Educacional El estudiante comprender el concepto de complejidad de los algoritmos y su aplicacin en la seleccin de los mismos. Actividades de Aprendizaje Evaluar la complejidad de algoritmos propuestos. Determinar el mejor algoritmo en cuanto tiempo de ejecucin. Determinar la complejidad de un algoritmo considerando complejidad en el espacio. Fuentes de Informacin 1,3,4

UNIDAD 2.- Manejo de memoria. Objetivo Educacional Comprender los mecanismos para el manejo de memoria. Actividades de Aprendizaje Elaborar un mapa conceptual que represente el almacenamiento de la informacin esttica en la computadora. Elaborar un mapa conceptual que represente el almacenamiento de la informacin dinmica en la computadora. Realizar un esquema que represente el mecanismo de liberacin de memoria dinmica. Realizar un ejercicio que muestre el funcionamiento y diferenciacin de cada uno de los mecanismos de manejo de memoria. Analizar y discutir en equipos las ventajas y desventajas de cada uno de los mecanismos de manejo de memoria. Fuentes de Informacin 1,2

UNIDAD 3.- Estructuras lineales esttica y dinmicas. Objetivo Educacional Conocer las caractersticas de las diferentes estructuras de datos lineales y su implementacin en un lenguaje de programacin Fuentes de Informacin 1,2,4,5 Utilizar el concepto de clase genrica en la implementacin de las estructuras de datos lineales. Resolver problemas que hagan uso de las estructuras de datos lineales e implementar las aplicaciones utilizando los diferentes mecanismos de manejo de memoria Analizar y discutir en equipos las ventajas y desventajas de la implementacin esttica y dinmica de las diferentes estructuras de datos lineales Actividades de Aprendizaje

UNIDAD 4.- Recursividad Objetivo Educacional Comprender el concepto de recursividad y su implementacin en un lenguaje de programacin. Fuentes de Informacin 1,2,4,

Actividades de Aprendizaje Realizar un mapa conceptual que represente la recursividad. Analizar en el grupo las definiciones y procedimientos recursivos. Esquematizar el uso de una pila en el proceso de recursividad. Transformar un algoritmo recursivo a iterativo utilizando pilas. Disear algoritmos recursivos.

UNIDAD 5.- Estructuras no lineales estticas y dinmicas. Objetivo Educacional Conocer las caractersticas de diferentes estructuras de datos no lineales y su implementacin en un lenguaje de Fuentes de Informacin 1,2,4,5

Actividades de Aprendizaje Realizar un esquema que represente la clasificacin de los rboles y sus caractersticas. Utilizar el concepto de clase genrica en la implementacin de las estructuras de datos no lineales.

programacin.

Resolver por equipos problemas que hagan uso de las estructuras de datos no lineales e implementar las aplicaciones utilizando los diferentes mecanismos de manejo de memoria. Analizar y discutir en clase las ventajas y desventajas de la implementacin esttica y dinmica de las diferentes estructuras de datos no lineales.

UNIDAD 6.- Ordenacin interna. Objetivo Educacional Organizar un conjunto de datos y elegir el mtodo de ordenacin interna ms conveniente segn el problema. Actividades de Aprendizaje Realizar un ejercicio que muestre las ventajas y desventajas de los diferentes algoritmos de ordenamiento. Discutir y determinar cual es el mejor mtodo de ordenacin interna, para un problema dado. Proponer e implementar su propio algoritmo de ordenacin. Discutir en grupo las caractersticas de los algoritmos propuestos por los alumnos. Determinar la complejidad de los algoritmos vistos en clase y los propuestos por los alumnos. Buscar y analizar algoritmos de ordenamiento interno y realizar un anlisis comparativo con respecto a los algoritmos propuestos en el temario. Fuentes de Informacin 1 ,2 ,3

UNIDAD 7.- Ordenacin externa. Objetivo Educacional Organizar un conjunto de datos almacenados externamente. Actividades de Aprendizaje Realizar un ejercicio que muestre las ventajas y desventajas de los diferentes algoritmos de ordenamiento. Determinar la complejidad de los algoritmos vistos en clase. Proponer e implementar su propio algoritmo de ordenacin y determinar su complejidad. Discutir en grupo las caractersticas de los algoritmos propuestos por los alumnos. Buscar y analizar algoritmos de ordenamiento externo y realizar un anlisis comparativo con respecto a los algoritmos propuestos en el temario. Fuentes de Informacin 1,2,3,8

UNIDAD 8.- Mtodos de bsqueda. Objetivo Educacional Comprender las caractersticas de los diferentes mtodos de bsqueda para recuperar datos almacenados y su implementacin en un lenguaje de programacin. Actividades de Aprendizaje Realizar un ejercicio que muestre las ventajas y desventajas de los diferentes mtodos de bsqueda para datos almacenados interna y externamente. Discutir las ventajas y desventajas de los diferentes mecanismos de bsqueda. Analizar y discutir la complejidad de los diferentes algoritmos de bsqueda. Fuentes de Informacin 1,2,3,5.

10. FUENTES DE INFORMACIN 1. 2. 3. 4. 5. 6. 7. 8. 9. Estructuras de datos con C y C++ (segunda edicin). Yedidyah Lang Sam, Moshe J. Augenstein, Aaron M. Tenenbaum. Prentice Hall. Deitel y Deitel. Programacin en C++ (segunda edicin). Prentice Hall. Robert L. Kruse. Estructura de datos y diseo de programas. Pretince Hall. Luis Joyanes Aguilar, Ignacio Z. Martnez, Matilde Fernandez Azuela, Lucas S. Garcia. Estructuras de datos (libro de problemas). Mc. Graw Hill. Mark Allen Weiss. Estructura de datos en Java. Addison Wesley. Thomas Wu. Introduccin a la Programacin Orientada a Objetos con Java. Pearson Educacin. Paul S. Wong. Java. International Thomsom Editores. Decker, Hirshfield. Programacin con Java. International Thomsom Editores. Jess Bobadilla. Java a travs de ejemplos. Alfa Omega - RAMA.

10. Kris Jamsa. Aprenda y practique Java. Oxford.

11. PRCTICAS Unidad Prctica 1 1 Con base a aplicaciones (propuestas por el profesor y por el estudiante), determinar la complejidad de los algoritmos utilizados. 2 3 1 1 Desarrollar aplicaciones que hagan uso de memoria esttica y dinmica. Implementar clases genricas para las estructuras de datos lineales que puedan ser utilizadas en la solucin de problemas que requieran de estas estructuras de datos, considerando los diferentes mecanismos de manejo de memoria. Abordar problemas que hagan uso de las estructuras de datos lineales e implementar su solucin Dar solucin a problemas que requieran del uso de algoritmos recursivos y determinar su complejidad. A partir de un algoritmo recursivo, generar un algoritmo iterativo utilizando pilas.

2 4 1 2

Implementar clases genricas no lineales que puedan ser problemas que requieran de considerando los diferentes memoria.

para las estructuras de datos utilizadas en la solucin de estas estructuras de datos, mecanismos de manejo de

2 6 1 2 7 1 2 8 1

Abordar problemas que hagan uso de las estructuras de datos no lineales e implementar su solucin. Implementar aplicaciones que requieran de algoritmos de ordenamiento interno. Realizar un anlisis de la complejidad de los algoritmos de ordenamiento interno. Implementar aplicaciones que requieran de algoritmos de ordenamiento externo. Realizar un anlisis de la complejidad de los algoritmos de ordenamiento externo Desarrollar un proyecto final que integre ordenamiento y bsqueda en un conjunto de datos almacenados.

También podría gustarte