08BZ - ALGORITMOS Y ESTRUCTURAS DE DATOS

Año 2007/2008
Curso Segundo
Ingeniero en Informática
Universidad de Murcia

AVISOS | APUNTES | PRACTICAS | RETOS | TUTORIAS | EXAMENES | EVALUACION | CONVALIDACIONES | BIBLIOGRAFIA


AVISOS PARA LOS ALUMNOS

- Ya están disponibles las notas finales de la convocatoria de septiembre de 2008.

- Atención, importante novedad: los alumnos que consigan aprobar TODAS las actividades de evaluación continua de la parte de diseño de algoritmos (divide y vencerás, algoritmos voraces, programación dinámica, backtracking, y ramificación y poda), NO TENDRÁN QUE HACER LA PRACTICA 3 de la asignatura.

- Se ha creado una lista de distribución específica para los alumnos de la asignatura AED de II. Esta lista se usará para los avisos importantes y para notificar las principales novedades que aparezcan en la web. Si no estás suscrito a la lista, puedes (debes) hacerlo solicitando la suscripción en:
https://listas.um.es/sympa/info/aed-ii

- OJO: ver las novedades en el sistema de evaluación de la asignatura para este curso. Para seguir el método de evaluación continua se requiere una asistencia mínima del 80% de las clases (se pasará lista en clase) independiente para cada parcial, además de la entrega de los resúmenes que se pidan.

- Consultar la fe de erratas del texto guía, para los alumnos que manejen el texto guía de la asignatura.

- Si buscas información de la asignatura relativa a las convocatorias del curso 2006/2007 usa esta página.


APUNTES
Las transparencias en formato PPT se pueden visualizar con PowerPoint 97, pero para ver las animaciones hay que usar PowerPoint XP o superior.

Parte I: Estructuras de datos

Tema 0. Introducción.
presentación de la asignatura: PowerPoint97

Tema 1. Abstracciones y especificaciones.
transparencias: PDF, PowerPoint97; ejercicios: PDF, Word97
Actividad de evaluación continua:
Seminario de Maude (Maude 1 para Linux)

Tema 2. Conjuntos y diccionarios.
transparencias: PDF, PowerPoint97; ejercicios: PDF, Word97

Tema 3. Representación de conjuntos mediante árboles.
transparencias: PDF, PowerPoint97; ejercicios: PDF, Word97

Tema 4. Grafos.
transparencias: PDF, PowerPoint97; ejercicios: PDF, Word97

Parte II: Algoritmos

Impartida por Joaquín Cervera


PRÁCTICAS

  • Las prácticas consistirán en el análisis, diseño, implementación y prueba de algunos problemas de algoritmos y de estructuras de datos, usando el lenguaje de programación C++.

  • Los 6 créditos de prácticas se reparten en 1,5 créditos en el seminario de introducción a C/C++ (no obligatorio), y 4,5 créditos repartidos en tres prácticas en la modalidad de laboratorio abierto (obligatorias).

  • Las prácticas se realizarán en grupos de 2 alumnos

  • Enlace al juez on-line de la asignatura (Mooshak).

  • Como NO hacer unas prácticas de programación.

  • Seminario 1: Programación en C (estos guiones son provisionales)
    Sesión 1: PDF, Word97
    Sesión 2:
    PDF, Word97
    Sesión 3:
    PDF, Word97, TXT
    Sesión 4:
    PDF, Word97, TXT

  • Seminario 2: Programación en C++ (estos guiones son provisionales)
    Sesión 1: PDF, Word97, TXT
    Sesión 2:
    PDF, Word97, TXT
    Sesión 3:
    PDF, Word97, TXT


RETOS

El Reto del VIAJANTE
Enunciado y descripción: retoviajante.html
Mejor solución actual:
retoviajante.html#actual
Procedimiento:
Enviar por e-mail los ciclos encontrados (según el formato especificado en el enunciado) si son mejores que la mejor solución actual. Sólo se pedirá una explicación del algoritmo y el trabajo realizado al ganador del reto. El reto se puede hacer en grupos de 2, pero en ese caso cada miembro deberá especificar claramente cuál es su contribución al método desarrollado.
Fecha: El reto estará abierto hasta el 31 de mayo del 2008.
Evaluación:
El ganador o ganadores del reto, tras la correspondiente entrevista, tendrán un +0.5 en la nota final de la asignatura, siempre que la nota sea mayor o igual que 4,5.

El Reto de las CIFRAS
Dada una lista de 4, 5, 6, ... ó 10 enteros (entre 1 y 100) encontrar la forma de conseguir otro entero entre 1 y 2000, utilizando las operaciones de suma, resta, producto y división entera. Cada número de la lista sólo se puede usar una vez como máximo.
Versión a retar:
cifras.exe (executable Win95)
Reto: Diseñar, implementar y documentar una solución al problema más rápida que el programa "cifras.exe", para tamaños entre 6 y 10, y que no pierda ninguna solución. El programa debe indicar todos los números alcanzables, entre 1 y 2000, usando los datos de entrada.
Evaluación: Tras la correspondiente entrevista con el profesor, la evaluación si se supera el reto será un +0.5 en la nota final de la asignatura, siempre que la nota sea mayor o igual que 4,5.


TUTORIAS

Lunes y miércoles de 10:30 a 13:30

Lugar: Despacho 2.34 (2ª planta, Fac. Informática)


EXAMENES

Convocatoria de Febrero-2008
Fecha: martes 5/febrero/2008
Lugar: Aulario Norte  Aulas: A.01-A.04
PRIMERA PARTE (1er PARCIAL):
Hora: 15:30 Duración: 2 horas 30 minutos
SEGUNDA PARTE (2º PARCIAL):
Hora: 18:00 Duración: 2 horas 30 minutos
Modalidad:
Teórico/Práctico
Observaciones: se aconseja traer calculadora y DNI al examen. La segunda parte es sólo para los alumnos repetidores del curso pasado. Los alumnos que se acojan al sistema de evaluación continua, sólo deben hacer los ejercicios de los temas no convalidados. Los demás deben hacer todo el examen.
Notas del examen de febrero y del primer parcial
 

Convocatoria de Junio-2008
Fecha: lunes 16/junio/2008
Lugar: Aulario Norte   Aulas: A.01 - A.04
PRIMERA PARTE (1er PARCIAL):
Hora: 15:30 Duración: 2 horas
SEGUNDA PARTE (2º PARCIAL):
Hora: 18:00 Duración: 3 horas
Modalidad:
Teórico/Práctico
Observaciones: se aconseja traer DNI al examen. Los alumnos que hayan aprobado ambos parciales no tendrán que hacer este examen. Los alumnos que se acojan al sistema de evaluación continua, sólo deben hacer los ejercicios de los temas no convalidados. Los demás deben hacer todo el examen.
Notas finales de la convocatoria de junio

 

Convocatoria de Septiembre-2008
Fecha: martes 2/septiembre/2008
Lugar: Aulario Norte   Aulas: A.01-A.04
PRIMERA PARTE (1er PARCIAL):
Hora: 15:30 Duración: 2 horas
SEGUNDA PARTE (2º PARCIAL):
Hora: 18:00 Duración: 2:30 horas
Modalidad:
Teórico/Práctico
Observaciones: Se aconseja traer DNI al examen. Se guardan las notas de convocatorias previas a partir de 5. Los alumnos que se acogieron al sistema de evaluación continua, sólo deben hacer los ejercicios de los temas no convalidados. Los demás deben hacer todo el examen. La entrega de la práctica es el mismo día del examen.
Notas finales de la convocatoria de septiembre
 


EVALUACION

  • La Nota Final será un promedio entre la Nota Total de Prácticas y la Nota Total de Teoría. La Nota Total de Prácticas contará un 35% y la de Teoría un 65%. Ambas partes deben estar aprobadas por separado.

  • La Nota Final podrá incrementarse con la superación de los retos y actividades de carácter optativo (notas adicionales) (ver sección Retos).

  • La Nota Total de Prácticas será un promedio de la nota obtenida en cada una de las tres prácticas de la asignatura.

  • Para calcular la Nota Total de Prácticas, cada una de las tres partes (por separado) debe estar aprobada. En otro caso las prácticas se consideran no aprobadas.

  • La Nota Total de Prácticas se guarda para convocatorias posteriores si es mayor o igual que 5 sobre 10. También se guardan las notas de las partes que estén aprobadas.

  • Aparecerán más detalles sobre la evaluación de las prácticas en los enunciados correspondientes.

  • La Nota Total de Teoría se obtendrá promediando la Nota del Primer (50%) y el Segundo Parcial (50%). Los alumnos pueden elegir entre dos alternativas de evaluación de la parte teórica:

  • Evaluación continua: para cada tema se irán proponiendo una serie de actividades (ejercicios, entrega de resúmenes, exámenes de tipo test, etc.).

    • Los alumnos que superen una actividad, tendrán superado el tema correspondiente.

    • Los alumnos que hayan superado todos los temas, no tendrán que hacer el examen final de la asignatura.

    • Los alumnos que superen sólo algunos temas, tendrán que hacer los temas no superados en el examen final, debiendo aprobar todas las asignaturas por separado.

    • Para optar a este sistema de evaluación, se requiere una asistencia de al menos el 80% de las clases (contadas de forma independiente para cada parcial de la asignatura), y la entrega de todos los resúmenes que se pidan. En otro caso, no se convalidará ningún tema.

  • Evaluación con examen final: se recomiendo evitar esta forma de evaluación, e intentar seguir el método de evaluación continua.

    • Habrá un primer y un segundo parcial, con una pregunta por cada tema, que serán exigentes.

    • Se requerirá que todas las preguntas del examen estén aprobadas por separado.

    • En este sistema no se requiere la asistencia a clase.

  • En cualquiera de los casos, para calcular la Nota Total de Teoría se requiere que la nota de cada parte sea como mínimo de 4,5 sobre 10. En otro caso la teoría se considera no aprobada.

  • La Nota Total de Teoría se guarda para convocatorias posteriores si es mayor o igual que 5 sobre 10. También se guardan los Parciales que estén aprobados para las convocatorias finales de Junio, Septiembre y Febrero.


CONVALIDACIONES (alumnos de otras convocatorias previas)

Información para los alumnos de convocatorias anteriores de AED:

  • La asignatura "Laboratorio de Programación" (plan antiguo) corresponde a las prácticas de "Algoritmos y Estructuras de Datos" (plan nuevo). Para los alumnos con dicha asignatura aprobada, la Nota Total de Prácticas durante las tres convocatorias del curso 2007/08 será la nota obtenida en dicha asignatura.

  • Para los alumnos con teoría o prácticas aprobadas en convocatorias anteriores de AED, se guardan para las convocatorias del curso 2007/08 las notas de las partes aprobadas, ya sea la nota final de examen, de uno de los parciales o la nota de prácticas. Se conservan también las notas de las prácticas de Maude del curso pasado.


BIBLIOGRAFIA

Texto Guía

Básica

  • Aho, A.V.; Hopcroft, J.E.; Ullman, J.D.: Estructura de datos y algoritmos. Addison-Wesley, 1988.
  • Brassard, G.; Bratley, P.: Fundamentos de algoritmia. Prentice-Hall, 1998.
  • Weiss, M.A.: Estructuras de datos y algoritmos. Addison-Wesley, 1995.
  • Martí, M.; Ortega, Y.; Verdejo, A.: Estructuras de datos y métodos algorítmicos: ejercicios resueltos. Prentice Hall, 2004.
  • Baase, S.; Van Gelder, A.: Computer algorithms. Introduction to Design and Analysis. Addison-Wesley, 2000.

Complementaria

  • Cormen, T.H.; Leierson, C.E.; Rivest, R.L.; Stein, C.: Introduction to algorithms, second edition. The MIT Press, 2001.
  • Wirth, N.: Algoritmos y estructura de datos. Prentice-Hall, 1987.
  • Heileman, G.L.: Estructuras de Datos, Algoritmos y Programación orientada a Objetos. McGraw-Hill, 1997.
  • Hoorobeek, I.V.: Algebraic Specifications. From Many-Sorted Algebras to a Practical Specification Language. K.U. Leuven, Dept. of Computer Science, 1985.
  • Joyanes, L.; Zahonero, I.: Estructura de datos. McGraw-Hill, 1998.
  • Mehlhorn, K.: Data Structures and Algorithms. Springer-Verlag, 1984.
  • Peña, R.: Diseño de programas. Formalismo y abstracción. Prentice-Hall, 1997.
  • Kernighan, B.W., Ritchie, D.M.: El lenguaje de programación C. Prentice-Hall, 1991.
  • Stroustrup, B.: El lenguaje de programación C++. Addison Wesley, 1998.

On-line

  • Ginés García Mateos: Exámenes de convocatorias anteriores (con soluciones, a partir de 2001). Septiembre/2006, Junio2/2006, Junio/2006, Febrero/2006, Septiembre/2005, Junio/2005, Marzo/2005, Diciembre/2004, Septiembre/2004, Junio/2004, Febrero/2004, Diciembre/2003, Septiembre/2003, Marzo/2003, Diciembre/2002, Septiembre/2002, Marzo/2002, Marzo- Septiembre- Diciembre/2001. Marzo- Septiembre- Diciembre/2000. Marzo- Septiembre- Diciembre/1999.
  • Foro de discusión en español sobre algorítmica: http://www.foro.ws/algoritmia/
  • Dictionary of Algorithms and Data Structures: http://www.nist.gov/dads/
  • The Complete Collection of Algorithm Animations: http://www.cs.hope.edu/~alganim/ccaa/
  • García de Jalón, J. et al: Tutorial de C++ de la Escuela Superior de Ingeniería Industrial de Navarra.
  • Valladolid Programming Contest Site: http://acm.uva.es/problemset/


  •  

    Facultad de Informática. Despacho 2.34.
    Campus de Espinardo. Universidad de Murcia.
    30071 Murcia (SPAIN)
    Teléfono: +34 968 39 85 30
    Fax: +34 968 36 41 51
    E-mail: ginesgm@um.es