Competencias do título |
Código
|
Competencias da titulación
|
Resultados de aprendizaxe |
Competencias de materia (Resultados de aprendizaxe) |
Competencias da titulación |
Conocer los mecanismos de abstracción en el diseño de estructuras de datos
|
A1 A6 A9
|
B1 B2 B3 B4
|
C3 C6
|
Comprender el concepto de Tipo Abstracto de Datos en programación operacional
|
A6 A8
|
B2 B3 B4 B5 B9 B11 B12 B15
|
C3 C6
|
Distinguir los niveles de especificación, implementación y uso para el diseño de tipos abstractos de datos.
|
A6 A8 A9
|
B2 B3 B4 B5 B9 B11 B12 B15
|
C3 C6
|
Reconocer las estructuras de datos elementales que se necesitan para resolver un problema.
|
A5 A6 A8 A9 A10
|
B2 B3 B4 B5 B9 B10 B11 B12 B15
|
C3 C6
|
Construir una especificación formal de un tipo abstracto de datos para resolver un problema.
|
A3 A4 A5 A8 A9
|
B2 B3 B4 B5 B9 B10 B11 B15
|
C3 C6
|
Diseñar tipos abstractos de datos a partir de una especificación formal.
|
A3 A4 A5 A8
|
B2 B3 B4 B5 B9 B11 B12
|
C3 C6
|
Programar los algoritmos de manipulación de las estructuras de datos diseñadas.
|
A2 A4 A6 A7 A10
|
B2 B3 B5 B6 B7 B8 B11 B15
|
C3 C6 C8
|
Usar las estructuras de datos para solucionar problemas reales.
|
A1 A4 A6 A7 A8 A9
|
B2 B3 B5 B6 B7 B8 B9 B15
|
C3 C6
|
Asumir la necesidad de una buena especificación y un buen diseño como pasos previos a la codificación.
|
A1
|
B6 B11 B15
|
C1 C2 C4 C6
|
Interiorizar las buenas prácticas de programación.
|
A1 A2 A4 A6 A7
|
B6 B11 B12 B15
|
C7 C8
|
Contidos |
Temas |
Subtemas |
Gestión dinámica de memoria
|
Organización de la memoria de un programa.
Definición de variables de tipo puntero.
Reserva y destrucción dinámica de memoria.
Asignación y comparación.
|
Recursividad
|
El concepto de recursión.
Principios de diseño de subprogramas recursivos.
Ejemplos de subprogramas recursivos.
La recursión con respecto a la iteración.
Algoritmos recursivos de ordenación.
|
Introducción a los Tipos Abstractos de Datos
|
La abstracción en programación: Concepto, Evolución a través de la historia de la programación, TAD y Programación orientada a objetos.
La modularidad en programación.
Tipos Abstractos de Datos: Definición y concepto, Diferencias entre tipo de dato, estructuras de datos y TAD, Construcción de un TAD, Ventajas de la abstracción de datos.
|
Listas
|
Especificación informal del TAD Lista.
Implementación del TAD Lista.
El TAD Lista ordenada: especificación e implementación.
Multilistas y listas multiordenadas: concepto, representaciones y usos.
|
Colas
|
Especificación informal del TAD Cola.
Implementación del TAD Cola.
Variantes de las colas. Colas de prioridad.
Aplicaciones en computación.
|
Pilas
|
Especificación informal del TAD Pila.
Implementación del TAD Pila.
Aplicaciones en computación.
|
Árboles
|
Definición de árbol y terminología
Árboles binarios: Especificación informal, Implementación.
Variantes de árboles binarios: Especificación e implementación de operaciones.
|
Árboles de búsqueda
|
Árboles binarios de búsqueda.
Árboles AVL.
|
Grafos |
Introducción
Recorridos sobre grafos
Operaciones comunes sobre grafos |
Planificación |
Metodoloxías / probas |
Horas presenciais |
Horas non presenciais / traballo autónomo |
Horas totais |
Sesión maxistral |
15 |
15 |
30 |
Aprendizaxe colaborativa |
0 |
5.4 |
5.4 |
Solución de problemas |
19 |
19 |
38 |
Prácticas de laboratorio |
11 |
11 |
22 |
Proba obxectiva |
3.6 |
0 |
3.6 |
|
Atención personalizada |
1 |
0 |
1 |
|
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado |
Metodoloxías |
Metodoloxías |
Descrición |
Sesión maxistral |
En las clases presenciales de teoría, el profesor realizará una breve descripción de los contenidos temáticos y de los objetivos básicos perseguidos, con el fin de dotar al alumno de una visión global de la materia. Además tratará de establecer interrelaciones con otros conceptos previamente adquiridos, de forma que se pueda establecer una línea temporal, y expondrá la bibliografía recomendada. Seguidamente pasará a desarrollar los contenidos teóricos, utilizando como método la clase magistral.
|
Aprendizaxe colaborativa |
Lectura de fuentes bibliográficas propuestas y elaboración de un documento-resumen de extensión limitada, que sirva como punto de partida y referencia de otras actividades.
|
Solución de problemas |
En las clases presenciales de problemas, con el fin de afianzar los conceptos teóricos se presentarán supuestos prácticos, que en un principio serán resueltos por el profesor para orientar a los alumnos. Tanto en las clases de problemas como en los ejemplos mostrados durante las exposiciones teóricas, cuando éstos impliquen el desarrollo de código o seudocódigo éste se realizará mostrando los sucesivos pasos del diseño escendente. Con esto pretendemos: a) que el alumno se acostumbre al uso de este método, y b) evitar que se pierda en los detalles de sintaxis y las características particulares del lenguaje, en lugar de fijar su atención en la comprensión y diseño de la solución. Como actividades no presenciales, se plantearán ejercicios adicionales que el alumno deberá resolver y comentar/corregir con el profesor durante las horas de tutorías, colectivas y/o individuales. Se trata de fomentar la participación de los alumnos y promover, en la medida de lo posible, el diálogo abierto y la valoración de soluciones. Al finalizar cada tema, se proporcionará, utilizando los recursos virtuales de docencia, un test de autoevaluación para que al alumno pueda comprobar el progreso de su aprendizaje.
|
Prácticas de laboratorio |
Las clases de prácticas obligan a la realización de prácticas de programación sobre estructuras de datos en un lenguaje de alto nivel. Se impondrá una periodicidad en su entrega para fomentar el estudio continuo. El enunciado de las prácticas, que se proporcionará con la suficiente antelación, detallará el problema y las especificaciones, que el alumno deberá respetar estrictamente. Este enunciado se analizará con los alumnos durante la primera hora de prácticas del bloque correspondiente. Posteriormente, la labor del profesor será la de supervisar las sesiones de prácticas, solucionando dudas y corrigiendo errores de interpretación, malos hábitos de programación y errores de sintaxis, etc.
|
Proba obxectiva |
Evaluación sumativa del alumno mediante un examen final al término del cuatrimestre. Éste será eminentemente práctico para que el alumno pueda demostrar que ha adquirido los conocimientos necesarios de abstracción y diseño de TADs y se ha entrenado lo suficiente como para poseer las habilidades precisas para resolver supuestos prácticos que impliquen la aplicación de dichas estructuras. La puntuación asignada a cada una de las preguntas del examen irá consignada en la prueba.
|
Atención personalizada |
Metodoloxías
|
Aprendizaxe colaborativa |
Solución de problemas |
Prácticas de laboratorio |
Proba obxectiva |
|
Descrición |
El desarrollo, tanto de las clases magistrales como de las de resolución de problemas y los laboratorios de prácticas, se realizará atendiendo al progreso de los alumnos en las capacidades de comprensión y asimiliación de los contenidos impartidos. El avance general de la clase se compaginará con una atención específica a aquellos alumnos que presenten mayores dificultades en la tarea del aprendizaje y con un apoyo adicional a aquellos otros que presenten mayor desenvoltura y deseen ampliar conocimientos.
En lo que respecta a las tutorías individuales, dado su carácter personalizado, no deben dedicarse a extender los contenidos con nuevos conceptos, sino a aclarar los conceptos ya expuestos. El profesor las utilizará como una interacción que le permita extraer conclusiones respecto al grado de asimilación de la materia por parte de los alumnos.
|
|
Avaliación |
Metodoloxías
|
Descrición
|
Cualificación
|
Proba obxectiva |
Realizacion obligatoria. Necesario aprobar la prueba para superar la asignatura.
|
100 |
|
Observacións avaliación |
|
Fontes de información |
Bibliografía básica
|
Liskov, B. y Guttag, J. (1989 ). Abstraction and specification in program development . The MIT Press
Standish, T.A. (1994 ). Data structures, algorithms, and software principles . Addison-Wesley
Cairó O. y Guardati S. (1993 ). Estructuras de datos . McGraw-Hill Interamericana de México, S.A. de C.V.
Weiss, M.A. (1995 ). Estructuras de datos y algoritmos . Wilmington, Delaware. Addison-Wesley Iberoamericana
Joyanes Aguilar, L. y Zahonero Martínez, I. (1998 ). Estructuras de Datos: algoritmos, abstracción y objetos . Madrid. McGraw-Hill/Interamericana de España
Collado Machuca, M., Morales Fernández, R. y Moreno Navarro, J.J. (1987 ). Estructuras de Datos: Realización en Pascal . Madrid. Diaz de Santos
Carmona Poyato, A., Merina Carnicer, R., Madrid Cuevas, F.J., Romero del Castillo J.A., Fernández G. (1999 ). Pascal y Estructuras de datos . Servicio Publicaciones, Universidad de Córdoba
Dale, N. y Lilly, S.C. (1989 ). Pascal y Estructuras de datos (segunda edición) . Madrid. McGraw-Hill/Interamericana de España |
|
Bibliografía complementaria
|
Hernández, R., Lázaro, J.C., Dormido, R. y Ros, S. (2001 ). Estructuras de datos y algoritmos . Madrid. Prentice Hall
Aho, A.V., Hopcroft, J.E. y Ullman, J.D. (1988 ). Estructuras de datos y algoritmos. . Wilmington, Delaware. Addison-Wesley Iberoamericana
Horowitz, E. y Sahni, S. (1990 ). Fundamentals of Data Structures in Pascal . Rockville, Maryland. Computer Science Press |
Página oficial de Freepascal:
http://www.freepascal.org Manual de FreePascal en español: |
Recomendacións |
Materias que se recomenda ter cursado previamente |
|
Materias que se recomenda cursar simultaneamente |
|
Materias que continúan o temario |
|
|