E N D
1. Algoritmos y Estructura de Datos CURSO ACADÉMICO: 01/02
TITULACIÓN: INGENIERO EN INFORMÁTICA
CICLO: 1º
CURSO: 1º (2º TRIMESTRE)
CARÁCTER: TRONCAL
CRÉDITOS: 6 (3 Teóricos y 3 Prácticos)
PROFESORES: FERNANDO JIMÉNEZ BARRIONUEVO
GRACIA SÁNCHEZ CARPENA
DEPARTAMENTO: INGENIERÍA DE LA INFORMACIÓN Y LAS COMUNICACIONES
DIRECCIÓN URL: http://intelec.dif.um.es/?fernan/aed.html
3. Programa de Contenidos Teóricos 1 Tipos de Datos Abstractos y Programación Orientada a Objetos
1.1 Concepto de Tipo de Datos Abstracto
1.2 Clasificación de Tipos de Datos Abstractos
1.3 Especificación de Tipos de Datos Abstractos
1.3.1 Especificaciones informales
1.3.2 Especificaciones formales
1.4 Programación Orientada a Objetos
1.4.1 Clases y Objetos
1.4.2 Propiedades y Métodos
1.4.3 Herencia y Polimorfismo
1.4.4 Pautas generales en diseño orientado a objetos
4. Programa de Contenidos Teóricos 1 Tipos de Datos Abstractos y Programación Orientada a Objetos (cont.)
1.4.5 Técnicas de implementación
1.4.5.1 Implementaciones estáticas y dinámicas
1.4.5.2 Representaciones contiguas y enlazadas
1.4.6 Utilización correcta de objetos
1.4.6.1 Privacidad de los objetos
1.4.6.2 Previniendo efectos laterales
1.4.6.3 Comparación de objetos
1.4.6.4 Tratamiento de excepciones
1.4.7 Ejemplos en Java
5. Programa de Contenidos Teóricos 2 Listas
2.1 Descripción del TDA Lista
2.2 Especificación del TDA Lista
2.3 Ejemplos de uso
2.4 Implementaciones del TDA Lista
2.4.1 Representaciones contiguas
2.4.2 Representaciones enlazadas
2.4.2.1 Representación con simple enlace
2.4.2.2 Representación con doble enlace
2.4.3 Comparación de las implementaciones
2.5 Otras alternativas en la definición del TDA Lista
2.6 Modalidades de listas
6. Programa de Contenidos Teóricos 3 Colas
3.1 Descripción del TDA Cola
3.2 Especificación del TDA Cola
3.3 Ejemplos de uso
3.4 Implementaciones del TDA Cola
3.4.1 Implementación basada en el TDA Lista
3.4.2 Implementación con vectores circulares
3.4.3 Implementación con apuntadores
3.4.4 Comparación de las implementaciones
3.5 Modalidades de colas
3.5.1 Dicolas
3.5.2 Colas de Prioridad
7. Programa de Contenidos Teóricos 4 Pilas
4.1 Descripción del TDA Pila
4.2 Especificación del TDA Pila
4.3 Ejemplos de uso
4.4 Implementaciones del TDA Pila
4.4.1 Implementación basada en el TDA Lista
4.4.2 Implementación con vectores
4.4.3 Implementación con apuntadores
4.4.4 Comparación de las implementaciones
8. Programa de Contenidos Teóricos 5 Árboles
5.1 Descripción y terminología fundamental
5.2 Especificación del TDA Árbol
5.3 Ejemplos de uso del TDA Árbol
5.4 Implementaciones del TDA Árbol
5.5 Especificación del TDA Árbol Binario
5.6 Ejemplos de uso del TDA Árbol Binario
5.7 Implementaciones del TDA Árbol Binario
5.8 Árboles Parcialmente Ordenados: Colas de Prioridad.
5.9 Árboles Binarios de Búsqueda
9. Programa de Contenidos Teóricos 6 Métodos Avanzados de Clasificación
6.1 El Método de Shell
6.2 Clasificación Rápida
6.3 Clasificación por Mezcla
6.4 Clasificación por Montículos
10. Programa de Contenidos Prácticos BLOQUE I: LABORATORIO CERRADO
1. Entorno de Programación VisualCafé
1.1. Hola Mundo
2. Clases
2.1. Utilización de clases
2.2. Creación de Clases
2.3. Documentación correcta de nuestras clases
3. Paquetes
3.1. Creación de paquetes
3.2. Utilización de paquetes
BLOQUE II: LABORATORIO ABIERTO
Cálculo de la mediana
11. Bibliografía Aho, A.V., Hopcroft, J.E., Ullman, J.D. (1988). Estructuras de Datos y Algoritmos. Addison-Wesley Iberoamericana.
Arnow, D., Weiss, G. (2000). Introducción a la programación con Java. Un enfoque orientado a objetos. Addison Wesley.
Harrison, R. (1989). Abstract Data Types in Modula-2. John Wiley & Sons.
Jiménez, F., Sánchez, G. (2002). Algoritmos y Estructura de Datos. Implementaciones en Java. Departamento de Ingeniería de la Información y las Comunicaciones. Facultad de Informática. Universidad de Murcia (http://intelec.dif.um.es/?fernan/aed.html)
Liskov, B., Guttag, J. (1986). Abstraction and Specification in Program Development. The MIT Press.
Main, M. (1999). Data Structures & Other Objects Using Java. Addison-Wesley.
Rowe, G.W. (1998). An Introduction to Data Structures and Algorithms with Java. Prentice-Hall.
Weiss, M.A. (1995). Estructuras de Datos y Algoritmos. Addison-Wesley Iberoamericana.
Weiss, M.A. (2000). Estructuras de Datos en Java. Addison-Wesley.
12. Recursos necesarios para las Prácticas Ordenador PC bajo Windows NT (2 personas por puesto).
Entorno de Programación VisualCafé Standard Edition Version 3 para Windows NT.
13. Evaluación La calificación final del alumno en las convocatorias de Diciembre, Junio o Septiembre será de Matrícula de Honor, Sobresaliente, Notable, Aprobado, Suspenso o No Presentado.
Para superar la asignatura será necesario superar un examen teórico-práctico, que se calificará con Matrícula de Honor, Sobresaliente, Notable, Aprobado o Suspenso, y superar las prácticas de la asignatura, que se calificarán con Apto o No Apto.
Si la calificación de las prácticas es de Apto, entonces la calificación final del alumno será la obtenida en el examen teórico-práctico. Si la calificación de las prácticas es de No Apto o éstas no han sido entregadas en la convocatoria vigente, entonces la calificación final será de Suspenso.
Si el alumno supera las prácticas en una convocatoria, pero no el examen teórico-práctico, entonces la calificación de las prácticas se conserva para las siguientes convocatorias, hasta la convocatoria de Diciembre, inclusive. No se conservan para siguientes convocatorias la calificación obtenida en el examen teórico-práctico, teniendo éste que realizarse en cada una de ellas.
Se obtendrá la calificación de No Presentado en una convocatoria cuando el alumno no se presente al examen teórico-práctico.
14. Documentación para el alumno Direccion web: http://intelec.dif.um.es/?fernan/aed.html
Temario de la asignatura
Prácticas de Laboratorio Cerrado
Prácticas de Laboratorio Abierto
Jiménez, F., Sánchez, G. (2002). Algoritmos y Estructura de Datos. Implementaciones en Java. Dpto. Ingeniería de la Información y las Comunicaciones, Facultad de Informática, Universidad de Murcia.
Transparencias de clase