Matemáticas
Grado y Doble Grado. Curso 2024/2025.
DISEÑO DE ALGORITMOS - 800615
Curso Académico 2024-25
Datos Generales
- Plan de estudios: 0803 - GRADO EN MATEMÁTICAS (2009-10)
- Carácter: Optativa
- ECTS: 6.0
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.
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.
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
Relacionar debidamente los mecanismos iterativos y recursivos como medios básicos para describir algoritmos. (CG4, CE5)
Saber calcular el coste de los algoritmos, tanto iterativos como recursivos. (CE1)
Conocer los métodos generales de diseño de algoritmos, y ser capaz de utilizarlos de manera más o menos mecánica para resolver problemas complejos, siendo consciente de la complejidad de los algoritmos que se obtengan en cada caso. (CG1, CG3, CE1, CE5)
Saber calcular el coste de los algoritmos, tanto iterativos como recursivos. (CE1)
Conocer los métodos generales de diseño de algoritmos, y ser capaz de utilizarlos de manera más o menos mecánica para resolver problemas complejos, siendo consciente de la complejidad de los algoritmos que se obtengan en cada caso. (CG1, CG3, CE1, CE5)
ACTIVIDADES DOCENTES
Clases teóricas
Exposición del contenido básico de los temas y presentación de ejemplos representativos que ilustren las distintas técnicas y métodos.
Seminarios
Exposición de temas complementarios preparados por los alumnos.
Clases prácticas
Realización de ejercicios. Discusión de las soluciones aportadas por los alumnos a los ejercicios más interesantes.
Laboratorios
Realización de prácticas de programación y verificación de algoritmos.
Otras actividades
Implementación en algún lenguaje de programación de los algoritmos diseñados para algunos de los ejercicios propuestos.
Presenciales
2
No presenciales
4
Semestre
8
Breve descriptor:
Verificacion y derivacion de programas correctos. Esquemas algoritmicos para la resolucion de problemas.
Requisitos
Informática, Lógica matemática y Estructuras de datos.
Objetivos
El objetivo principal de esta asignatura es que los alumnos aprendan a utilizar metodologías y técnicas para el diseño y desarrollo de programas correctos de tamaño medio. Se estudian los métodos generales de diseño de algoritmos y cómo aplicarlos en el desarrollo de soluciones para problemas variados. Se aprenderá a valorar cuál de los distintos métodos aplicables al desarrollo de una solución es mejor para cada caso concreto desde el punto de vista de la complejidad.
Contenido
-Diseño de algoritmos sencillos correctos: Especificación de algoritmos. Diseño y análisis de algoritmos iterativos y recursivos.
-Métodos generales de programación: Método divide y vencerás. Algoritmos voraces. Programación Dinámica. Métodos de exploración exhaustiva: vuelta atrás y ramificación y poda.
-Métodos generales de programación: Método divide y vencerás. Algoritmos voraces. Programación Dinámica. Métodos de exploración exhaustiva: vuelta atrás y ramificación y poda.
Evaluación
La calificación final tendra en cuenta:
Exámenes sobre la materia: 75%
Entrega de prácticas y ejercicios: 25%
En la convocatoria extraordinaria se tendrá en cuenta la entrega de prácticas y ejercicios (25%) realizados durante el curso y la realización del examen final (75%).
Para aprobar la asignatura es necesario obtener un mínimo de 5 puntos en el examen.
En los exámenes se plantearán ejercicios similares a los resueltos durante el curso.
Exámenes sobre la materia: 75%
Entrega de prácticas y ejercicios: 25%
En la convocatoria extraordinaria se tendrá en cuenta la entrega de prácticas y ejercicios (25%) realizados durante el curso y la realización del examen final (75%).
Para aprobar la asignatura es necesario obtener un mínimo de 5 puntos en el examen.
En los exámenes se plantearán ejercicios similares a los resueltos durante el curso.
Bibliografía
- Martí Oliet, N., Segura, C., Verdejo, J.A. (2012), Algoritmos correctos y eficientes: diseño razonado ilustrado con ejercicios, Garceta Grupo Editorial.
- 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. (2005), Diseño de programas. Formalismo y abstracción (3ª edición), Prentice Hall.
- Peña Marí, R. (2019), Algoritmos y estructuras de datos. Con programas verificados en Dafny, Garceta Grupo Editorial.
- Brassard, G., Bratley, P. (1996), Fundamentals of algorithmics, Prentice Hall International. Versión en castellano: Fundamentos de algoritmia, Prentice Hall, 1997.
- Neapolitan, R., (2015), Foundations of algorithms, Jones & Bartlett Publishers.
- Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C. (2009) Introduction to algorithms (3ª edición), The MIT Press.
- Leino, K.R.M. (2022), Program Proofs. The MIT Press, 2023.
- Skiena, S. S. (2020), The Algorithm Design Manual (3ª edición), Springer, 2020.
- 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. (2005), Diseño de programas. Formalismo y abstracción (3ª edición), Prentice Hall.
- Peña Marí, R. (2019), Algoritmos y estructuras de datos. Con programas verificados en Dafny, Garceta Grupo Editorial.
- Brassard, G., Bratley, P. (1996), Fundamentals of algorithmics, Prentice Hall International. Versión en castellano: Fundamentos de algoritmia, Prentice Hall, 1997.
- Neapolitan, R., (2015), Foundations of algorithms, Jones & Bartlett Publishers.
- Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C. (2009) Introduction to algorithms (3ª edición), The MIT Press.
- Leino, K.R.M. (2022), Program Proofs. The MIT Press, 2023.
- Skiena, S. S. (2020), The Algorithm Design Manual (3ª edición), Springer, 2020.
Otra información relevante
La asignatura dispondrá de un espacio en el Campus virtual que albergará la documentación que se considere necesaria, un foro de discusión y un sistema de intercambio de mensajes alumno-profesor.
Estructura
Módulos | Materias |
---|---|
CIENCIAS DE LA COMPUTACIÓN | FUNDAMENTOS DE LA PROGRAMACIÓN |
Grupos
Clases teóricas | ||||
---|---|---|---|---|
Grupo | Periodos | Horarios | Aula | Profesor |
Grupo único | 20/01/2025 - 09/05/2025 | LUNES 09:00 - 10:00 | S-106 | MANUEL MONTENEGRO MONTES |
MIÉRCOLES 09:00 - 10:00 | S-106 | MANUEL MONTENEGRO MONTES |
Clases prácticas | ||||
---|---|---|---|---|
Grupo | Periodos | Horarios | Aula | Profesor |
Grupo único | 20/01/2025 - 09/05/2025 | JUEVES 11:00 - 12:00 | S-106 | MANUEL MONTENEGRO MONTES |
Clases aula de informática | ||||
---|---|---|---|---|
Grupo | Periodos | Horarios | Aula | Profesor |
Subgrupo U1 | 20/01/2025 - 09/05/2025 | MARTES 09:00 - 10:00 | INF4 Aula de Informática | MANUEL MONTENEGRO MONTES |
Subgrupo U2 | 20/01/2025 - 09/05/2025 | MARTES 13:00 - 14:00 | INF4 Aula de Informática | MANUEL MONTENEGRO MONTES |