Вы находитесь на странице: 1из 12

FUNDACIN UNIVERSITARIA SAN MARTN FACULTAD DE UNIVERSIDAD ABIERTA Y A DISTANCIA Educacin a travs de escenarios mltiples CONTENIDO PROGRAMTICO DE ASIGNATURA

ESTRUCTURAS DE DATOS E INFORMACIN

********************************************************************************************** PROGRAMA: INGENIERA DE SISTEMAS ASIGNATURA: ESTRUCTURAS DE DATOS E INFORMACIN Espacio Acadmico Terico Prctico REA: Ciencias Bsicas de Ingeniera CDIGO: SEMESTRE: IV Perodo Acadmico CRDITOS: Tres (3) crditos PREREQUISITOS: Datos y Laboratorio III **********************************************************************************************

LAS ESTRUCTURAS DE DATOS E INFORMACIN JUSTIFICACIN

Los procesos de desarrollo de Software se hacen cada vez ms complejos y dentro del paradigma de esa complejidad se hace pertinente conocer y dominar un espectro del mundo de la programacin que es ms que fundamental: Las estructuras de datos. La informacin se hace cada vez ms compleja en las empresas y los procesos que se nutren de dicha informacin requieren de herramientas portadoras que agilicen el acceso a la misma, es por ello que conocer cmo operan las estructuras complejas de programacin de datos se hace ms que pertinente para un currculo acadmico de Ingeniera de Sistemas acorde con dichas expectativas. A travs de este Programa se espera que los estudiantes con un bagaje en lenguaje de programacin y algoritmia bsica puedan profundizar an ms sus conocimientos y sobretodo, valorar la importancia de las estructuras de datos en la creacin de soluciones informticas y programacionales slidas y concretas, tiles para la ejecutoria de procesos de negocio susceptibles de automatizacin va Software. Los estudiantes tambin podrn analizar la relacin de esta asignatura con otras y ver cmo a travs de la construccin de procesos de automatizacin de cdigo se pueden generar aplicaciones basadas en el paradigma de objetos y tendientes a mejorar la calidad del Software producido. _________________________________________________________________ IDEAL DE FORMACIN El ideal de formacin de esta materia, est en dar al estudiante del pregrado de Ingeniera de Sistemas, las herramientas necesarias para analizar problemticas del mundo real y utilizar el lenguaje de programacin como herramienta fundante para la construccin de soluciones computacionales capaces de dar respuesta a los fundamentos axiales y procedimentales de dichas problemticas. El estudiante comprender la esencia de las estructuras de datos, su importancia en la construccin de aplicaciones y el impacto de los algoritmos en el uso eficiente de las mismas, con el fin de apoyar la construccin de procesos de negocio, que hagan de dichas estructuras su referente de inflexin para la organizacin, optimizacin, procesamiento y distribucin de informacin til y eficiente para la resolucin de problemas del mundo real. __________________________________________________________________

COMPETENCIAS Los estudiantes a travs del contenido deben alcanzar el desarrollo de las siguientes habilidades, actitudes y aptitudes: COMUNICATIVA: En el espacio comunicativo, el estudiante tendr la habilidad de:

Expresar apropiadamente problemas de programacin mediante la definicin formal de su contexto, identificando el mundo de un problema y enfocando el aspecto del diseo como herramienta para llegar a la solucin. Saber expresar un problema de programacin y plasmarlo a travs de casos de uso, diagramas de clase y finalmente cdigo fuente de un lenguaje nativo de programacin orientado a objetos. Definir apropiadamente clases con su apropiada autodocumentacin interna, con el objeto de fomentar la organizacin en la estructura de las tcnicas modernas de programacin, y con ello propender por el mantenimiento y la reusabilidad de las aplicaciones de Software. Ser capaz de establecer documentos que permitan desde la perspectiva tcnica y funcional, especificar problemticas especficas de desarrollo de aplicaciones y fundamentar porqu el uso de ciertas estructuras de datos, es fundamental para la construccin de las especificidades de dicha solucin informtica. COGNITIVA: El estudiante desarrollar: Capacidad para entender cules son las principales herramientas del anlisis lgico y matemtico en la elaboracin de soluciones algortmicas. Habilidad para entender las diferencias entre los distintos tipos de programacin y capacidad para llevar dichos conocimientos a la realizacin de procedimientos de solucin de problemas del entorno social y cultural. Capacidad para entender qu tipo de estructura de programacin a aplicar, dependiendo de los requerimientos y necesidades postulados por un problema de carcter procedimental o de automatizacin. Destreza en el manejo de los principales conceptos de la orientacin a objetos, los cuales en ltima instancia son la base del desarrollo actual de los paradigmas contemporneos de programacin. Crear estructuras de datos, mediante el uso del paradigma orientado a objetos y emplear dichas clases reutilizables para integrar aplicaciones computacionales de mayor complejidad y uso concreto. CONTEXTUAL: A nivel conceptual, el educando generar: Habilidad para definir la estructura visual de un algoritmo y llevar dicha representacin a la implementacin concreta bajo un lenguaje de programacin orientado a objetos, en este caso, Java. Capacidad para distinguir entre los diversos tipos de datos y emplearlos adecuadamente a la hora de plasmar conceptos del mundo real, en representaciones algormitcas abstractas y luego en sus implementaciones concretas a nivel de pseudocdigo y cdigo fuente nativo. Destreza en la creacin de clases de Java y su compilacin empleando tanto herramientas rudimentarias de compilacin y depuracin, como IDES de programacin ms especializados.

Habilidad para identificar los principales paquetes y clases de Java, tiles para crear bibliotecas personalizadas de programador. VALORATIVA: En el mbito valorativo, el estudiante podr: Analizar la importancia de la programacin como una herramienta de construccin de soluciones a los problemas de la vida cotidiana. Tener habilidad para trabajar en equipo, valorando la opinin ajena y generando criterios y patrones de anlisis lgico que le faciliten la discusin de los problemas, en aras de lograr soluciones ptimas y realizables. Formar un criterio a la hora de toma decisiones sobre qu solucin de implementacin de cdigo puede ser la ms pertinente, ajustando las necesidades del desarrollo a la capacidad de cmputo disponible y a los requerimientos derivados de los clientes en cuestin. __________________________________________________________________

DISTRIBUCIN DE CONTENIDOS FASCCULO I LOGROS Al finalizar el estudio de este fascculo el estudiante: . Entender la esencia de las clases y los objetos . Verificar los principales componentes en el diseo de una aplicacin Java . Comprender la esencia del paradigma orientado a objetos . Retomar la esencia de la programacin bsica y estructurada y la tomar como base para migrar hacia el paradigma de objetos y las herramientas de su implementacin. CONTENIDO UNIDAD I: PARADIGMA ORIENTADO A OBJETOS EN JAVA

1.1 1.2 1.3 1.4 1.5

Java Bsico Referencias del Lenguaje Java Objetos y Clases Herencia e Interfaces Polimorfismo y Encapsulamiento

FASCCULO II

LOGROS Al finalizar el estudio de este fascculo el estudiante: . Comprender como implementar adecuadamente un mtodo, parametrizarlo, definir su retorno y estructurar el algoritmo que da esencia a su funcionalidad. . Establecer la esencia de los mtodos constructores y visualizar su importancia como mecanismos para la generacin de nuevos tipos de datos y como una forma de dar vida a los objetos en el entorno de la mquina virtual. . Entender como pasar informacin a un mtodo ya sea desde datos estticos o desde valores variables alimentados desde los mecanismos de entrada del lenguaje de programacin.

UNIDAD II: MTODOS, ESTRUCTURA, ENCAPSULAMIENTO Y ADMINISTRACIN DE ERRORES 2.1 Implementacin de mtodos en Java (La Declaracin de Mtodo, Devolver un Valor desde un Mtodo, Un Nombre de Mtodo, Caractersticas Avanzadas de la Declaracin de Mtodos) 2.2 Pasar Informacin a un Mtodo (Tipos de Argumentos, Nombres de Argumentos, Paso por Valor) 2.3 El Cuerpo de un Mtodo (this, super, Variables Locales) 2.4 Controlar el Acceso a los Miembros de la Clase (Private, Protected, Public, Acceso de Paquete) 2.5 Constructores 2.6 Excepciones

FASCCULO III LOGROS Al finalizar el estudio de este fascculo el estudiante: . Aprender que es un arreglo, y cmo es posible instanciarlo de forma dinmica mediante los recursos de instanciacin del lenguaje de programacin. . Establecer el concepto de indizador, recorrido, navegabilidad por el arreglo y aprender como implementar mtodos en el lenguaje que le permitan separar y dividir convenientemente las operaciones sobre este tipo de estructura de datos. . Establecer las funcionalidades bsicas de los arreglos y aprender a utilizarlos como recurso para almacenar colecciones de datos de tipos primitivos y de tipos complejos.

. Construir algoritmos de bsqueda y ordenamiento y los emplear para obtener datos de forma coherente y para facilitar tareas de organizacin de registros en tiempo de ejecucin.

UNIDAD III: ESTRUCTURAS LINEALES DE DATOS 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Arreglos Unidimensionales Arreglos Bidimensionales Arreglos Multidimensionales Resolucin de Problemas con Arreglos Clases para la Implementacin de Arreglos Mtodos de Bsqueda en Arreglos Mtodos de Ordenamiento de Arreglos

FASCCULO IV LOGROS Al finalizar el estudio de este fascculo el estudiante: . Aprender a establecer las diferencias clave entre los arreglos y las pilas, y la forma cmo es posible manipular datos entre ambas estructuras de datos. . Comprender el concepto de pila y cola como recurso de almacenamiento de datos y de recuperacin mediante secuencias de tipo LIFO y FIFO. . Desarrollar interfaces que permitan implementar mtodos de estructuracin de operaciones sobre pilas y colas, y los emplear para desarrollar objetos de almacenamiento de registros basados en estas estructuras. . Construir problemas de recursividad y manejo de pilas y colas como mecanismo para implementar aplicaciones informticas que puedan manejar datos mediante recursos dinmicos de entrada y salida.

UNIDAD IV: ESTRUCTURAS LINEALES DE APILAMIENTO Y ENCOLAMIENTO

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8

Definicin de una Pila Operaciones de una Pila Clases para la Implementacin de Pilas Definicin de una Cola Colas Simples Colas Circulares y Dobles Operaciones Clases para la Implementacin de Colas

FASCCULO V LOGROS Al finalizar el estudio de este fascculo el estudiante: . Aprender que es una lista enlazada de datos y como mediante el recurso de nodos, se vinculan los diferentes elementos que la conforman. . Comprender cul es la diferencia entre una lista enlazada simple y una lista doblemente enlazada y utilizar ambas estructuras para desarrollar aplicaciones que puedan emplear este concepto, tales como agendas telefnicas, listados de registros interrelacionados y cualquier programa capaz de manipular informacin hacia adelante y hacia atrs. . Establecer el concepto de multilista como estructura dinmica de implementacin de coleccin de colecciones de datos y lo usar para implementar aplicaciones que manipulen muchos registros de forma estructurada. . Emplear la lista enlazada como recurso dinmico para la construccin de aplicaciones que pueden manipular colecciones de objetos, y el concepto de acceso por medio de mtodos a los recursos contenidos en dichas colecciones.

UNIDAD V: LISTAS ENLAZADAS DE DATOS 5.1 5.2 5.3 5.4 5.5 Listas Simples Listas Dobles Listas Circulares Multilistas Clases para la Implementacin de Listas

FASCCULO VI LOGROS Al finalizar el estudio de este fascculo el estudiante: . Establecer la diferencia entre una estructura lineal y una estructura no lineal de datos, identificando los principales mtodos que implementan ambos tipos de mecanismos de almacenamiento de informacin. . Ser capaz de comprender la importancia del rbol binario y n-ario como recurso para el almacenamiento recursivo de datos y como una forma de optimizar la distribucin de informacin mediante una estructura de recorrido escalar y basado en subdivisiones o particiones. . Sabr identificar las diferencias en los recorridos a travs de los rboles mediante los procedimientos de navegacin inorden, preorden y postorden, y sabr utilizar dichos recursos como forma de resolver problemas de anlisis sintctico de expresiones.

UNIDAD NO. VI: ESTRUCTURAS NO LINEALES DE DATOS (RBOLES) 6.1 6.2 6.3 6.4 6.5 6.6 6.7 rboles Generales rboles Binarios Recorridos de un rbol Binario Clases para la Implementacin de rboles Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden

FASCCULO VII LOGROS Al finalizar el estudio de este fascculo el estudiante: . Aprender la diferencia entre la estructura de datos (lineal o no lineal) y el archivo, como recursos para el almacenamiento de datos de forma no persistente y persistente, respectivamente. . Desarrollar mtodos en el lenguaje de programacin para realizar las principales operaciones de lectura, manipulacin, escritura y recorrido sobre archivos de datos. . Identificar los principales recursos y objetos provistos por el lenguaje de programacin para la implementacin de aplicaciones que hacen uso de los sistemas de lectura y parametrizacin de archivos. . Identificar el concepto de grafo y utilizar las estructuras de datos arbreas para la creacin de aplicaciones que mediante algoritmos de recorrido de grafos, permitan resolver problemas de lgica de negocio y optimizacin de recursos. UNIDAD VII: ACCESO A ARCHIVOS Y RESOLUCIN DE PROBLEMAS CON ESTRUCTURAS DE GRAFOS 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 Definicin del concepto de archivo Operaciones sobre archivos de datos (planos y binarios) Creacin de Flujos de Entrada y Salida Implementacin de Aplicaciones que hacen uso del manejo de archivos Definicin de Grafos Tipos de Grafos Representacin de los Grafos en Memoria Clases para la Implementacin de Grafos

FASCCULO VIII LOGROS Al finalizar el estudio de este fascculo el estudiante:

. Identificar las principales caractersticas de las API propias de Sun para el desarrollo y uso de estructuras de datos que permiten almacenar datos de todo tipo. . Comprender las principales caractersticas y el uso de los mtodos en objetos de tipo lista proporcionados por Java para la manipulacin de datos ya sean estos de tipo primitivo o de tipo abstracto (objetos). . Aprender a implementar mtodos que hagan uso de estas estructuras, a navegarlas y a usar otros objetos que interacten con este tipo de estructuras nativas del lenguaje de programacin, implementadas como interfaces de la plataforma de Sun. . Verificar los conceptos de moldeo de datos y utilizar la generalizacin como un recurso para garantizar el casteo o moldeo automtico de objetos y con ello el acceso adecuado y el control de excepciones de conversin de datos en tiempo de ejecucin.

UNIDAD VIII: ESTRUCTURAS DE DATOS IMPLEMENTADAS POR JAVA

8.1 8.2 8.3 8.4 8.5 8.6

Introduccin a las API Collections La Interfaz Collection La Interfaz List La Interfaz Set La Interfaz Map El Futuro de API Collections: Generics

__________________________________________________________________ ACCION TUTORIAL

Es la organizacin de un tiempo y un espacio para crear ambientes de aprendizaje, donde el tutor y el estudiante realicen actividades pedaggicas y didcticas, de fortalecimiento de valores y actitudes, de estudio colaborativo y de evaluacin permanente, para integrar los contenidos, buscando la formacin con sentido y significado para los estudiantes. La accin tutorial puede ser presencial sincrnica, o virtual asincrnica. La accin tutorial comprende cuatro momentos fundamentales: Estudio personal anticipado del material educativo: Consistir en la lectura detallada de las guas de estudio, la interiorizacin de las explicaciones de conceptos mostrados a travs de ejemplos y la recoleccin de inquietudes que los estudiantes debern realizar a travs de

un formato de preguntas que deber ser expuesto en los foros de una Plataforma Virtual designada para tal fin de interaccin entre el docente y los estudiantes. Encuentros tutoriales presencial y virtual: Estos sern programados por el Programa Acadmico y se ejecutarn a travs de diferentes espacios, tales como salidas programadas a las sedes de la Institucin ubicadas en las zonas donde actualmente los estudiantes realicen su proceso de formacin a distancia. En el mbito virtual, una plataforma LMS ser habilitada para tal fin y en fechas especficas, igualmente programadas por el Programa Acadmico se realizarn chats interactivos donde los estudiantes se encontrarn con el docente para realizar debates sobre los temas parcelados de cada fascculo del programa de formacin a distancia. Socializacin del conocimiento adquirido a travs del autoestudio: Los estudiantes debern ejecutar como parte de su programa de formacin, mediante instructivo dado en las guas de estudio y aprendizaje, una cartelera virtual (presentacin de diapositivas) donde expongan los temas vistos en las guas de formacin y adjunten a dicha presentacin, una aplicacin Java ejecutable comprimida en un archivo .zip o .rar que contendr las especificaciones de documentacin, codificacin, comentarios internos y paquetes necesarios para el despliegue de dicha aplicacin como complemento tangencial del tema expuesto en las carteleras virtuales.

Figura No. 1: Ejemplo de Proyecto Java y de su implementacin. Los estudiantes debern realizar en las carteleras virtuales la explicacin de los conceptos y construir bajo Eclipse una aplicacin Java que implemente el concepto y los temas tratados.

Evaluacin permanente de los avances del autoaprendizaje: Esta se ejecutar a travs de los quices en la plataforma interactiva, los talleres entregados por los estudiantes en las fechas propuestas y la retroalimentacin constante que el docente realice de los trabajos a travs de informes escritos tal como el que se observa en la figura no. 3 y con un constante seguimiento a travs de la Plataforma Virtual (figura no. 2) provista por la Institucin para tal fin.

Figura No. 2: Plataforma Virtual para la interaccin entre docentes y estudiantes

Figura No. 3: Ejemplo de los informes de retroalimentacin de trabajos, talleres y laboratorios para el proceso de evaluacin de aprendizaje _________________________________________________________________ CRITERIOS DE EVALUACIN

EVALUACIONES PARCIALES (Trabajos escritos, proyecto de Investigacin, evaluaciones Orales, sustentaciones orales y escritas entre otros) AUTO EVALUACIN (Evaluaciones para el seguimiento al autoaprendizaje)

60%

10%

EVALUACIN FINAL 30% _________________________________________________________________ MEDIADORES PEDAGGICOS Y APOYOS DIDCTICOS Los Escenarios Mltiples son una estrategia pedaggica en la que el estudiante crea diversos espacios de aprendizaje autnomo, haciendo uso de mediadores educativos, acorde con su disponibilidad de tiempo, espacio o recursos econmicos o necesidades familiares, personales o laborales. Un mediador educativo es la va y los medios que facilitan la interaccin entre el conocimiento y prctica, y el sujeto que aprende para la comprensin. Estos son: El tutor, el material educativo escrito, el aula virtual, la biblioteca, la agenda de autoaprendizaje y apoyos didcticos. Los recursos didcticos son esenciales en el proyecto de educacin a travs de escenarios mltiples. Se trata, entonces, de utilizar para el aprendizaje del estudiante, modernas tecnologas de telecomunicacin y de redes electrnicas que posibilitan el acceso a la informacin y al conocimiento cientfico de cada disciplina. El aula virtual es un complemento para facilitar el avance para alcanzar los logros de la asignatura. __________________________________________________________________ BIBLIOGRAFA RECOMENDADA Becerra Santamaria, Cesar Estructuras de datos en Java, 2000. Editorial Kimpress Ltda. Robert L Kruse. Estructuras de datos y programas. Editorial: Prentice Hall (Mxico). ISBN: 968-8800-73-2 Cairo. Estructuras de datos. Ed. McGraw-Hill, 1992. Ullman Hopcroft, Aho. Estructuras de datos y algoritmos. Adison-Wesley, 1988. 413 Pginas. ISBN: 968-6048-19-7. Wirth, Niklauss. Algoritmos ms estructuras igual programas. Allen Weiss, Mark. Estructuras de Datos con Java, Editorial Pearson Education, 776 Pginas. ISBN: 847-8290-35-4 Langsam, Yedidyah. Augestein, Moseh J. Tenenbaum, Aaron M. Estructuras de Datos con C y C++, Editorial Prentice Hall, 1997. _________________________________________________________________

Вам также может понравиться