FUNDAMENTACION Cuando nos enfrentamos a disear una solucin
computacional para un problema de la realidad, es necesario desarrollar un
modelo computacional, modelo que est plasmado en la elaboracin de un algoritmo que plantee la secuencia lgica de pasos que debemos seguir; sin embargo, los algoritmos no funcionan solos sino que manipulan o procesan datos que deben ser almacenados en medios que permitan su eficiente acceso tanto de escritura como de lectura. Los datos pueden ser almacenados en memoria principal o secundaria. La arquitectura que establece cmo es que se almacenarn los datos se denomina ESTRUCTURA DE DATOS y junto a ellos se define una serie de algoritmos generando las operaciones que se realizan sobre dicha estructura. La fusin de la estructura de datos con las operaciones respectivas genera el Tipo Abstracto de Datos, ncleo del presente curso. Las estructuras de datos se clasifican en estticas y dinmicas, estticas que mantienen un lugar fijo de almacenamiento como los arreglos unidimensionales y multidimensionales y dinmicas en el sentido de que no existe un lugar fijo de almacenamiento sino que este se genera conforme se aadan o se quiten datos, as podemos mencionar a las listas enlazadas. Nuestro trabajo en el presente semestre se centrar en analizar y aplicar cada uno de las estructuras de datos partiendo de las ms simples y culminando con aquella un poco ms avanzada como los rboles y grafos. En resumen, la solucin de problemas computacionales requieren conocer los fundamentos de las Ciencias de la Computacin as es importante que los alumnos de Ingeniera de Sistemas adquieran conocimientos suficientes en la construccin de algoritmos y estructuras de datos pues muchos de los sistemas a los que estn enfrentando sern sistemas computacionales. COMPETENCIAS El estudiante al concluir la asignatura estar capacitado para proponer la estructura de datos ideal a las diferentes situaciones problema que se le presente basndose en la aplicacin de tcnicas y mtodos algortmicos. PROGRAMACIN ACADMICA UNIDAD 01 TITULO INTRODUCCIN A LAS ESTRUCTURAS DE DATOS. ESTRUCTURAS DE DATOS LINEALES ESTTICOS. CONTENIDOS DE CLASES Sesiones 01 Introduccin a las Estructuras de Datos. Conceptos y clasificacin. Utiliza los tipos de datos abstractos (TDA) con pertinencia. Compara situaciones que requieren el empleo de estructuras de datos. Estructura correctamente un TDA para una aplicacin. Decide en qu situacin es necesario el empleo de TDAs. Sesiones 02 Arreglos unidimensionales. Dimensiona y manipula arreglos unidimensionales con eficiencia. Hace uso moderado de los arreglos unidimensionales. Estructura correctamente un arreglo unidimensional. Identifica en qu situacin se debe emplear necesariamente un arreglo unidimensional. Sesiones 03 Arreglos multidimensionales. Dimensiona y manipula arreglos multidimensionales con eficiencia. Hace uso moderado de los arreglos multidimensionales. Estructura correctamente un arreglo multidimensional. Identifica en qu situacin se debe emplear necesariamente un arreglo multidimensional. Sesiones 04 Estructuras de Datos Secuenciales. Comprende la naturaleza de las estructuras
de datos secuenciales y su acceso. Valora las ventajas y desventajas de las
estructuras de datos secuenciales. Disea e implementa correctamente una estructura de datos secuencial. Decide cuando es conveniente utilizar una estructura de datos secuencial. Sesiones 05 Algoritmos de bsqueda lineal y ordenacin. Selecciona y aplica algoritmos para el ordenamiento eficiente de los datos. Comprende las fortalezas y debilidades de cada algoritmo de ordenacin. Aplica un algoritmo para ordenamiento de datos. Compara los algoritmos de ordenacin y selecciona el que cumple con caractersticas de eficiencia para determinado escenario. UNIDAD 02 TITULO ESTRUCTURAS DE DATOS LINEALES DINMICOS. CONTENIDOS DE CLASES Sesiones 06 Recursividad. 1. Aplica la teora de recursividad en algoritmos y programas. 2. Elige y utiliza algoritmos recursivos de ordenamiento para producir programas. Muestra inters en la resolucin de programas usando mtodos recursivos, 1. Implementa programas usando tcnicas recursivas. 2. Construye aplicaciones en base a los algoritmos recursivos. Disea sus propios algoritmos bajo el enfoque de recursividad para dar solucin a problemas planteados. Sesiones 07 Listas enlazadas simples. 1. Desarrolla su creatividad con la bsqueda de soluciones, mediante el uso de las estructuras de datos dinmicas. 2. Disea algoritmos con listas enlazadas utilizando pseudo cdigo. Diferencia las estructuras estticas de las dinmicas. 1. Implementa programas utilizando los tipos de listas enlazadas. 2. Reconoce el tipo de listas enlazadas utilizado en una aplicacin. Justifica el uso de listas, en la construccin de programas. Sesiones 08 Otras listas enlazadas. 1. Desarrolla su creatividad con la bsqueda de soluciones, mediante el uso de las estructuras de datos dinmicas. 2. Disea algoritmos con listas enlazadas dobles y circulares utilizando pseudo cdigo. Diferencia las estructuras estticas de las dinmicas. 1. Implementa programas utilizando los tipos de listas enlazadas dobles y circulares. 2. Reconoce las listas enlazadas dobles y circulares utilizadas en una aplicacin. Justifica el uso de listas dobles y circulares, en la construccin de programas. Sesiones 09 Pilas. 1. Aplica la teora de PILAS en problemas propuestos. 2. Valora la importancia de las primitivas de acceso utilizando PILAS. Reconoce la importancia de las estructuras LIFO en la construccin de software. 1. Utiliza algoritmos LIFO para producir programas. 2. Reconoce la importancia de las estructuras LIFO. Relaciona y justifica la aplicacin de la teora de PILAS con casos prcticos. Sesiones 10 Colas. 1. Aplica la teora de COLAS, en problemas propuestos. 2. Valora la importancia de las primitivas de acceso utilizando COLAS. 1. Reconoce la importancia de las estructuras FIFO en la construccin de software. 2. Muestra constancia en la solucin de problemas con estructuras de datos tipo cola. 1. Utiliza algoritmos FIFO para producir programas. 2. Disea algoritmos con COLAS en pseudo cdigo. Relaciona y justifica el uso de la teora de COLAS con casos prcticos. Sesiones 11 Examen Parcial. UNIDAD 03 TITULO ESTRUCTURAS DE DATOS NO LINEALES CONTENIDOS DE CLASES Sesiones 12 rboles en General Disea e implementa estructuras de datos no lineales tipo rbol. Identifica las
estructuras de datos tipo rbol en las aplicaciones. Desarrolla algoritmos
utilizando estructuras de datos tipo rbol. Reconoce las ventajas y desventajas de las estructuras de datos no lineales. Sesiones 13 rboles Binarios - ABB Disea e implementa estructuras de datos no lineales tipo rbol binario y AVL. Identifica las estructuras de datos tipo rbol binario y AVL en las aplicaciones. Desarrolla algoritmos utilizando estructuras de datos tipo rbol binario y AVL. Reconoce las ventajas y desventajas de las estructuras de datos no lineales. Sesiones 14 Grafos. Disea e implementa estructuras de datos no lineales tipo grafo. Reconoce la necesidad de aplicar la teora de grafos en un caso planteado. Construye programas utilizando grafos. Justifica el uso de grafos en un caso planteado. Sesiones 15 Recorrido en grafos. Aplica asertivamente los algoritmos para el recorrido de grafos. Reconoce fortalezas y debilidades de cada algoritmo de recorrido de grafos. Elige un algoritmo de recorrido de grafos y construye el programa correspondiente. Justifica la eleccin de un algoritmo de recorrido de grafos. Sesiones 16 SEGUNDA EVALUACION PARCIAL Sesiones 17 Examen de rezagados MET. DE ENSEANZA A fin de lograr un mejor desarrollo del aprendizaje, se considera una evaluacin permanente, fundamentada en los tres componentes de una competencia, es decir conceptual, procedimental y actitudinal. ASPECTOS CRITERIOS INSTRUMENTOS Conceptuales. Comprensin de lectura. Cuestionario (evaluacin de Comprensin de lectura). Evaluacin parcial y final Cuestionario( examen parcial y examen final) Procedimentales. Exposiciones de trabajos grupales. Trabajo de investigacin Gua de trabajo (trabajos grupales e individuales) Rbrica de proceso y trmino. Actitudinales. Trabajo cooperativo Ficha de observacin y/o lista de cotejo. MEDIOS Y MATERIALES 1. Documentos virtuales: Material elaborado por los docentes de la experiencia curricular, gua de laboratorio, gua de ejercicios, Libros. 2. Material audiovisual e informtico: Diapositivas de la asignatura, direcciones web. 3. Equipos: Proyector multimedia y ecran. PCs con lenguaje de programacin JAVA e IDE Netbeans instalados. 4. Otros materiales: Pizarra, mota y plumones BIBLIOGRAFIA 1. VILLALOBOS S. Jorge A. Introduccin a las Estructuras de Datos. 1ra Edicin. Editorial Pearson Education. 2008. 005.73 V71 2. NYHOFF Larry R. TADs, estructuras de datos y resolucin de problemas con C++. 2da Edicin. Editorial Pearson Education. 2006. 005.73 N99 3. JOYANES AGUILAR, Luis. Algoritmos y Estructuras de Datos. 1ra Edicin. Editorial Mc Graw Hill Interamericana 2004. 005.133 J88A 4. HERNNDEZ ROBERTO, Lzaro Juan. Estructura de Datos y Algoritmos. 1era Edicin. Editorial Pearson Education. 2001. 005.73 H55 5. WU C. Thomas. Programacin en Java. 1era Edicin. Editorial Mc Graw Hill. 2008. 005.133 T45