Fichas de asignaturas 2011-12
![]() |
ANÁLISIS Y DISEÑO DE ALGORITMOS II |
![]() ![]() |
|
Asignatura |
![]() |
| |
Profesorado |
![]() |
| |
Situación |
![]() |
| |
Competencias |
![]() |
| |
Objetivos |
![]() |
| |
Programa |
![]() |
| |
Actividades |
![]() |
| |
Metodología |
![]() |
| |
Distribucion |
![]() |
| |
Técnicas Docentes |
![]() |
| |
Evaluación |
![]() |
| |
Recursos Bibliográficos |
![]() |
Código | Nombre | |||
Asignatura | 1710009 | ANÁLISIS Y DISEÑO DE ALGORITMOS II | Créditos Teóricos | 3 |
Descriptor | ANALYSIS AND DESIGN OF ALGORITHM II | Créditos Prácticos | 1,5 | |
Titulación | 1710 | INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN | Tipo | Troncal |
Departamento | C137 | LENGUAJES Y SISTEMAS INFORMATICOS | ||
Curso | 2 | |||
Créditos ECTS | 3,5 |
Para el curso | Créditos superados frente a presentados | Créditos superados frente a matriculados |
2007-08 | 91.5% | 60.5% |
ASIGNATURA OFERTADA SIN DOCENCIA
Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.
Profesorado
José Fidel Argudo Argudo Antonio García Domínguez Francisco Palomo Lozano (coordinador)
Situación
Prerrequisitos
1. Haber aprobado las siguientes asignaturas de primer curso: - Álgebra. - Cálculo. - Matemática discreta. - Introducción a la Programación. - Metodología de la Programación. - Estructura de Datos I. En especial, se asume que el alumno tiene conocimientos sobre la resolución de sumatorios y ecuaciones de recurrencia. 2. Cursar o haber aprobado las siguientes asignaturas de segundo curso: - Estructura de Datos II. 3. Poseer conocimientos de lengua inglesa.
Contexto dentro de la titulación
Esta asignatura es la continuación natural de la asignatura de análisis y diseño de algoritmos de primer cuatrimestre.
Recomendaciones
Las indicadas en los prerrequisitos.
Competencias
Competencias transversales/genéricas
- Análisis y síntesis. - Razonamiento abstracto. - Pensamiento crítico. - Resolución de problemas. - Planificación y organización. - Comunicación y trabajo en equipo. - Expresión oral y escrita. - Preparación y presentación de documentación técnica.
Competencias específicas
Cognitivas(Saber):
- Conocer las principales técnicas de diseño de algoritmos. - Conocer los algoritmos paradigmáticos de las distintas técnicas. - Conocer los algoritmos fundamentales de la biblioteca STL. - Conocer algunas aplicaciones de los algoritmos explicados en clase a problemas reales.
Procedimentales/Instrumentales(Saber hacer):
- Diseñar y analizar algoritmos empleando distintas técnicas. - Distinguir, para problemas sencillos, qué técnica de diseño es la más apropiada para su resolución.
Actitudinales:
- Apreciar las ventajas del empleo de diversas herramientas de software libre. - Valorar la importancia de consultar con soltura bibliografía y otros materiales en lengua inglesa. - Estar dispuesto a buscar y contrastar información de diversas fuentes de manera independiente. - Ser consciente de la necesidad de abordar nuevos problemas y evaluar posibles soluciones con espíritu crítico. - Apreciar las ventajas de trabajar cooperativamente en pequeños grupos, comunicando ideas con claridad y rigor.
Objetivos
Adquirir las competencias específicas reseñadas.
Programa
Teoría: Diseño de algoritmos. 1. Algoritmos de divide y vencerás. 1.1. Esquema general. 1.2. Reducción: búsqueda binaria y potencia rápida. 1.3. Equilibrado: ordenación por fusión. 1.4. Partición: ordenación rápida. 2. Algoritmos devoradores. 2.1. Esquema general. 2.2. El problema del cambio de moneda. 2.3. El problema de la mochila. 2.4. El problema del árbol de expansión mínimo. 2.5. Caminos mínimos desde un vértice a todos los demás. 3. Programación dinámica. 3.1. Diseño descendente: funciones con memoria. 3.2. Diseño ascendente: tabla de subproblemas resueltos. 3.3. Ejemplos numéricos. 3.4. El principio de optimalidad. 3.5. El problema del cambio de moneda. 3.6. El problema de la mochila. 3.7. Caminos mínimos entre todas las parejas de vértices. 3.8. Clausura reflexiva y transitiva. 4. Exploración en grafos. 4.1. Ordenación topológica. 4.2. Búsqueda con retroceso. 4.3. Ramificación y acotación. Prácticas: Programación y análisis híbrido de algoritmos. 1. Algoritmos de divide y vencerás. 1.1. Potencia rápida de una matriz. 1.2. Ordenación por fusión frente a ordenación rápida. 1.3. Influencia del umbral. 2. Algoritmos devoradores. 2.1. Simulación del reintegro en un cajero automático. 2.2. Trazado de líneas de comunicación de coste mínimo. 3. Programación dinámica. 3.1. El problema de la mochila discreta. 3.2. Planificación de rutas por carretera de coste mínimo. 4. Exploración en grafos. 4.1. El problema de las n damas. 4.2. El problema de asignación.
Actividades
Examen final
Distribución de horas de trabajo del alumno/a
Nº de Horas (indicar total): 87,5
- Clases Teóricas: 22
- Clases Prácticas: 13
- Exposiciones y Seminarios:
- Tutorías Especializadas (presenciales o virtuales):
- Colectivas:
- Individules:
- Realización de Actividades Académicas Dirigidas:
- Con presencia del profesorado: 10
- Sin presencia del profesorado: 11,5
- Otro Trabajo Personal Autónomo:
- Horas de estudio: 28
- Preparación de Trabajo Personal:
- ...
- Realización de Exámenes:
- Examen escrito: 3
- Exámenes orales (control del Trabajo Personal):
Criterios y Sistemas de Evaluación
CRITERIOS DE EVALUACIÓN Los profesores valorarán no sólo la corrección y eficiencia de las soluciones obtenidas, sino también aspectos subjetivos como la presentación, claridad y elegancia de su desarrollo en los que se incidirá durante todo el curso. La nota final de la asignatura se calculará mediante el siguiente algoritmo: si NFT < 5 v NGP = "APTO" NFA <- NFT si no NFA <- 4 donde: 1. NFT es la nota final de teoría. 2. NGP es la nota global de prácticas. 3. NFA es la nota final de la asignatura. La nota global de prácticas será de "APTO" o "NO APTO". En general, sólo se corregirán las memorias de aquellos alumnos con NFT >= 5. 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á un "NO APTO". 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 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.
Recursos Bibliográficos
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] Sedgevick, Robert. Algorithms in C++. Parts 1-4. Fundamentals. Data Structures. Sorting. Searching. Addison-Wesley. 3ª ed. 1999. [9] Sedgevick, Robert. Algorithms in C++. Part 5. Graph algorithms. Addison-Wesley. 3ª ed. 2002. [10] Sedgewick, Robert y Wayne, Kevin. Algorithms. Addison-Wesley. 4ª ed. 2011. Material complementario en http://www.cs.princeton.edu/algs4. [11] Skiena, Steven S. The algorithm design manual. Springer. 2ª ed. 2008. Bibliografía complementaria [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] McHugh, James A. Algorithmic graph theory. Prentice-Hall. 1990. [9] Parberry, Ian y Gasarch, William. Problems on algorithms. http://www.eng.unt.edu/ian/books/free/poa.pdf. 2002. [10] Stroustrup, Bjarne. The C++ programming language. Special edition. Addison-Wesley. 2000. [11] Stroustrup, Bjarne. Programming: Principles and practice using C++. Addison-Wesley. 2008. [12] Wilf, Herbert S. Algorithms and complexity. A. K. Peters. 2ª ed. 2002. Bibliografía especializada de consulta [1] Garey, Michael R. y Johnson, David S. Computers and intractability. A guide to the theory of NP-completeness. W. H. Freeman. 1979. [2] Graham, Ronald L.; Knuth, Donald E. y Patashnik, Oren. Concrete mathematics. A foundation for Computer Science. Addison-Wesley. 2ª ed. 1994. [3] Kao, Ming-Yang (ed.) Encyclopedia of algorithms. Springer. 2008. [4] Knuth, Donald E. The art of computer programming. Volume I. Fundamental algorithms. Addison-Wesley. 3ª ed. 1997. [5] Knuth, Donald E. The art of computer programming. Volume II. Seminumerical algorithms. Addison-Wesley. 3ª ed. 1997. [6] Knuth, Donald E. The art of computer programming. Volume III. Sorting and searching. Addison-Wesley. 2ª ed. 1997. [7] 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.