Conocimiento básico de conceptos matemáticos: lógica, teoría de funciones, estructura algebraica, mínima capacidad de abstracción y expresión matemática. Es suficiente con haber aprobado las asignaturas de Álgebra y Cálculo.
Conocimiento del lenguaje de programación Java a nivel básico, de un entorno de programación y de los fundamentos de los sistemas de información. Es suficiente con haber aprobado la asignaturas Fundamentos de Programación (I y II) y Sistemas de Información.
Estructura de Datos pertenece a la materia de Programación y forma parte del módulo Común a la Rama de Informática del Grado en Ingeniería Informática.
La asignatura puede verse como la continuación lógica de Fundamentos de Programación II, estudiando nuevas estructuras de datos y desde nuevos puntos de vista, aparte de su uso: cómo de definen formalmente y cómo se implementan, de forma que puedan incorporarse a un entorno de programación como parte de su biblioteca.
Su continuación lógica será en la asignatura de Metodología de la Programación, donde cada esquema algorítmico puede tener una inmediata aplicación sobre las nuevas estructuras de datos (ordenación de estructuras lineales, exploraciones voraces o dinámicas de árboles, caminos óptimos sobre grafos, etc.). También en la asignatura de Programación Declarativa (intensificación de Computación), además de ser imprescindibles ciertos conocimientos adquiridos (listas, planteamientos recursivos, etc.), se profundizará en la definición de las estructuras de datos vistas, resolviendo importantes lagunas de expresividad y eficiencia (herencia, orden superior, estructuras infinitas, etc.).
Pero, tanto en el resto de la carrera como en la vida profesional, se deberán implementar aplicaciones donde se requieran estructuras de datos de cierta complejidad. Los lenguajes que suelen usarse pueden proporcionar estructuras adecuadas (listas, colas, etc.) que, para ser usadas correctamente, es necesario haberlas estudiado con cierto detalle. Otras veces no las proporcionan (árboles y grafos), por lo será necesario saber incorporarlas. Por otro lado, la utilización de estructuras de datos, desde el punto de vista de su diseño y análisis, proporcionará un nivel de abstracción y destrezas de programación (recursión, modularización, etc.) muy necesarios en cualquier otra labor de desarrollo de software.
Competencias propias de la asignatura | |
---|---|
Código | Descripción |
BA04 | Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería. |
CO06 | Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos. |
CO07 | Conocimiento, diseño y utilización de forma eficiente de los tipos y estructuras de datos más adecuados para la resolución de un problema. |
CO08 | Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados. |
PER01 | Capacidad de trabajo en equipo. |
PER04 | Capacidad de relación interpersonal. |
Resultados de aprendizaje propios de la asignatura | |
---|---|
Descripción | |
Aplicar los principios básicos de diseño estructurado y orientado a objetos para la resolución de problemas. | |
Saber manejar tipos de datos, estructuras de datos y tipos abstractos de datos de forma correcta y adecuada a los problemas, así como su especificación formal, implementación y utilización de los tipos abstractos de datos lineales y no lineales. | |
Resultados adicionales | |
No se han establecido. |
[ENGLISH] Syllabus:
Unit 1. Introduction.
Topic 1.1. Presentation and preliminary concepts.
Topic 1.2. Data structures and efficiency.
Unit 2. Formal description of ADTs.
Topic 2.1. Formal specification with Haskell.
Topic 2.2. Example: sets.
Topic 2.3. Implementing an ADT.
Unit 3. Linear ADTs.
Topic 3.1. Lists. Specification and examples.
Topic 3.2. Implementing lists.
Topic 3.3. Stacks and Queues. Specification and implementation.
Unit 4. Non linear ADTs. Trees.
Topic 4.1. General trees. Specification.
Topic 4.2. Binary trees. Specification and implementation.
Topic 4.3. Search trees. Implementation.
Topic 4.4. Balance and efficiency. AVL trees.
Unit 5. Graphs.
Topic 5.1. Introduction.
Topic 5.2. Specification of undirected graphs.
Topic 5.3. Static implementation of graphs.
Actividad formativa | Metodología | Competencias relacionadas (para títulos anteriores a RD 822/2021) | ECTS | Horas | Ev | Ob | Descripción | |
Enseñanza presencial (Teoría) [PRESENCIAL] | Método expositivo/Lección magistral | BA04 CO06 CO07 CO08 | 0.68 | 17 | S | N | Clase (grupos grandes) | |
Resolución de problemas o casos [PRESENCIAL] | Resolución de ejercicios y problemas | BA04 CO06 CO07 CO08 PER01 PER04 | 0.68 | 17 | S | N | Clase (grupos grandes) | |
Prácticas en aulas de ordenadores [PRESENCIAL] | Resolución de ejercicios y problemas | BA04 CO06 CO07 CO08 PER01 PER04 | 0.28 | 7 | S | N | Laboratorio (grupos pequeños). Ejercicios de forma individual. | |
Prácticas en aulas de ordenadores [PRESENCIAL] | Prácticas | BA04 CO06 CO07 CO08 PER01 PER04 | 0.28 | 7 | S | N | Laboratorio (grupos pequeños). Recuperable en examen ordinario/extraordinario de forma oral/escrita. | |
Pruebas de progreso [PRESENCIAL] | Pruebas de evaluación | BA04 CO06 CO07 CO08 | 0.48 | 12 | S | N | Controles en clase y laboratorio. Recuperable en examen ordinario/extraordinario de forma oral/escrita. | |
Prueba final [PRESENCIAL] | Pruebas de evaluación | BA04 CO06 CO07 CO08 | 0.24 | 6 | S | N | Examen de evaluación ordinario/extraordinario. Examen ordinario recuperable en examen extraordinario de forma oral/escrita. | |
Elaboración de memorias de Prácticas [AUTÓNOMA] | Aprendizaje basado en problemas (ABP) | BA04 CO06 CO07 CO08 PER01 PER04 | 0.8 | 20 | S | N | Entregables, etc. de forma individual. Recuperable en examen ordinario/extraordinario de forma oral/escrita. | |
Estudio o preparación de pruebas [AUTÓNOMA] | Trabajo autónomo | BA04 CO06 CO07 CO08 PER01 PER04 | 2.56 | 64 | S | N | Repaso y ampliación de temas. Resolución de ejercicios. Terminar prácticas. Preparación de Controles. | |
Total: | 6 | 150 | ||||||
Créditos totales de trabajo presencial: 2.64 | Horas totales de trabajo presencial: 66 | |||||||
Créditos totales de trabajo autónomo: 3.36 | Horas totales de trabajo autónomo: 84 |
Ev: Actividad formativa evaluable Ob: Actividad formativa de superación obligatoria (Será imprescindible su superación tanto en evaluación continua como no continua)
Sistema de evaluación | Evaluacion continua | Evaluación no continua * | Descripción |
Pruebas de progreso | 70.00% | 0.00% | Controles sobre conociemientos adquiridos en clase y laboratorio ([ESC]50%, [LAB]20%) |
Elaboración de memorias de prácticas | 20.00% | 20.00% | Entregables (Moodle, etc.) para lo que podrán realizarse pruebas presenciales para su valoración ([INF]20%) |
Valoración de la participación con aprovechamiento en clase | 10.00% | 0.00% | Participación presencial con exposiciones sobre conceptos y soluciones de ejercicios ([PRES]10%) |
Prueba final | 0.00% | 80.00% | Prueba sobre el temario completo de la asignatura ([ESC]80%) |
Total: | 100.00% | 100.00% |
No asignables a temas | |
---|---|
Horas | Suma horas |
Prueba final [PRESENCIAL][Pruebas de evaluación] | 6 |
Tema 1 (de 5): Introducción | |
---|---|
Actividades formativas | Horas |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 2 |
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] | 6 |
Tema 2 (de 5): Descripción formal de TADs. | |
---|---|
Actividades formativas | Horas |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 3 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 1 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 1 |
Elaboración de memorias de Prácticas [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] | 2 |
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] | 10 |
Tema 3 (de 5): TADs lineales. | |
---|---|
Actividades formativas | Horas |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 4 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 2 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 2 |
Pruebas de progreso [PRESENCIAL][Pruebas de evaluación] | 4 |
Elaboración de memorias de Prácticas [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] | 6 |
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] | 16 |
Comentario: Incluye 4 horas de pruebas de progreso (control 1) para los temas 1 2 y 3 |
Tema 4 (de 5): TADs no lineales. Árboles. | |
---|---|
Actividades formativas | Horas |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 4 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 2 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 2 |
Pruebas de progreso [PRESENCIAL][Pruebas de evaluación] | 4 |
Elaboración de memorias de Prácticas [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] | 6 |
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] | 16 |
Tema 5 (de 5): Grafos. | |
---|---|
Actividades formativas | Horas |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 4 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 2 |
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] | 2 |
Pruebas de progreso [PRESENCIAL][Pruebas de evaluación] | 4 |
Elaboración de memorias de Prácticas [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] | 6 |
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] | 16 |
Actividad global | |
---|---|
Actividades formativas | Suma horas |
Comentarios generales sobre la planificación: | Esta planificación es ORIENTATIVA, pudiendo variar a lo largo del curso en función de las necesidades docentes, festividades, etc. La planificación semana a semana de la asignatura podrá encontrarse en la plataforma Campus Virtual (Moodle). La asignatura se imparte en tres sesiones semanales de 1,5 horas. |
Autor/es | Título | Libro/Revista | Población | Editorial | ISBN | Año | Descripción | Enlace Web | Catálogo biblioteca |
---|---|---|---|---|---|---|---|---|---|
Java ES con NetBeans + Documentación | http://java.sun.com/javase/downloads/index.jsp | ||||||||
Java. Tutorial online | http://java.sun.com/docs/books/tutorial/java/TOC.html | ||||||||
Página oficial de Haskell | http://haskell.org | ||||||||
Tutorial de Haskell | http://www.haskell.org/tutorial/ | ||||||||
Bird, R.; Walder, P. | Introducción a la Programación Funcional en Haskell | Prentice-Hall | 84-8322-176-4 | 2000 | http://books.google.es/books?id=xIlyOiGOC6EC&printsec=frontcover&dq=haskell+bird&hl=es&ei=-ACQTLa9IIHxOe6WqOkM&sa=X&oi=book_result&ct=result&resnum=1&ved=0CC4Q6AEwAA#v=onepage&q&f=false |
![]() |
|||
Ehrig, H., Mahr, B. | Fundamentals of Algebraic Specifications | Springer-Verlag | 3-540-51799-5 | 1990 | http://books.google.es/books?id=sq1Ktr9W3RgC&lpg=PA41&dq=abstract%20data%20types&pg=PP1#v=onepage&q=abstract%20data%20types&f=false | ||||
Goodrich, Michael T. | Data structures and algorithms in Java | Wiley & Sons | 978-0-470-39880-7 | 2011 |
![]() |
||||
Lafore, R. | Data Structures and algorithms in Java | Sams Publishing | 2002 | ||||||
Lewis, John | Estructuras de datos con Java : diseño de estructuras y algo | Pearson Educación | 84-205-5034-5 | 2006 |
![]() |
||||
Nell, Dale | Abstract data types : specifications, implementations and ap | D. C. Heath and Company | 978-0-669-40000-7 | 1996 | http://books.google.es/books?id=hJ6IOaiHVYUC&printsec=frontcover&dq=Dale+Walker+Abstract+data+types |
![]() |