Universidad Pública de Navarra



Año Académico: 2024/2025 | Otros años:  2023/2024  |  2022/2023  |  2021/2022 
Graduado o Graduada en Ingeniería Informática por la Universidad Pública de Navarra (Programa Internacional)
Código: 250301 Asignatura: ALGORITMIA
Créditos: 6 Tipo: Obligatoria Curso: 2 Periodo: 1º S
Departamento: Estadística, Informática y Matemáticas
Profesorado:
MAUCH GOYA, AUGUSTO   [Tutorías ] JURIO MUNARRIZ, MARIA ARANZAZU (Resp)   [Tutorías ]

Partes de este texto:

 

Módulo/Materia

Módulo: Común a la Rama de Informática

Materia:Métodos

Subir

Descripción/Contenidos

Nociones sobre eficiencia de algoritmos.

Tipos Arborescentes: Arboles Binarios; Arboles de búsqueda; Arboles generales.

Estructuras de datos avanzadas (no lineales).

Algoritmos divide y vencerás.

Algoritmos voraces.

Algoritmos basados en programación dinámica.

Búsquedas con retroceso, ramificación y acotamiento.

Subir

Competencias genéricas

  • G1 Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas.
  • G3 Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
  • G5 Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.
  • G6 Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.
  • G8 Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
  • G9 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
  • G10 Conocimientos para la realización de mediciones, cálculos, valoraciones, tasaciones, peritaciones, estudios, informes, planificación de tareas y otros trabajos análogos de informática.
  • T1 Capacidad de análisis y síntesis
  • T3 Comunicación oral y escrita
  • T4 Resolución de problemas
  • T8 Aprendizaje autónomo
  • 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

Subir

Competencias específicas

  • FC6 Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos.
  • FC7 Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
  • FC8 Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.

Subir

Resultados aprendizaje

  1. Diseñar tipos de datos adecuados a los problemas que deba resolver.
  2. Diferenciar la complejidad asintótica de diferentes soluciones a un problema.
  3. Resolver problemas que precisen utilizar TADs de amplio uso (pilas, colas, árboles).
  4. Comprender diversas técnicas de diseño de algoritmos que le permitan abordar ciertos problemas utilizando esquemas conocidos.
  5. Utilizar de forma eficiente estructuras de datos en el diseño de algoritmos.
  6. Desarrollar destrezas para que el estudiante sepa analizar la complejidad computacional de un determinado algoritmo.

Subir

Metodología

 

Metodología - Actividad Horas Presenciales Horas no Presenciales
A-1 Clases magistrales 22,5  
A-2 Preparación de presentación de trabajos, proyectos, etc.   7,5
A-3 Apredizaje basado en problemas y/o casos en grupos reducidos 7,5  
A-4 Sesiones prácticas en grupos reducidos 24  
A-5 Tutorías en grupos muy reducidos 3  
A-6 Actividades de evaluación 3  
A-7 Estudio autónomo   22.5
A-8 Elaboración de trabajos y/o proyectos y escritura de memorias   22.5
A-9 Programación/experimentación u otros trabajos en ordenador/laboratorio   22.5
A-10 Resolución de problemas, ejercicios y otras actividades de aplicación   15
Total 60 90

Subir

Evaluación

 

Resultados de
aprendizaje
Actividad de
evaluación
Peso (%) Carácter
recuperable
Nota mínima
requerida
 2, 3, 4, 5, 6 1. Examen teórico práctico 45 % 5
 1, 3 2. Examen práctico de estructuras de datos 15 % 4
 1, 3, 4, 5, 6 3. Supuestos prácticos 20 % No  
 2, 4, 6 4. Evaluación continua 20 % No  

Para aprobar la asignatura es necesario obtener un 5 sobre 10 en la actividad 1 (examen teórico-práctico). En el caso de obtener más de un 6 en la actividad 4 (evaluación continua), este requisito se reduce a: para aprobar la asignatura es necesario obtener un 4.5 sobre 10 en la actividad 1 (examen teórico práctico).

Para aprobar la asignatura es necesario obtener un 4 sobre 10 en la actividad 2 (examen de estructuras de datos).

La evaluación de recuperación consistirá en un examen donde el estudiante recuperará las partes suspendidas.

La calificación final de aquellos estudiantes que no obtengan la nota mínima para promediar en alguna de las actividades 1 y 2 será:

  • la media ponderada con los pesos arriba indicados si esta media es menor o igual a 4
  • 4 si la media ponderada es mayor que 4

La calificación final de un estudiante será "No presentado" si no se presenta al examen teórico (ni en la evaluación ordinaria ni en la recuperación) y no entrega ningún supuesto práctico.

 

 

 

Subir

Temario

 

TEMARIO DE LAS CLASES TEÓRICAS

Tema 1. Planteamiento general.

Tema 2. Estructuras de datos avanzadas.

             2.1. Árboles.

             2.2. Árboles binarios.

             2.3. Montículos.

             2.4. Introducción a los grafos. Grafos dirigidos y no dirigidos.

             2.5. Árboles como casos particulares de grafos.

             2.6. Recorridos en anchura y en profundidad.

             2.7. Implementación.

Tema 3. Nociones sobre eficiencia de algoritmos.

             3.1. Notación asintótica.

             3.2. Análisis de algoritmos.

             3.3. Resolución de recurrencias.

Tema 4. Algoritmos divide y vencerás.

             4.1. Características del método divide y vencerás.

             4.2. Selección de problemas resolubles mediante la técnica divide y vencerás.

Tema 5. Algoritmos  voraces (greedy).

             5.1. Características generales de los algoritmos voraces.

             5.2. Selección de problemas resolubles mediante algoritmos voraces.

Tema 6. Algoritmos basados  en programación dinámica.

             6.1. Características generales del método de programación dinámica.

             6.2. Selección de problemas resolubles mediante programación dinámica.

Tema 7. Búsquedas con retroceso, ramificación y acotamiento

             7.1. Introducción.

             7.2. Selección de problemas resolubles mediante búsquedas con retroceso, ramificación y acotamiento.

 

 

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).
  • B. Gottfried, Programación en C, McGraw-Hill (serie Schaum), (1997).

Bibliografía Complementaria

  • 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.W. Kernighan, D.M. Ritchie, El Lenguaje de Programación C, Prentice-Hall (1991).
  • E. Horowitz, S. Sahni, D. Mehta, Fundamentals of data structures in C++, Computer Science Press, (1995).

Subir

Idiomas

Castellano

Subir

Lugar de impartición

Campus de Arrosadia

Subir