Grupo: Grupo de CLASES TEORICAS de ANALISIS Y DISE¥O DE .(865928)
ASIGNATURA:
"Análisis y Diseño de Algoritmos"
DATOS BÁSICOS DE LA ASIGNATURA/GRUPO
Titulación:
Asignatura: Código:
Curso:
Año del plan de estudio:
Tipo: Ciclo: Período de impartición: Departamento: Área: Dirección postal: Centro: Dirección electrónica: Horas totales (ECTS):
Créditos LRU teóricos: Créditos LRU prácticos:
Horas presenciales (ECTS): Horas no presenciales (ECTS): Créditos totales (LRU):
Créditos totales (ECTS):
90.0 6.0
1º
ETS Ingeniería Informática. Av. Reina Mercedes S/N Primer Cuatrimestre
INGENIERO TÉCNICO EN INFORMÁTICA DE SISTEMAS ( Plan 97 )
Análisis y Diseño de Algoritmos
60.0
http://www.lsi.us.es E.T.S. Ingeniería Informática
150.0
Lenguajes y Sistemas Informáticos Lenguajes y Sistema Informáticos
6.0 3.0 1997 2º 3.0 Obligatoria 280019
Grupo de CLASES TEORICAS de ANALISIS Y DISE¥O DE . (2) Grupo:
PROFESORADO
ROSA TROYANO, FRANCISCO FERNANDO DE LA 1
Titulacion: INGENIERO TÉCNICO EN INFORMÁTICA DE SISTEMAS ( Plan 97 )
Curso: 2009 - 2010
Objetivos docentes específicos
- Proveer al alumno de las técnicas algorítmicas básicas que le permitirán abordar el desarrollo de programas correctos y eficientes para resolver problemas no triviales. Las técnicas básicas mencionadas incluyen conocimientos teóricos y prácticos, habilidades, experiencias y sentido crítico, todas ellas fundamentadas en teorías y técnicas sólidas, comprobadas y bien establecidas.
- Conocer mejor cómo es un lenguaje de programación, en particular un lenguaje orientado a objetos. Con este objetivo se estudiarán aspectos como son la estructura de control, el tipo de datos, la gestión de memoria y los mecanismos de abstracción de un lenguaje de estas características.
- Conocer nuevas técnicas de programación.
- Ampliar el abanico de técnicas algorítmicas y profundizar en sus fundamentos teóricos. Profundizar en el diseño y evaluación de los algoritmos. Introducir herramientas de diseño de algoritmos y la ingeniería algorítmica como selección de las estructuras de datos y de las técnicas algorítmicas más adecuadas para la resolución de un problema concreto.
- Profundizar en el aprendizaje de la programación estructurada. Introducir técnicas para diseñar programas de tamaño mediano. Proporcionar al alumno más experiencia en el campo de la programación mediante la realización de prácticas.
- Ampliar el dominio de la recursividad como herramienta de construcción de programas.
Competencias
Competencias específicas COGNITIVAS (SABER)
1 Análisis de algoritmos: Eficiencia, costes, casos, notación asintótica, resolución de recurrencias simples. Análisis en caso medio. 2 Esquemas algorítmicos: Divide y vencerás, voraces, programación dinámica, algoritmos de vuelta atrás, ramificación y acotación. 3 Tipos de datos en lenguajes de programación
4 Sentencias de control en lenguajes de programación 5 Herencia
6 Fundamentos teóricos de los esquemas algorítmicos. 7 Algoritmos fundamentales adelantados: ordenación, grafos. 8 Aprender técnicas de descomposición modular de programas.
9 Acostumbrarse a analizar la eficiencia de los programas como un criterio de calidad. 10 Adquirir conceptos básicos de programación orientada a objetos.
11 Conocer la técnica de diseño recursiva por inmersión y su relación con la iteración. 12 Conocer algunos algoritmos clásicos para problemas fundamentales.
PROCEDIMENTALES/INSTRUMENTALES (SABER HACER)
13 Tomar contacto con algunas técnicas fundamentales de diseño y análisis de algoritmos. Tomar contacto con algunas técnicas avanzadas de programación.
14 Saber razonar sobre la corrección y la eficiencia de los algoritmos.
15 Disponer de criterios que permitan, durante las etapas de especificación, diseño e implementación escoger la alternativa más adecuada, y disponer de elementos por argumentar de forma razonada las elecciones realizadas. 16 Saber particularizar esquemas algorítmicos generales para resolver problemas.
17 Conocer mejor las prestaciones de un lenguaje de programación
18 Ser capaz de utilizar técnicas avanzadas de diseño y análisis de algoritmos
19 Saber identificar las componentes más relevantes de un problema y seleccionar la técnica algorítmica más adecuada.
20 Ser capaz de seleccionar los tipos de datos más adecuados para mejorar la eficiencia de una solución algorítmica. 21 Descomponer un problema de cierto tamaño en módulos independientes
22 Producir programas de tamaño medio fiables y fáciles de entender, modificar, mantener y reutilizar 23 Usar módulos predefinidos
24 Escribir programas recursivos sobre tipos no necesariamente básicos y poder razonar sobre su corrección y eficiencia.
ACTITUDINALES (ser)
25 Capacidad para crear y utilizar modelos de la realidad. 26 Capacidad de análisis y de síntesis.
27 Capacidad para aprender autónomamente.
28 Capacidad para transmitir ideas efectivamente de forma escrita.
29 Disposición y capacidad para actualizarse a lo largo de la carrera profesional, en cuanto a conocimientos, procedimientos y técnicas.
CONTENIDOS DE LA ASIGNATURA
Bloque 1: Recursividad Bloque 2: Análisis de algoritmos
Bloque 3: Consideraciones sobre las técnicas de diseño de algoritmos Bloque 4: Algoritmos voraces
Bloque 5: Divide y vencerás Bloque 6: Algoritmos de vuelta atrás
Bloque 1: Recursividad.
Relación sucinta de los contenidos (bloques temáticos en su caso)
Tema 2: Análisis de algoritmos.
Recursos de computadora y complejidad. Estudio de la complejidad de un algoritmo. Medidas asintóticas. Órdenes de complejidad. Reglas prácticas para el cálculo de la eficiencia. Análisis de complejidad de algoritmos recursivos.
Bloque 3: Consideraciones sobre las técnicas de diseño de algoritmos. Tema 3: Consideraciones sobre las técnicas de diseño de algoritmos.
Planteamiento general. Programación por esquemas. Uso de patrones de diseño. El patrón Strategy. El patrón Template. Bloque 4: Algoritmos voraces.
Tema 4: Algoritmos voraces.
Características. Esquema general. Ejemplos de aplicación. Heurísticas voraces. Bloque 5: Divide y vencerás.
Tema 5: Divide y vencerás.
Características. Cálculo de la eficiencia. Esquema general. Ejemplos de aplicación. Bloque 6: Programación dinámica.
Tema 6: Programación dinámica.
Introducción y esquema general de resolución. El Principio de Optimalidad. Ejemplos de aplicación. Bloque 7: Algoritmos de vuelta atrás.
Tema 7: Algoritmos de vuelta atrás.
Ámbito de aplicación. Esquema general y sus variantes. Ejemplos de aplicación.
ACTIVIDADES FORMATIVAS
Relación de actividades formativas del primer semestre
Horas presenciales: Horas no presenciales:
Competencias que desarrolla:
Metodología de enseñanza-aprendizaje: 45.0
67.5
Todas las específicas y las siguientes genéricas: Capacidad de análisis y síntesis
Capacidad de organizar y planificar Habilidades para trabajar en grupo
Capacidad para aplicar la teoría a la práctica
Durante las semanas que dura el curso, organizadas según se adjunta en la temporización previa, se impartirá el contenido teórico de la asignatura mediante el uso de presentaciones en ordenador y en formato tradicional, ilustrando con especial atención los problemas de relevancia con ejemplos clarificadores.
El material proporcionado a los alumnos, en forma de presentaciones elaboradas por los profesores de la asignatura, es un material de apoyo de gran valor para el seguimiento de la asignatura. Dichas presentaciones estarán accesibles en Internet en la página web de la asignatura.
El profesor utilizará fundamentalmente la tradicional pizarra para exponer sus explicaciones y razonamientos.
También se utilizará en clase el retroproyector u ordenador conectado al cañón de proyección, que resulta muy útil para la introducción de conceptos o la explicación de algoritmos que, por su tamaño o nivel de complejidad resultarían arduos de explicar en el encerado. En este caso, el material utilizado se pondrá a disposición de los alumnos con suficiente antelación para su correcto seguimiento de las clases.
Clases teóricas
Horas presenciales: Horas no presenciales:
Competencias que desarrolla:
Metodología de enseñanza-aprendizaje: 15.0
22.5
Todas las específicas y las siguientes genéricas: Capacidad de análisis y síntesis
Capacidad de organizar y planificar Habilidades para trabajar en grupo
Capacidad para aplicar la teoría a la práctica
Cada grupo de teoría se subdividirá en tres grupos de laboratorios. Cada semana uno de los
grupos recibirá clases prácticas en los laboratorios. Estos laboratorios están dotados con ordenadores y el software adecuado para la puesta en práctica de los conceptos introducidos en las clases teóricas. Los profesores impartirán las clases fundamentalmente con diapositivas que se visualizarán con el ordenador dispuesto en las aulas para tal efecto; dichas enseñanzas estarán
apoyadas por el uso de la pizarra en la que se detallarán los aspectos que se consideren necesarios para el correcto aprendizaje del alumno.
BIBLIOGRAFÍA Y OTROS RECURSOS DOCENTES Bibliografía general
Develop and deploy a secure portal solution using WebSphere Portal V5 and Tivoli Access Manager V5.1[John Ganci ... et al.]
NULL 1st ed.
2004.
Autores: Edición:
Publicación: ISBN: null
The developement of human gene therapy /edited by Theodore Friedmann.
NULL NULL 1999. Autores: Edición: Publicación: ISBN: 0-87969-528-5 . NULL NULL NULL Autores: Edición:
Publicación: ISBN: NULL
Developing advanced literacy in first and second languagesmeaning with power /edited by Mary J. Schleppegrell, M. Cecilia Colombi.
NULL NULL
2002.
Autores: Edición:
Publicación: ISBN: null
Visual Basic /José Eduardo Maluf de Carvalho ; traducción José Daniel Sánchez Navarro ; revisión técnica Antonio Vaquero Sánchez.
Carvalho, José Eduardo Maluf de. NULL 2000
Autores: Edición:
Publicación: ISBN: 84-481-0001-8
El lenguaje de programación Java
A. Gosling NULL
Addison-Wesley; 1998
Autores: Edición:
Publicación: ISBN: NULL
Estructuras de datos y algoritmos
Alfred V. Aho; John E. Hopcroft; Jeffrey
D. Ullman NULL
Addison-Wesley Iberoamericana
Autores: Edición:
Publicación: ISBN: NULL
Piensa en Java
Bruce Eckel 2ª
Prentice Hall; 2002
Autores: Edición:
Publicación: ISBN: NULL
Introducción a la programación con Java. Un enfoque orientado a objetos
David M. Arnow; Gerald Weiss NULL
Pearson Educación; 2000
Autores: Edición:
Publicación: ISBN: NULL
Design Patterns.Elements of Reusable Object Oriented Software
E. Gamma [et al] NULL
. Addison-Wesley; 1995
Autores: Edición:
Fundamentos de algoritmia
G. Brassard, P. Bratley NULL
Prentice-Hall; 1997
Autores: Edición:
Publicación: ISBN: NULL
El lenguaje de programación Java
Ken Arnold; James Gosling 3ª
Addison-Wesley; 2001
Autores: Edición:
Publicación: ISBN: NULL
Patterns in Java. Volume I
M. Grand NULL
John Wiley & Sons; 1998
Autores: Edición:
Publicación: ISBN: NULL
Estructuras de datos y algoritmos
Mark Allen Weiss NULL
Addison-Wesley Iberoamericana
Autores: Edición:
Publicación: ISBN: NULL
Estructuras de datos y métodos algoritmicos: Ejercicios resueltos
N. Martí, Y. Ortega, J.A. Verdejo NULL . Prentice-Hall; 2003
Autores: Edición:
Publicación: ISBN: NULL
Algoritmos y estructuras de datos
Niklaus Wirth NULL
Prentice-Hall Hispanoamericana
Autores: Edición:
Publicación: ISBN: NULL
Técnicas de diseño de algoritmos
R. Guerequeta, A. Vallecillo NULL
Universidad de Málaga/Manuales
Autores: Edición:
Publicación: ISBN: NULL
Diseño de programas : formalismo y abstracción
Ricardo Peña Marí NULL
Prentice Hall; 1998
Autores: Edición:
Publicación: ISBN: NULL
Introduction to Algorithms
T.H. Cormen, C.E. Leiserson, R.L. Rivest
NULL The MIT Press; 1990
Autores: Edición:
Publicación: ISBN: NULL
El lenguaje de programación Java.
A. Gosling NULL
1998
Autores: Edición:
Estructuras de datos y algoritmos
Alfred V. Aho; John E. Hopcroft; Jeffrey
D. Ullman NULL 1988 Autores: Edición: Publicación: ISBN: 0-201-64024-4 Piensa en Java Bruce Eckel 2ª 2002 Autores: Edición: Publicación: ISBN: 84-205-3192-8
Introducción a la programación con Java. Un enfoque orientado a objetos
David M. Arnow; Gerald Weiss NULL
2000
Autores: Edición:
Publicación: ISBN: 84-7829-033-8
Design Patterns. Elements of Reusable Object Oriented Software
E. Gamma [et al] NULL
1995
Autores: Edición:
Publicación: ISBN: NULL
Fundamentos de algoritmia
G. Brassard, P. Bratley NULL
1997
Autores: Edición:
Publicación: ISBN: NULL
El lenguaje de programación Java
Ken Arnold; James Gosling; 3ª
2001
Autores: Edición:
Publicación: ISBN: 84-7829-045-1
Patterns in Java. Volume I
M. Grand NULL
1998
Autores: Edición:
Publicación: ISBN: NULL
Estructuras de datos y algoritmos
Mark Allen Weiss NULL
1995
Autores: Edición:
Publicación: ISBN: 0-201-62571-7
Estructuras de datos y métodos algoritmicos: Ejercicios resueltos
N. Martí, Y. Ortega, J.A. Verdejo NULL 2003
Autores: Edición:
Publicación: ISBN: NULL
Algoritmos y estructuras de datos
Niklaus Wirth NULL
1987
Autores: Edición:
Técnicas de diseño de algoritmos
R. Guerequeta, A. Vallecillo NULL
1997
Autores: Edición:
Publicación: ISBN: NULL
Diseño de programas : formalismo y abstracción
Ricardo Peña Marí NULL
1998
Autores: Edición:
Publicación: ISBN: 84-8322-003-2
Introduction to Algorithms
T.H. Cormen, C.E. Leiserson, R.L. Rivest
NULL 1990
Autores: Edición:
Publicación: ISBN: NULL
SISTEMAS Y CRITERIOS DE EVALUACIÓN Y CALIFICACIÓN Sistema de evaluación
EVALUACIÓN ORDINARIA
Tanto la evaluación de la parte teórica como práctica se hará mediante un examen escrito que se realizará en las fechas que indique el Centro para cada una de las convocatorias oficiales.
La nota final del alumno se calculará ponderando las partes prácticas y teóricas según su dedicación. Se considerará que un alumno ha superado la asignatura cuando la calificación que obtiene en el sistema de evaluación elegido sea igual o superior a 5.
EVALUACIÓN ALTERNATIVA
El alumno también tendrá la posibilidad de aprobar la asignatura sin necesidad de presentarse al examen final mediante una evaluación alternativa. Esta evaluación alternativa consistirá en la superación de una serie de ejercicios escritos tanto teóricos como de programación, y la realización de un conjunto de problemas en clases de teoría y de prácticas de laboratorio. Para los ejercicios escritos se realizarán dos pruebas, que contendrán tanto aspectos teóricos como prácticos de la asignatura. En las sesiones de laboratorio se desarrollarán las diferentes prácticas y el profesor evaluará el trabajo realizado por el alumno. Se podrá obtener puntos con la realización de las prácticas en el laboratorio, que serán sumados a la nota final de prácticas siempre que se haya asistido al menos a un 60% de las prácticas de aula. De igual forma, a la nota de teoría se le sumará la puntuación correspondiente a los trabajos realizados en clase, pudiéndose exigir un mínimo de asistencia.
Se considerará que un alumno ha superado la asignatura cuando la calificación que obtiene en el sistema de evaluación elegido sea igual o superior a 5
CALENDARIO DE EXÁMENES
CENTRO: E.T.S. Ingeniería Informática
27/1/2010 0:0
Por definir
Fecha: Hora:
Aula:
1 ª Convocatoria
CENTRO: E.T.S. Ingeniería Informática
6/9/2010 0:0
Por definir
Fecha: Hora:
Aula:
2 ª Convocatoria
CENTRO: E.T.S. Ingeniería Informática
2/12/2009 0:0
Por definir
Fecha: Hora:
Aula:
3 ª Convocatoria
MANUEL CORDERO VALLE Presidente:
Vocal: MANUEL MEJIAS RISOTO RAFAEL CORCHUELO GIL Secretario:
Primer suplente: JOSE MARIANO GONZALEZ ROMANO CARLOS AREVALO MALDONADO Segundo suplente:
LUISA MARIA ROMERO MORENO Tercer suplente:
ANEXO 1:
HORARIOS DE LOS GRUPOS NO PRINCIPALES DE LA ASIGNATURA Y DEL GRUPO DEL PROYECTO DOCENTE
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (883276)
Calendario del grupo
CLASES DEL PROFESOR: ALVAREZ DE LA CONCEPCION, MIGUEL ANGEL
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: GOMEZ LOPEZ, MARIA TERESA
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: ROSA TROYANO, FRANCISCO FERNANDO DE LA
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (865930)
Calendario del grupo
CLASES DEL PROFESOR: ALVAREZ DE LA CONCEPCION, MIGUEL ANGEL
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: ROSA TROYANO, FRANCISCO FERNANDO DE LA
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (865931)
Calendario del grupo
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: ROSA TROYANO, FRANCISCO FERNANDO DE LA
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (865932)
Calendario del grupo
CLASES DEL PROFESOR: ORTEGA RODRIGUEZ, FRANCISCO JAVIER
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: ROSA TROYANO, FRANCISCO FERNANDO DE LA
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (865933)
Calendario del grupo
CLASES DEL PROFESOR: MARTINEZ BALLESTEROS, MARIA DEL MAR
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: PARODY NUÑEZ, MARIA LUISA
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (865934)
Calendario del grupo
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: ROSA TROYANO, FRANCISCO FERNANDO DE LA
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (894674)
Calendario del grupo
CLASES DEL PROFESOR: PARODY NUÑEZ, MARIA LUISA
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: VALLE SEVILLANO, CARMELO DEL
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (894679)
Calendario del grupo
CLASES DEL PROFESOR: GARCIA VALLEJO, CARLOS ANTONIO
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: PARODY NUÑEZ, MARIA LUISA
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: VALLE SEVILLANO, CARMELO DEL
GRUPO: Grupo de CLASES DE LABORATORIO de ANALISIS Y DISE. (894680)
Calendario del grupo
CLASES DEL PROFESOR: FERNANDEZ-MONTES GONZALEZ, ALEJANDRO
HORARIO SIN ESPECIFICAR
CLASES DEL PROFESOR: ORTEGA RODRIGUEZ, FRANCISCO JAVIER
HORARIO SIN ESPECIFICAR
GRUPO: Grupo de CLASES TEORICAS de ANALISIS Y DISE¥O DE . (865928)
Calendario del grupo
CLASES DEL PROFESOR: ROSA TROYANO, FRANCISCO FERNANDO DE LA
Jueves
Del 28/09/09 al 22/01/10 De 08:30 a 10:30 AULA H1.12
Fecha: Hora: