Matemáticas

Grado y Doble Grado. Curso 2023/2024.

ESTRUCTURAS DE DATOS - 800614

Curso Académico 2023-24

Datos Generales

SINOPSIS

COMPETENCIAS

Generales
CG1 - Comprender y utilizar el lenguaje matemático. Adquirir la capacidad para enunciar proposiciones en distintos campos de la Matemática, para construir demostraciones y para transmitir los conocimientos matemáticos adquiridos.

CG3 - Asimilar la definición de un nuevo objeto matemático, en términos de otros ya conocidos, y ser capaz de utilizar este objeto en diferentes contextos.

CG4 - Saber abstraer las propiedades estructurales (de objetos matemáticos, de la realidad observada, y de otros ámbitos) distinguiéndolas de aquellas puramente ocasionales y poder comprobarlas con demostraciones o refutarlas con contraejemplos, así como identificar errores en razonamientos incorrectos.


Transversales
CT2 - Saber aplicar sus conocimientos a su trabajo o vocación de una forma profesional y poseer las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y en la resolución de problemas.

CT4 - Poder transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.

CT5 - Haber desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
Específicas
Definir con precisión los tipos de datos que aparecen en cualquier problema complicado. (CG1)
Utilizar los mecanismos de bajo nivel para representar los tipos estructurados dinámicos. (CG4)
Conocer los tipos estructurados más importantes y las formas eficientes de implementarlos. (CG2, CG3, CE5)
Saber compaginar los mecanismos y tipos aprendidos para implementar eficientemente cualquier tipo de datos. (CG3, CE5)

ACTIVIDADES DOCENTES

Clases teóricas
Exposición del contenido básico de los temas y presentación de ejemplos representativos que ilustren el diseño y uso de las distintas estructuras de datos.
Seminarios
Exposición de temas complementarios preparados por los alumnos.
Clases prácticas
Realización de ejercicios en pequeños grupos de alumnos. Discusión de las soluciones aportadas por los alumnos a los ejercicios más interesantes.
Laboratorios
Implementación en algún lenguaje de programación de las estructuras de datos estudiadas.

Presenciales

2

No presenciales

4

Semestre

7

Breve descriptor:

Analisis de la eficiencia de los algoritmos. Especificacion e implementacion de Tipos Abstractos de Datos.

Requisitos

Informática, Lógica matemática.

Objetivos

Obtener la capacidad de especificar tipos abstractos de datos (TAD), implementarlos con las estructuras de datos adecuadas, analizar la eficiencia de las implementaciones y utilizarlos en programas.

Contenido

1.- Análisis de la eficiencia de algoritmos. Medidas asintóticas de complejidad.
2.- Especificación e implementación de Tipos Abstractos de Datos.
3.- Tipos de datos lineales: pilas, colas, listas.
4.- Tipos de datos arborescentes: árboles, colas de prioridad, montículos.
5.- Diccionarios y tablas.
6.- Grafos.

Evaluación

La calificación final tendrá en cuenta:
Exámen sobre la materia: 60%
Entrega de prácticas: 30%
Otras actividades: 10%
En el apartado “Otras actividades” se podrá valorar la participación activa en el proceso de aprendizaje, la preparación y exposición de trabajos sobre los temas del seminario, la realización de prácticas y ejercicios y la realización de otras actividades dirigidas.
Para aprobar la aisgnatura es necesario obtener un mínimo de 4 en el examen.

En el examen final se plantearán ejercicios similares a los resueltos durante el curso.

Bibliografía

- Martí Oliet, N., Ortega Mallén,Y., Verdejo, J.A. (2013), Estructuras de datos y métodos algorítmicos - 213 Ejercicios resueltos (2ª Edición), Garceta Grupo Editorial.
- Peña Marí, R. (2019), Algoritmos y estructuras de datos. Con programas verificados en Dafny, Garceta Grupo Editorial.
- Peña Marí, R. (2005), Diseño de programas. Formalismo y abstracción (3ª edición), Prentice Hall.
- Donald Sannella, Andrzej Tarlecki. Foundations of Algebraic Specification and Formal Software Development.Springer-Verlag Berlin Heidelberg 2012.
- Brassard, G., Bratley, P. (1996), Fundamentals of algorithmics, Prentice Hall International. Versión en castellano: Fundamentos de algoritmia, Prentice Hall, 1997.
- Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C. (2009) Introduction to algorithms (3ª edición), The MIT Press.
- B. Stroustrup: The C++ Programming Language (Fourth Edition). May 2013. Addison Wesley. Reading Mass. USA. May 2013.
- Weiss, M. A. (2014), Data Structures and Algorithm Analysis in C++ (4ª edición), Pearson.

Otra información relevante

La asignatura dispondrá de un espacio en el Campus virtual que albergará la documentación que se considere necesaria así como un foro de discusión.

Estructura

MódulosMaterias
CIENCIAS DE LA COMPUTACIÓNFUNDAMENTOS DE LA PROGRAMACIÓN

Grupos

Clases teóricas
GrupoPeriodosHorariosAulaProfesor
Grupo único04/09/2023 - 15/12/2023LUNES 10:00 - 11:00S-106JORGE CARMONA RUBER
JUEVES 10:00 - 11:00S-106JORGE CARMONA RUBER


Clases prácticas
GrupoPeriodosHorariosAulaProfesor
Grupo único04/09/2023 - 15/12/2023MARTES 09:00 - 10:00S-106JORGE CARMONA RUBER


Clases aula de Informática
GrupoPeriodosHorariosAulaProfesor
Subgrupo U104/09/2023 - 15/12/2023JUEVES 09:00 - 10:00INF4 Aula de InformáticaJORGE CARMONA RUBER
Subgrupo U204/09/2023 - 15/12/2023JUEVES 13:00 - 14:00INF3 Aula de InformáticaJORGE CARMONA RUBER