Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2013-14


DISEÑO DE ALGORITMOS

Asignaturas
 

  Código Nombre    
Asignatura 21714015 DISEÑO DE ALGORITMOS Créditos Teóricos 2,50
Título 21714 GRADO EN INGENIERÍA INFORMÁTICA Créditos Prácticos 5
Curso   3 Tipo Obligatoria
Créd. ECTS   6    
Departamento C137 INGENIERÍA INFORMÁTICA    

 

Requisitos previos

Es muy recomendable que el alumno haya adquirido las competencias
correspondientes a las materias de los dos primeros cursos, así como que sepa
expresarse con fluidez, corrección y precisión en español.

 

Recomendaciones

Haber superado las siguientes asignaturas y mantener la destreza necesaria en las
materias objeto de su estudio.

- Introducción a la Programación
- Matemática Discreta
- Metodología de la Programación
- Sistemas Operativos
- Análisis de Algoritmos y Estructuras de Datos
- Estructuras de Datos no Lineales
- Programación Orientada a Objetos

En particular, el alumno debe saber cómo resolver las sumas y ecuaciones de
recurrencia fundamentales, así como poseer una práctica fluida en el diseño
iterativo y recursivo elemental, las técnicas de transformación, la programación
en lenguaje C++ y el manejo de las herramientas básicas de programación
disponibles a través de un intérprete de órdenes en un sistema operativo
GNU/Linux.

Por último, se recomienda poseer los suficientes conocimientos de lengua inglesa
como para, al menos, ser capaz de leer y comprender los materiales y bibliografía
recomendados.

 

Profesorado

Nombre Apellido 1 Apellido 2 C.C.E. Coordinador  
PEDRO FERNANDEZ FERNANDEZ PROFESOR ASOCIADO N
ANTONIO GARCIA DOMINGUEZ BECARIOS DE INVESTIGACION N
FRANCISCO PALOMO LOZANO TEU N
ALBERTO GABRIEL SALGUERO HIDALGO PROFESOR SUSTITUTO INTERINO S

 

Competencias

Se relacionan aquí las competencias de la materia/módulo o título al que pertenece la asignatura, entre las que el profesorado podrá indicar las relacionadas con la asignatura.

Identificador Competencia Tipo
C06 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 idioneidad y complejidad de los algoritmos propuestos ESPECÍFICA
CG02 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. GENERAL
CG05 Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía. GENERAL
CT1 Trabajo en equipo: capacidad de asumir las labores asignadas dentro de un equipo, así como de integrarse en él y trabajar de forma eficiente con el resto de sus integrantes GENERAL
G08 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. ESPECÍFICA
G09 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. ESPECÍFICA

 

Resultados Aprendizaje

Identificador Resultado
R7 Conocer la diferencia entre grafos explícitos e implícitos.
R5 Conocer la diferencia entre los enfoques ascendente y descendente en el diseño de algoritmos de programación dinámica.
R4 Saber aplicar la programación dinámica a problemas de optimización
R1 Saber aplicar la técnica de divide y vencerás al diseño de algoritmos.
R3 Saber utilizar algoritmos devoradores para resolver problemas de optimización.
R2 Ser capaz de analizar algoritmos de divide y vencerás.
R6 Ser capaz de aplicar las técnicas básicas de exploración de un grafo.
R8 Ser capaz de utilizar los algoritmos en el laboratorio para obtener programas que resuelvan problemas reales.

 

Actividades formativas

Actividad Detalle Horas Grupo Competencias a desarrollar
01. Teoría
En las clases de teoría se aprenderán los
fundamentos teóricos de la materia y se
ilustrarán sus conceptos mediante ejemplos
paradigmáticos.
20 C06 CG05 G08
02. Prácticas, seminarios y problemas
En las clases de problemas se aplicarán los
conocimientos aprendidos en las clases de teoría
a la resolución de problemas relacionados.
10 C06 CG02 G08 G09
03. Prácticas de informática
Las clases prácticas se desarrollarán en un
laboratorio de informática. Previamente se
proporcionará a los alumnos a través del campus
virtual un guión de las actividades a realizar.
Cada guión podrá abarcar varias sesiones de
laboratorio y contendrá ejercicios en los que
habrá que programar los algoritmos pertinentes
como forma de resolver los problemas planteados.
30 G08 G09
10. Actividades formativas no presenciales
Estas actividades engloban la dedicación personal
al estudio del alumno, que debe incluir tanto el
repaso de los materiales suministrados, como la
resolución de problemas y la realización de
prácticas de programación.
86 G08
12. Actividades de evaluación
Exámenes escritos.
4 C06 CG02 G09

 

Evaluación

Criterios Generales de Evaluación

Los profesores valorarán la corrección y eficiencia de las soluciones
obtenidas, además de aspectos subjetivos como la presentación, claridad y
elegancia de su desarrollo en los que se incidirá durante todo el curso.

Se prestará especial atención a la capacidad del alumno para explicar las
soluciones desarrolladas claramente, con precisión, sin errores gramaticales ni
ortográficos. Una mera solución sin explicación o justificación podrá no ser
tenida en cuenta.

En el caso de programas de ordenador, estos deberán estar escritos conforme al
estándar en uso del lenguaje y poseer un comportamiento inequívocamente definido.

Los alumnos deben comprobar periódicamente el estado del curso en el campus
virtual, donde se publicarán con la debida antelación diversos materiales
docentes, convocatorias, calificaciones y, en definitiva, información vital para
el seguimiento de la asignatura.

En particular, los alumnos tienen la obligación de conocer las noticias
publicadas a través del tablón de anuncios virtual del curso, cuyos mensajes
sustituyen a los que tradicionalmente se colocaban en un tablón físico y que se
consideran la fuente oficial de comunicación de la asignatura.

Los alumnos son responsables de proteger sus ficheros y datos personales,
incluyendo sus contraseñas de acceso al correo electrónico y al campus virtual.

La copia total o parcial de exámenes o prácticas, así como cualquier otro tipo de
fraude detectado por los profesores, podrá ser motivo de SUSPENSO INMEDIATO EN
TODAS LAS CONVOCATORIAS del curso académico para todos los implicados, sea cual
fuere su papel. En particular, se informa de que las entregas electrónicas podrán
almacenarse durante un plazo de 5 años para ulteriores comprobaciones.

 

Procedimiento de Evaluación

Tarea/Actividades Medios, Técnicas e Instrumentos Evaluador/es Competencias a evaluar
Exámenes escritos
  • Profesor/a
C06 CG02 CG05 G08 G09
Memorias de prácticas
  • Profesor/a
  • Autoevaluación
C06 CG02 CG05 G08 G09

 

Procedimiento de calificación

Las calificaciones se otorgarán mediante un sistema de evaluación continua en el
que la nota final de la asignatura se calculará mediante la siguiente fórmula:

NF = 0,75 NT + 0,25 NP

donde:

1. NT es la nota de teoría: la media en una escala de 0 a 10 de las
calificaciones obtenidas en los exámenes parciales durante el curso o, en el caso
de examen final, la nota de dicho examen.
2. NP es la nota de prácticas: la media en una escala de 0 a 10 de las
calificaciones de las prácticas desarrolladas durante el curso.

Para la primera convocatoria del curso solo se contempla el sistema de evaluación
contínua. Los alumnos obtendrán su NT mediante la realización de los exámenes
parciales que se realizarán durante el semestre en el que se imparte la
asignatura.

La NT obtenida en cualquiera de las convocatorias no se guardará para posteriores
convocatorias de la asignatura en ningún caso.

La presentación de memorias por cada práctica a través del campus virtual en las
fechas indicadas por el profesor es obligatoria. Con carácter general, las
prácticas no serán recuperables, NI SIQUIERA EN LOS EXÁMENES FINALES. Así, la NP
que se obtenga durante el curso será la que se mantenga para todas las
convocatorias de dicho curso académico.

Los alumnos deben asegurarse de realizar correctamente las entregas electrónicas
a través del campus virtual en tiempo y forma. En particular, deben observarse
estrictamente las normas de entrega publicadas en el campus virtual. Los alumnos
que no presenten alguna de las memorias de prácticas, obtendrán una calificación
de 0 en su NP.

Los alumnos podrán ser convocados para la defensa de sus prácticas en
determinadas fechas indicadas por el profesor. En caso de ser convocados a
defensa, los alumnos deberán acudir portando copias impresas de las memorias
entregadas electrónicamente. El desconocimiento de las cuestiones planteadas
implicará una calificación de 0 en su NP.

 

Descripcion de los Contenidos

Contenido Competencias relacionadas Resultados de aprendizaje relacionados
            Bloque 1. Algoritmos devoradores.

Sesiones de teoría y problemas:

- Esquema general.
- El problema del cambio de moneda.
- El problema de la mochila.
- El problema del árbol de expansión mínimo.
- Caminos mínimos desde un vértice a todos los demás.

Sesiones de laboratorio:

- Simulación del reintegro en un cajero automático.
- Trazado de líneas de comunicación de coste mínimo.
        
C06 CG02 CG05 G08 G09 R3 R8
            Bloque 2. Programación dinámica.

Sesiones de teoría y problemas:

- Diseño descendente: funciones con memoria.
- Diseño ascendente: tabla de subproblemas resueltos.
- Ejemplos numéricos.
- Principio de optimalidad.
- El problema del cambio de moneda.
- El problema de la mochila.
- Caminos mínimos entre todas las parejas de vértices.
- Clausura reflexiva y transitiva.

Sesiones de laboratorio:

- Impacto de la memorización.
- Aprovechamiento óptimo de espacios publicitarios.
- Planificación de rutas por carretera de coste mínimo.
        
C06 CG02 CG05 G08 G09 R5 R4 R8
            Bloque 3. Algoritmos de divide y vencerás.

Sesiones de teoría y problemas:

- Esquema general.
- Reducción: búsqueda binaria, potencia rápida.
- Equilibrado: extremos, ordenación por fusión.
- Partición: ordenación rápida, selección rápida.

Sesiones de laboratorio:

- Potencia rápida de una matriz.
- Ordenación por fusión frente a ordenación rápida.
- Influencia del umbral.
        
C06 CG02 CG05 G08 G09 R1 R2 R8
            Bloque 4. Exploración en grafos.

Sesiones de teoría y problemas:

- Recorridos de un grafo: aplicaciones, ordenación topológica.
- Búsqueda con retroceso.
- Ramificación y acotación.

Sesiones de laboratorio:

- Secuenciación de tareas interdependientes
- Resolución del problema de las n damas.
- Asignación óptima de recursos en proyectos.

        
C06 CG02 CG05 G08 G09 R7 R6 R8

 

Bibliografía

Bibliografía Básica

[1] Brassard, Gilles y Bratley, Paul.   
    Fundamentos de algoritmia.   
    Prentice-Hall. 1997.   
   
[2] Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. y   
    Stein, Clifford.   
    Introduction to algorithms.   
    MIT Press. 3ª ed. 2009.   
  
[3] Johnsonbaugh, Richard y Schaefer, Marcus.  
    Algorithms.  
    Prentice-Hall. 2004.  

[4] Kleinberg, Jon y Tardos Éva.
    Algorithm Design.
    Addison-Wesley. 2005.

[5] Levitin, Anany V.   
    Introduction to the design and analysis of algorithms.   
    Addison-Wesley. 2ª ed. 2007.   
  
[6] Martí Oliet, Narciso; Ortega Mallén, Yolanda y Verdejo López, José A.  
    Estructuras de datos y métodos algorítmicos. Ejercicios resueltos.  
    Prentice-Hall. 2004.  
  
[7] Neapolitan, Richard y Naimipour, Kumarss.       
    Foundations of algorithms.      
    Jones and Bartlett. 4ª ed. 2009.  

[8] Sedgewick, Robert y Wayne, Kevin.
     Algorithms.
     Addison-Wesley. 4ª ed. 2011.
     Material complementario en http://www.cs.princeton.edu/algs4.

[9] Skiena, Steven S.   
     The algorithm design manual.   
     Springer. 2ª ed. 2008.

 

Bibliografía Específica

[1] Aho, Alfred; Hopcroft, John y Ullman, Jeffrey.   
    The design and analysis of computer algorithms.   
    Addison-Wesley. 1974.   
  
[2] Baase, Sara y Van Gelder, Allen.   
    Computer algorithms. Introduction to design and analysis.   
    Addison-Wesley. 3ª ed. 2000.   
   
[3] Brassard, Gilles y Bratley, Paul.   
    Algorítmica. Concepción y análisis.   
    Masson. 1990.   
   
[4] Horowitz, Ellis y Sahni, Sartaj.   
    Fundamentals of computer algorithms.   
    Pitman. 1978.   

[5] Horowitz, Ellis; Sahni, Sartaj y Rajasekaran, Sanguthevar.   
    Computer algorithms / C++.
    Universities Press. 2ª ed. 2008.

[6] Manber, Udi.   
    Introduction to algorithms. A creative approach.   
    Addison-Wesley. 1989. 

[7] Martí Oliet, Narciso; Segura Díaz, Clara M. y Verdejo López, José A.
    Especificación, derivación y análisis de algoritmos. Ejercicios resueltos.
    Prentice-Hall. 2007.
  
[8] Parberry, Ian y Gasarch, William.
    Problems on algorithms.
    http://www.eng.unt.edu/ian/books/free/poa.pdf. 2002.
   
[9] Lippman, Stanley B.; Lajoie, Josée y Moo, Barbara E.
C++ Primer.
Addison-Wesley. 5ª ed. 2012.

[10] Stroustrup, Bjarne. Programming: Principles and practice using C++. Addison-Wesley. 2008.

 

Bibliografía Ampliación

[1] Graham, Ronald L.; Knuth, Donald E. y Patashnik, Oren.   
    Concrete mathematics. A foundation for Computer Science.   
    Addison-Wesley. 2ª ed. 1994.   

[2] Kao, Ming-Yang (ed.)
    Encyclopedia of algorithms.
    Springer. 2008.

[3] Knuth, Donald E.   
    The art of computer programming.   
    Volume I. Fundamental algorithms.   
    Addison-Wesley. 3ª ed. 1997.   
   
[4] Knuth, Donald E.   
    The art of computer programming.   
    Volume II. Seminumerical algorithms.   
    Addison-Wesley. 3ª ed. 1997.   
   
[5] Knuth, Donald E.   
    The art of computer programming.   
    Volume III. Sorting and searching.   
    Addison-Wesley. 2ª ed. 1997.   
   
[6] Sedgevick, Robert y Flajolet, Philippe.   
    An introduction to the analysis of algorithms.   
    Addison-Wesley. 1996.

 

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.