diseño y análisis de algoritmos - gii 2011/2012
DESCRIPTION
Guía docente de la asignatura "Diseño y análisis de algoritmos" de 2º del Grado en Ingeniería Informática de la Universidad Rey Juan CarlosTRANSCRIPT
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
1 Última actualización: 18 de julio de 2011
GUÍA DOCENTE DE DISEÑO Y ANÁLISIS DE ALGORITMOS
Curso 2011-2012
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
2 Última actualización: 18 de julio de 2011
TITULACION: Grado en Ingeniería en Informática
GUIA DOCENTE DE LA ASIGNATURA: Diseño y Análisis de Algoritmos
Profesores
Manuel Rubio Sánchez
Natalia Esteban Sánchez
Belén Sáenz Rubio
Antonio Pérez Carrasco
Coordinador/a de la asignatura: Antonio Pérez Carrasco
I.- Identificación de la asignatura
Tipo Obligatorio
Materia Programación
Período de impartición Curso 2º, cuatrimestre 2º
Nº Créditos 6
Idioma en el que se imparte Español
Departamento Lenguajes y Sistemas Informáticos I
Asignaturas llave
Tasa de éxito Este dato será incluido por el Vicerrectorado de Profesorado, Titulaciones, Ordenación Académica, Coordinación y Campus
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
3 Última actualización: 18 de julio de 2011
II.- Presentación
La resolución de problemas mediante las tecnologías de computación requiere el diseño de algoritmos que logren aportar una solución válida y satisfactoria para tales problemas, realizando además un uso eficiente de los distintos recursos (tiempo, memoria, etc.).
En esta asignatura se ofrecen los conocimientos relativos al análisis de complejidad de algoritmos basándose en diversas técnicas y en los fundamentos matemáticos de las notaciones asintóticas de funciones que delimitan el crecimiento del empleo de recursos en función del tamaño del problema que se intenta resolver. Por tanto, se instauran las bases para la aplicación de un criterio analítico y objetivo sobre la eficiencia, solvencia y escalabilidad de los algoritmos estudiados.
Por otra parte, existen diversos tipos de problemas para los que se conocen soluciones probadas, eficientes y eficaces, que siguen determinadas directrices basadas en las características propias de los distintos tipos de problemas. Es por ello que se imparten conocimientos acerca de algunas de las más conocidas técnicas algorítmicas para introducir al alumno en el diseño metódico de soluciones ante una diversidad estructurada de problemas.
Se recomienda haber superado satisfactoriamente las asignaturas:
- Matemática discreta y álgebra
- Introducción a la programación
- Estructuras de datos
Durante la asignatura se afrontará la resolución de problemas haciendo uso del lenguaje de programación Java, por lo que se recomienda cursar previamente la asignatura “Programación orientada a objetos” o adquirir conocimientos básicos en este lenguaje por cuenta propia.
III.- Competencias
Competencias transversales
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
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
4 Última actualización: 18 de julio de 2011
Técnico en Informática.
Competencias específicas
B3. Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para la resolución de problemas propios de la ingeniería.
C6. 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.
E3. Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
IV.- Contenido
IV. A. Temario de la asignatura
Bloque temático Tema Apartados
I.- Introducción Tema 1. Conceptos básicos Conceptos básicos. Propiedades de los algoritmos.
II.- Análisis de Algoritmos Tema 2. Notaciones asintóticas Notaciones asintóticas principales de complejidad computacional.
Tema 3. Análisis de complejidad Factores de eficiencia: tiempo y espacio. Casos mejor, peor y medio. Análisis de algoritmos iterativos y algoritmos recursivos. Medidas experimentales.
III.- Diseño de Algoritmos Tema 4. Divide y vencerás Definición. Esquema de programación. Análisis de complejidad. Ejemplos clásicos.
Tema 5. Algoritmos voraces Definición. Esquema de programación. Ejemplos clásicos.
Tema 6. Vuelta atrás Problemas de búsqueda en espacios de estados. Técnicas particulares: enumeración, vuelta atrás. Esquemas de programación: todas las soluciones, una solución,
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
5 Última actualización: 18 de julio de 2011
solución óptima. Detalles de programación eficiente. Ejemplos clásicos.
IV. B. Actividades obligatorias (evaluables):
Prácticas
Prácticas explicadas en los laboratorios informáticos de la Universidad dentro del horario de la asignatura. Cada práctica estará enfocada a afianzar los conocimientos adquiridos en clase sobre un tema concreto de la asignatura. Cada práctica estará puntuada entre 1 y 10. Para conseguir el aprobado en la parte de prácticas deberá obtenerse una nota media mayor o igual que 5.
Pruebas
Exámenes parciales, dentro del horario establecido para la asignatura. El primero de ellos podrá realizar preguntas teóricas y/o prácticas sobre los temas 1, 2 y 3 (temas centrados a dar una visión general de la asigantura y a profundizar en el análisis de la complejidad de algoritmos), mientras que el segundo parcial se centrará en los temas 4,5 y 6, que presentan diversas técnicas de diseño de algoritmos. Para considerar aprobada la parte de las pruebas, deberá obtenerse, tras realizar la media ponderada de ambas pruebas, una nota igual o superior a 5.
V.- Tiempo de trabajo
Clases teóricas 24
Clases prácticas/de resolución de problemas, casos, etc. 12
Prácticas en laboratorios tecnológicos, clínicos, etc. 8
Realización de pruebas 4
Tutorías académicas 12
Actividades relacionadas: jornadas, seminarios, etc. 0
Preparación de clases teóricas 20
Preparación de clases prácticas/problemas/casos 35
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
6 Última actualización: 18 de julio de 2011
Preparación de pruebas 35
Total de horas de trabajo del estudiante 150
VI.- Metodología y plan de trabajo
Clases teóricas
Periodo Contenidos
Semana 1 Tema 1. Introducción
Semana 2 Tema 2. Notaciones asintóticas
Semanas 3 a 5 Tema 3. Análisis de complejidad
Semamas 6 a 8 Tema 4. Divide y vencerás
Semanas 8 a 10 Tema 5. Algoritmos voraces
Semanas 11 a 14 Tema 6. Vuelta atrás
Prácticas/de resolución de problemas, casos, etc.
Periodo Contenidos
Semanas 3 a 5 (una sesión)
Práctica 1
Semamas 6 a 8 (una sesión)
Práctica 2
Semanas 8 a 10 (una sesión)
Práctica 3
Semanas 11 a 13 (una sesión)
Práctica 4
Semanas 14 y 15 (completas, salvo una sesión)
Problemas de todos los temas
Laboratorios
Periodo Contenidos
Semanas 3 a 5 Práctica 1
Semanas 6 a 8 Práctica 2
Semanas 8 a 10 Práctica 3
Semanas 11 a 13 Práctica 4
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
7 Última actualización: 18 de julio de 2011
Tutorías académicas
Periodo
Completo Tutorías personales o en grupo, en horarios a determinar por el profesor y también con cita previa.
Pruebas
Fecha Contenidos
Semana 6 Primer parcial, temas 1,2,3
Semana 14 Segundo parcial, temas 4,5,6
Cronograma
Planificación en semanas Bloque temático / Temas Sesiones
1 Presentación ST
I/1 ST
2 II/2 ST,SRP
II/2 ST,SRP
3 II/3 ST,SRP
II/3 ST,SRP
4 II/3 ST,SRP
II/3 ST,SRP
5 II/3 ST,SRP
II/3 SP (Práctica 1)
6 I/1, II/2, II/3 Prueba escrita 1
III/4 ST,SRP
7 III/4 ST,SRP
III/4 ST,SRP
8 III/4 ST,SRP
III/4 SP (Práctica 2)
9 III/5 ST,SRP
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
8 Última actualización: 18 de julio de 2011
III/5 ST,SRP
10 III/5 ST,SRP
III/5 SP (Práctica 3)
11 III/5 ST,SRP
III/5 SP (Práctica 3)
12 III/6 ST,SRP
III/6 ST,SRP
13 III/6 ST,SRP
III/6 SP (Práctica 4)
14 III/6 ST,SRP
I/1, II/2, II/3, III/4, III/5, III/6 SRP
15 I/1, II/2, II/3, III/4, III/5, III/6 SRP
I/1, II/2, II/3, III/4, III/5, III/6 Prueba escrita 2
ST: Sesiones teóricas / SRP: Sesiones de resolución de problemas / SP: Sesiones prácticas.
VII.- Métodos de evaluación
VII. A. Ponderación para la evaluación continua
El sistema de evaluación de las titulaciones en el marco del EEES es la evaluación continua.
En el sistema de evaluación continua la asistencia a clase es obligatoria y su valoración en el proceso de evaluación continua de la asignatura la establecerán los profesores en cada asignatura.
% Mínimo de asistencia a clase: 80%.
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
9 Última actualización: 18 de julio de 2011
Actividad evaluadora Tipo Ponderación Periodo Contenido
Prueba:
Test Parcial 1
Liberatoria
Puntuación mínima (de 1 a 10): 4
Reevaluable
No reevaluable
25% 7ª semana Temas 1,2,3
Prueba:
Test Parcial 2
Liberatoria
Puntuación mínima (de 1 a 10): 4
Reevaluable
No reevaluable
35% Última semana Temas 4,5,6
Prácticas (dentro y fuera del aula):
Resolución de problemas
Liberatoria
Puntuación mínima (de 1 a 10):………..
Reevaluable
No reevaluable
10% Final del tema correspondiente
Temas 2,3
Prácticas (dentro y fuera del aula):
Resolución de problemas
Liberatoria
Puntuación mínima (de 1 a 10):………..
Reevaluable
No reevaluable
10% Final del tema correspondiente
Tema 4
Prácticas (dentro y fuera del aula):
Resolución de problemas
Liberatoria
Puntuación mínima (de 1 a 10):………..
Reevaluable
No reevaluable
10% Final del tema correspondiente
Tema 5
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
10 Última actualización: 18 de julio de 2011
Prácticas (dentro y fuera del aula):
Resolución de problemas
Liberatoria
Puntuación mínima (de 1 a 10):………..
Reevaluable
No reevaluable
10% Final del tema correspondiente
Tema 6
Total 100%
VII. B. Ponderación para la evaluación de alumnos a tiempo parcial
Para que un alumno pueda optar a esta evaluación, tendrá que obtener la “Dispensa Académica” para la asignatura, que habrá solicitado al Decano o Director/a del Centro que imparte su titulación.
La “Dispensa Académica” no excluye de la evaluación continua. Dicha evaluación se acomodará por el profesor, asistido por el coordinador de grado, estableciéndose la adaptación curricular según las características de cada caso concreto.
VII. C. Revisión de las pruebas de evaluación.
El profesorado informará de la puntuación de las prácticas y pruebas con la mayor brevedad posible, habilitando horarios para la revisión de las mismas por parte de los alumnos.
VIII.- Recursos y materiales didácticos
General
Título Introduction to Algorithms
Autor T. H. Cormen, C. E. Leiserson y R. L. Rivest
Editorial The MIT Press, 2ª ed., 2001
Título Fundamentos de algoritmia
Autor G. Brassard y P. Bratley
Editorial Prentice-Hall, 1997
Título Estructuras de datos y métodos algorítmicos: Ejercicios resueltos
Autor N. Martí Oliet, Y. Ortega Mallén y J. A. Verdejo López
Editorial Pearson, 2004
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
11 Última actualización: 18 de julio de 2011
Complementaria
Título Data Structures, Algorithms and Applications in Java
Autor S. Sahni
Editorial McGraw-Hill, 2000
Título Algorítmica: concepción y análisis
Autor G. Brassard y P. Bratley
Editorial Prentice-Hall, 1997
Título Data structures and algorithms in Java
Autor M. T. Goodrich y R. Tamassia
Editorial John Wiley & Sons, 2ª ed., 2001
IX.- Profesorado
Nombre y apellidos Manuel Rubio Sánchez
Horario de tutorías académicas
Por determinar
Correo electrónico [email protected]
Departamento/área de conocimiento
Lenguajes y Sistemas Informáticos I
Categoría Profesor Contratado Doctor
Titulación Académica - Doctor en Informática (2004)
- Licenciado en Informática (1997)
Experiencia Docente Becario de Formación de Profesorado Universitario 1999-2002. Universidad
Politécnica de Madrid:
• Fundamentos del reconocimiento de voz (1 curso)
• Tratamiento digital de la señal de voz (2 cursos)
Profesor de la Universidad Rey Juan Carlos (2004 – actualidad). Área de
Lenguajes y Sistemas Informáticos:
• Metodología y tecnología de la programación (3 cursos)
• Metodología de la programación (1 curso)
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
12 Última actualización: 18 de julio de 2011
• Cómo mostrar visualmente datos y explicaciones (ADA-Madrid) (3
cursos)
• Seminario en Software Avanzado para la Sociedad de la
Información (máster) (1 curso)
• Estructuras de datos y algoritmos avanzados (1 curso)
• Programación (máster) (1 curso)
• Algoritmos y estructuras de datos avanzadas (máster) (4 cursos)
• Las TIC en la educación (1 curso)
• Diseño y análisis de algoritmos (1 curso)
Experiencia profesional Profesor en la Universidad de St. Louis, Campus de Madrid (2004-2005)
• Introduction to Computer Science (2 cursos)
• Computer Architecture (1 curso)
Nombre y apellidos Antonio Pérez Carrasco
Horario de tutorías académicas
Miércoles: 11:00h a 13:00h y Miércoles: 15:00h a 17:00h Otros horarios a convenir previamente por correo electrónico
Correo electrónico [email protected]
Departamento/área de conocimiento
Lenguajes y Sistemas Informáticos I
Categoría PDI en formación
Titulación Académica - Ingeniería en Informática - Maestría en Tecnologías de la Información y Sistemas Informáticos
Experiencia Docente - 2007/2008 “Procesadores de lenguajes”, prácticas (Ingeniería Informática)
- 2008/2009 “Procesadores de lenguajes”, prácticas (Ingeniería Informática)
- 2008/2009 “Diseño y análisis de algoritmos”, prácticas (Ingeniería Informática)
- 2009/2010 “Procesadores de lenguajes”, prácticas (Ingeniería Informática)
- 2010/2011 “Procesadores de lenguajes”, prácticas (Ingeniería Informática)
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
13 Última actualización: 18 de julio de 2011
- 2010/2011 “Diseño y análisis de algoritmos”, teoría y prácticas (Ingeniería Informática)
- 2010/2011 “Diseño y análisis de algoritmos”, coordinación, teoría y prácticas (Grado en Ingeniería del Software)
Experiencia profesional
Nombre y apellidos Natalia Esteban Sánchez
Horario de tutorías académicas
Por determinar
Correo electrónico [email protected]
Departamento/área de conocimiento
Lenguajes y Sistemas Informáticos I
Categoría Profesor Visitante Lector
Titulación Académica -Ingeniería Técnica en Informática de Sistemas
- Ingeniería en Informática
- Máster Universitario en Ingeniería de Sistemas de Decisión.
Experiencia Docente - 2007/2011 Cursos de formación para profesorado de la URJC.
- 2010/2011 “Diseño y análisis de algoritmos”, teoría y prácticas (Grado en Ingeniería Informática)
- 2010/2011 “Diseño y análisis de algoritmos”, teoría y prácticas (Grado en Ingeniería del Software)
Experiencia profesional
Nombre y apellidos Belén Sáenz Rubio
Horario de tutorías académicas
Por determinar
Correo electrónico [email protected]
Departamento/área de Lenguajes y Sistemas Informáticos I
Vicerrectorado de Profesorado, Titulaciones,
Ordenación Académica, Coordinación y Campus.
14 Última actualización: 18 de julio de 2011
conocimiento
Categoría Profesor Visitante Lector
Titulación Académica -Ingeniería Técnica en Informática de Sistemas
- Ingeniería en Informática
- Máster Universitario en Ingeniería de Sistemas de Decisión.
Experiencia Docente - 2007/2011 Cursos de formación para profesorado de la URJC.
- 2010/2011 “Diseño y análisis de algoritmos”, prácticas (Grado en Ingeniería Informática).
- 2010/2011 “ITCs in Education”, prácticas (Educación Infantil).
Experiencia profesional Personal investigador en distintos proyectos de investigación.