Última actualización: 04/01/2021


Curso Académico: 2020/2021

Estructuras de datos y algoritmos
(18267)
Grado en Matemática Aplicada y Computación (Plan: 433 - Estudio: 362)


Coordinador/a: SEGURA BEDMAR, ISABEL

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Formación Básica
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:

Rama de Conocimiento: Ingeniería y Arquitectura



Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
- Programación. - Cálculo
CB1.Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio CB2.Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio CB3.Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética CB4.Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado CB5.Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía CG1 - Que los estudiantes sean capaces de demostrar conocimiento y comprensión de conceptos de matemáticas, estadística y computación y aplicarlos a la resolución de problemas en ciencia e ingeniería con capacidad de análisis y síntesis. CG3 - Que los estudiantes puedan resolver computacionalmente con ayuda de las herramientas informáticas más avanzadas los modelos matemáticos que surjan de aplicaciones en la ciencia, la ingeniería, la economía y otras ciencias sociales. CG4 - Que los estudiantes demuestren que pueden analizar e interpretar las soluciones obtenidas con ayuda de la informática de los problemas asociados a modelos matemáticos del mundo real, discriminando los comportamientos más relevantes para cada aplicación. CG6 - Que los estudiantes sepan buscar y utilizar los recursos bibliográficos, en soporte físico o digital, necesarios para plantear y resolver matemática y computacionalmente problemas aplicados que surjan en entornos nuevos, poco conocidos o con información insuficiente. CE10 - Que los estudiantes hayan demostrado que conocen y comprender los procedimientos algorítmicos para diseñar y construir programas que solucionen problemas matemáticos prestando especial atención al rendimiento. CE12 - Que los estudiantes hayan demostrado que conocen las principales estructuras de datos siendo capaz de utilizarlas, diseñarlas e implementarlas determinando su complejidad computacional y de almacenamiento. CE17 - Que los estudiantes sepan aplicar las técnicas de verificación de software para determinar si un componente software cumple con sus especificaciones, siendo capaces de detectar errores en dichos componentes.
Descripción de contenidos: Programa
1. Tipo Abstracto de Datos 2. Tipos Abstractos de Datos lineales a. Pilas. b. Colas. d. Listas: simples y dobles. 3. Análisis de Algoritmos. a. Análisis Empírico. b. Análisis Teórico. Funciones Big-O. Mejor y peor caso. 4. Recursión I. 5. Árboles a. Conceptos generales b. Árboles binarios c. Recorridos d. Árboles Binarios de búsqueda. e. Equilibrado de árboles. 6. Grafos. a. Implementaciones. b. Algoritmos de recorridos. c. Algoritmo de camino mínimo. 7. Recursión II: Divide y Vencerás
Actividades formativas, metodología a utilizar y régimen de tutorías
1. Clases Teóricas: Tienen por objetivo alcanzar las competencias específicas cognitivas de la asignatura 2. Actividades académicas dirigidas por el profesor: 2.1. Con presencia del profesor: Resolución de ejercicios de análisis, diseño e implementación con distinto nivel de complejidad en colaboración con los alumnos. Parte de estas actividades se llevarán a cabo en laboratorio informático. 2.2. Sin presencia del profesor: Ejercicios, prácticas de implementación y lecturas básicas y complementarias propuestas por el profesor Además estas actividades pueden realizarse como: a). Trabajo individual: Consistente en el desarrollo de las soluciones a los problemas y ejercicios propuestos por el profesor. b). Trabajo en grupo: Consistente en el desarrollo de las soluciones a los problemas colectivos propuestos por el profesor. 3. Pruebas de evaluación intermedia y examen final de la asignatura. 4. Se realizará una tutoría colectiva por cada grupo pequeño para resolver las preguntas y dudas de los estudiantes.
Sistema de evaluación
  • Peso porcentual del Examen Final 40
  • Peso porcentual del resto de la evaluación 60

Bibliografía básica
  • Aho, A. V.; Hopcroft, J. E.; Ullman, J. D.. Estructuras de Datos y Algoritmos. Addison Wesley Iberoamericana.
  • Michael T. Goodrich and Roberto Tamassia. Data Structures and Algorithms in Python, . John Wiley & Sons. 2013
Recursos electrónicosRecursos Electrónicos *
Bibliografía complementaria
  • Isabel Segura Bedmar, Harith AlJumaily, Julian Moreno Schneider, Juan Perea & Nathan D. Ryan. Algorithms and Data Structures. OCW-UC3M: http://ocw.uc3m.es/ingenieria-informatica/algorithms-and-data-structures. 2011
  • Lourdes Araujo Serna, Raquel Martínez Unanue y Miguel Rodríguez Artacho. Programación y estructuras de datos avanzadas. UNED. 2011
(*) El acceso a algunos recursos electrónicos puede estar restringido a los miembros de la comunidad universitaria mediante su validación en campus global. Si esta fuera de la Universidad, establezca una VPN


El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.