Datos Identificativos 2013/14
Asignatura (*) Programación II Código 614G01006
Titulación
Grao en Enxeñaría Informática
Descriptores Ciclo Período Curso Tipo Créditos
Grao 2º cuadrimestre
Primeiro Formación básica 6
Idioma
Castelán
Prerrequisitos
Departamento Computación
Coordinación
Cabrero Canosa, Mariano Javier
Correo electrónico
mariano.cabrero@udc.es
Profesorado
Alonso Pardo, Miguel angel
Barreira Rodriguez, Noelia
Cabrero Canosa, Mariano Javier
Gómez Rodríguez, Carlos
Guijarro Berdiñas, Berta M.
Hernandez Pereira, Elena Maria
Pérez Sánchez, Beatriz
Sanchez Maroño, Noelia
Vilares Ferro, Jesus
Correo electrónico
miguel.alonso@udc.es
noelia.barreira@udc.es
mariano.cabrero@udc.es
carlos.gomez@udc.es
berta.guijarro@udc.es
elena.hernandez@udc.es
beatriz.perezs@udc.es
noelia.sanchez@udc.es
jesus.vilares@udc.es
Web http://campusvirtual.udc.es/moodle
Descrición xeral A materia pertence ao bloque de materias de Linguaxes e Programación do Módulo de Formación Básica da titulación, cunha forte interrelación coas materias do Módulo Común á Rama de Informática. As relacións máis estreitas establécense con Bases de Datos, Algoritmos e Deseño Software.
Un segundo bloque temático de materias relacionadas é o que forman aquelas da Materia Matemáticas, e dentro deste grupo, especialmente a materia Matemática Discreta.
Respecto ao perfil profesional, moitas áreas da computación requiren a habilidade de traballar coas estruturas de datos que se estudan nesta materia.

Competencias do título
Código Competencias da titulación
A4 Coñecementos básicos sobre o uso e a programación dos ordenadores, sistemas operativos, bases de datos e programas informáticos con aplicación na enxeñaría.
A12 Coñecemento e aplicación dos procedementos algorítmicos básicos das tecnoloxías informáticas para deseñar solucións a problemas, analizando a idoneidade e a complexidade dos algoritmos propostos.
A13 Coñecemento, deseño e utilización de forma eficiente dos tipos e estruturas de datos máis adecuados á resolución dun problema.
B1 Capacidade de resolución de problemas
B2 Traballo en equipo
B3 Capacidade de análise e síntese
B4 Capacidade para organizar e planificar
B5 Habilidades de xestión da información
B6 Toma de decisións
B7 Preocupación pola calidade
B9 Capacidade para xerar novas ideas (creatividade)
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C4 Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
Dominar los mecanismos de gestión dinámica de la memoria. A4
B1
C6
Conocer los mecanismos de abstracción en el diseño de estructuras de datos. A4
B1
B3
B7
C3
C6
Comprender el concepto de Tipo Abstracto de Datos en programación operacional. A4
A13
B3
B7
C3
C6
Distinguir los niveles de especificación, implementación y uso para el diseño de tipos abstractos de datos. A13
B3
B6
B7
C3
C6
Reconocer las estructuras de datos elementales que se necesitan para resolver un problema. A12
A13
B1
B2
B3
B5
B6
B7
B9
C3
C6
Construir una especificación formal de un tipo abstracto de datos para resolver un problema. A13
B1
B2
B3
B5
B6
B7
B9
C3
C6
Diseñar tipos abstractos de datos a partir de una especificación formal. A13
B1
B2
B3
B6
B7
B9
C3
C6
Programar los algoritmos de manipulación de las estructuras de datos diseñadas. A4
A12
A13
B1
B2
B3
B6
B7
B9
C3
C6
Usar las estructuras de datos para solucionar problemas reales. A13
B1
B2
B3
B4
B6
B7
B9
C3
C6
Asumir la necesidad de una buena especificación y un buen diseño como pasos previos a la codificación. A4
A13
B3
B7
C4
C6
Interiorizar las buenas prácticas de programación. A4
A12
A13
B3
B7
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.
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.
Pilas Especificación informal del TAD Pila.
Implementación del TAD Pila.
Aplicaciones en computación.
Colas Especificación informal del TAD Cola.
Implementación del TAD Cola.
Variantes de las colas. Colas de prioridad.
Aplicaciones en computación.
Árboles Definición de árbol y terminología
TAD Árbol binario: Especificación informal, Implementación.
Recorridos de árboles.
Árboles de búsqueda Árboles binarios de búsqueda.
Árboles AVL.

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 30 30 60
Solución de problemas 10 14 24
Prácticas de laboratorio 20 26 46
Proba obxectiva 3 15 18
 
Atención personalizada 2 0 2
 
*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.
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. A medida que se avance en el desarrollo teórico se planteará la resolución de problemas por parte de los alumnos, constituidos en grupos de trabajo. Dicha actividad, así como la discusión y participación activa en clase, se valorarán en la nota final.

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 descendente. 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 para que el alumno lo lea con detenimiento y analice en profundidad, detallará el problema y las especificaciones, que deberán respetarse estrictamente. 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
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 asimilació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
Solución de problemas Se valorarán los resultados, forma y condiciones de realización de diversos trabajos puntuables que se detallarán durante el curso y que se resolverán en las tutorías de grupos reducidos. Dichos trabajos podrán suponer hasta un 10% a mayores de la nota final. 10
Prácticas de laboratorio Realización obligatoria por parejas. Necesario aprobar las prácticas para superar la asignatura. No se permitirá la ausencia sin justificar de más de un 20% de las horas asignadas. 20
Proba obxectiva Realización obligatoria. Necesario aprobar la prueba para superar la asignatura. 80
 
Observacións avaliación

En el caso de la prueba escrita, el criterio fundamental de evaluación será la demostración por parte del alumno de su dominio de los contenidos teóricos de la materia.

En el caso de las demás sesiones, los criterios de evaluación serán el cumplimiento de los requisitos y objetivos planteados en los enunciados de los ejercicios, el grado de asimilación de las técnicas vistas en las sesiones teóricas, la claridad de las explicaciones del alumno a la hora de presentar la solución propuesta, y la responsabilidad en el uso adecuado de los recursos disponibles en el laboratorio.

En el caso de los trabajos tutelados, los criterios de evaluación serán similares.

Recordar de nuevo que es imprescindible realizar y aprobar tanto el examen como el trabajo tutelado para aprobar la asignatura.

Los alumnos matriculados a tiempo parcial que hayan solicitado y obtenido dispensa académica podrán entregar las actividades evaluables en las condiciones y plazos específicos que se establecerán a tal efecto y se comunicarán al alumnado afectado a principio de curso.

A los alumnos que obtengan calificación de suspenso o no presentado en la primera oportunidad se les mantendrá la calificación de la prueba escrita y del trabajo tutelado para la segunda oportunidad; teniendo la opción de realizar de nuevo la prueba y/o el trabajo para mejorar la nota. Los alumnos que aprueben la asignatura en la primera oportunidad (junio) no podrán repetir el examen ni reentregar trabajos para mejorar su calificación.


Fontes de información
Bibliografía básica Joyanes Aguilar, L. (1999). Estructura de datos : libro de problemas . McGraw-Hill,
Cairó O. y Guardati S. (2006). 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
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 Standish, T.A. (1994). Data structures, algorithms, and software principles. . Addison-Wesley
Carmona Poyato, A.; Medina Carnicer, R.; Madrid Cuevas, F. J.; Romero Del Castillo. J. A.; Fernández (1999). Estructuras de Datos. Publicaciones de la Universidad de Córdoba y Obra Social y Cultural Cajasur
Hernández, R., Lázaro, J.C., Dormido, R. y Ros, S. (2001). Estructuras de datos y algoritmos.. Madrid. Prentice Hall
Hernández, R., Carmona, E., Martínez, R. y Pastor, R. (2006). Problemas de estructuras de datos y algoritmos. Editorial Universitaria Ramón Areces

Página oficial de FreePascal: http://www.freepascal.org/

Manual de FreePascal en castellano:


Recomendacións
Materias que se recomenda ter cursado previamente
Algoritmos/614G01011
Bases de Datos/614G01013
Paradigmas de Programación/614G01014
Deseño Software/614G01015

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario
Programación I/614G01001
Informática Básica/614G01002
Matemática Discreta/614G01004

Observacións


(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías