Matemáticas
Grado y Doble Grado. Curso 2025/2026.
DISEÑO DE ALGORITMOS - 800615
Curso Académico 2025-26
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.
CG2 - Conocer demostraciones rigurosas de algunos teoremas clásicos en distintas áreas de la Matemática.
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.
CG2 - Conocer demostraciones rigurosas de algunos teoremas clásicos en distintas áreas de la Matemática.
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
CT1 - Haber demostrado poseer y comprender conocimientos en el área de las Matemáticas, partiendo de la base de la educación secundaria general, y alcanzando 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 dicha área.
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.
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
CE1 - Resolver problemas de Matemáticas, mediante habilidades de cálculo básico y otras técnicas.
CE2 - Proponer, analizar, validar e interpretar modelos de situaciones reales sencillas, utilizando las herramientas matemáticas más adecuadas a los fines que se persigan.
CE3 - Planificar la resolución de un problema en función de las herramientas de que se disponga y de las restricciones de tiempo y recursos.
CE5 - Desarrollar programas que resuelvan problemas matemáticos utilizando para cada caso el entorno computacional adecuado.
CE6 - Utilizar herramientas de búsqueda de recursos bibliográficos en Matemáticas.
CE7 - Comunicar, tanto por escrito como de forma oral, conocimientos, procedimientos, resultados e ideas matemáticas.
CE2 - Proponer, analizar, validar e interpretar modelos de situaciones reales sencillas, utilizando las herramientas matemáticas más adecuadas a los fines que se persigan.
CE3 - Planificar la resolución de un problema en función de las herramientas de que se disponga y de las restricciones de tiempo y recursos.
CE5 - Desarrollar programas que resuelvan problemas matemáticos utilizando para cada caso el entorno computacional adecuado.
CE6 - Utilizar herramientas de búsqueda de recursos bibliográficos en Matemáticas.
CE7 - Comunicar, tanto por escrito como de forma oral, conocimientos, procedimientos, resultados e ideas matemáticas.
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.
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
Se requieren conocimientos básicos de programación imperativa, correspondientes a la asignatura de Informática: variables, condicionales, bucles, tipos de datos compuestos (arrays, matrices, clases) y recursión.
Se recomienda haber cursado las asignaturas de Estructuras de datos y Lógica Matemática.
Se recomienda haber cursado las asignaturas de Estructuras de datos y Lógica Matemática.
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 tendrá en cuenta:
Entrega de prácticas y ejercicios a lo largo del curso: 25 %. Algunos de estos ejercicios se realizarán y se entregarán durante las horas de clase.
Examen final: 75 %. En este examen se plantearán ejercicios similares a los resueltos durante el curso.
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%).
Entrega de prácticas y ejercicios a lo largo del curso: 25 %. Algunos de estos ejercicios se realizarán y se entregarán durante las horas de clase.
Examen final: 75 %. En este examen se plantearán ejercicios similares a los resueltos durante el curso.
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%).
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.
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 | 19/01/2026 - 08/05/2026 | 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 | 19/01/2026 - 08/05/2026 | JUEVES 11:00 - 12:00 | S-106 | MANUEL MONTENEGRO MONTES |
| Clases aula de informática | ||||
|---|---|---|---|---|
| Grupo | Periodos | Horarios | Aula | Profesor |
| Subgrupo U1 | 19/01/2026 - 08/05/2026 | MARTES 09:00 - 10:00 | INF4 Aula de Informática | MANUEL MONTENEGRO MONTES |
| Subgrupo U2 | 19/01/2026 - 08/05/2026 | MARTES 13:00 - 14:00 | INF4 Aula de Informática | MANUEL MONTENEGRO MONTES |
