Módulo/Materia
- Módulo: Programación;
- Materia: Algoritmia.
Subir
Descripción/Contenidos
Algoritmia. Complejidad computacional. Completitud de problemas.
Subir
Competencias genéricas
- 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.
- CT6. Capacidad para emprender e innovar en el ámbito de las Ciencias.
Subir
Competencias específicas
- CG1. Aplicar la capacidad analítica y de abstracción, la intuición y el pensamiento lógico adquiridos para identificar y analizar problemas complejos y buscar y formular soluciones en un entorno multidisciplinar.
- CE19. Poder evaluar la complejidad computacional de un problema, e identificar estrategias algorítmicas que puedan conducir a su resolución.
Subir
Resultados aprendizaje
- RA1. Describir técnicas algorítmicas comunes de resolución de problemas.
- RA2. Diseñar de forma eficiente nuevos algoritmos haciendo uso de estructuras de datos.
- RA3. Valorar la complejidad computacional de un determinado algoritmo.
- RA4. Discernir cuál es la solución computacionalmente más eficiente de entre varias para un problema dado.
- RA5. Justificar los elementos que incrementan o reducen la complejidad computacional de un algoritmo.
Subir
Metodología
Metodología - Actividad |
Horas presenciales |
Horas no presenciales |
A1- Clases expositivas/participativas |
28 |
0 |
A2- Prácticas |
28 |
0 |
A3- Estudio y trabajo autónomo del estudiante |
0 |
86 |
A4- Tutorías |
0 |
4 |
A5- Pruebas de evaluación |
4 |
0 |
Total |
60 |
90 |
Subir
Evaluación
Resultado de aprendizaje |
Sistema de evaluación |
Peso (%) |
Recuperable |
RA1, RA2, RA3, RA4, RA5 |
Examen teórico-práctico |
50% |
Sí |
RA1, RA3, RA4, RA5 |
Participación en clase |
20% |
No |
RA1, RA2, RA4 |
Examen práctico y/o evaluación de trabajos |
30% |
Sí |
Subir
Temario
Temario de las Clases Teóricas
- Tema 1. Introducción.
- Tema 2. Complejidad computacional
- Tema 3. Estructuras de datos avanzadas.
- Tema 4. Algoritmos divide y vencerás.
- Tema 5. Algoritmos voraces.
- Tema 6. Algoritmos basados en programación dinámica.
- Tema 7. Búsquedas con retroceso, ramificación y acotamiento
- Tema 8. Completitud de problemas
Subir
Programa de prácticas experimentales
Prácticas de Laboratorio (Utilizando el lenguaje C)
- Introducción al lenguaje C.
- Estructuras de datos avanzadas.
- Algoritmos divide y vencerás.
- Algoritmos voraces.
- Algoritmos basados en programación dinámica.
Subir
Bibliografía
Acceda a la bibliografía que el profesorado de la asignatura ha solicitado a la Biblioteca.
Bibliografía Básica
- G. Brassard, P. Bratley, Fundamentos de Algoritmia, Prentice Hall, (1997).
- N. Martí, Y. Ortega y J.A. Verdejo, Estructuras de datos y métodos algorítmicos. Ejercicios resueltos. Pearson Prentice Hall
- E. Horowitz , S. Sahni, S. Rajasekaran, Computer Algorithms, 3ª edición, Computer Science Press, (1998).
- A. Marzal, I. Gracia, Introducción a la programación con C, Universidad Jaume I, (2010). www.sapientia.uji.es
Bibliografía Complementaria
- B.W. Kernighan, D.M. Ritchie, El Lenguaje de Programación C, Prentice-Hall (1991).
- V. Aho, J. E. Hopcroft, J. D. Ullman, Estructuras de datos y algoritmos.Addison- Wesley Iberoamericana (1988).
- T. H. Cormen, C.E. Leiserson, R. L. Rivest, Introduction to Algorithms, The MIT Press, (1990).
- R. Sedgewick, Algorithms in C, Addison -Wesley, (1987).
- R. Neapolitan, K. Naimpour, Foundations of algorithms, Jones and Bartlett, (1997).
- S. Loosemore, R. M. Stallman, R. McGrath y otros, The Gnu C library reference manual, vol I y II, Free Software Foundation, (2001).
- B. Gottfried, Programación en C, McGraw-Hill (serie Schaum), (1997).
- E. Horowitz, S. Sahni, D. Mehta, Fundamentals of data structures in C++, Computer Science Press, (1995).
Subir
Lugar de impartición
Universidad Pública de Navarra, Campus Arrosadía
Subir