Datos Identificativos 2014/15
Asignatura (*) Programación II Código 614G01006
Titulación
Grao en Enxeñaría Informática
Descriptores Ciclo Periodo Curso Tipo Créditos
Grado 2º cuatrimestre
Primero Formación Básica 6
Idioma
Castellano
Prerrequisitos
Departamento Computación
Coordinador/a
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
Descripción general 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 del título
Código Competencias de la titulación
A3 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.
A4 Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
B1 Capacidad de resolución de problemas
B3 Capacidad de análisis y síntesis
C2 Dominar la expresión y la comprensión de forma oral y escrita de un idioma extranjero.
C3 Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida.
C4 Desarrollarse para el ejercicio de una ciudadanía abierta, culta, crítica, comprometida, democrática y solidaria, capaz de analizar la realidad, diagnosticar problemas, formular e implantar soluciones basadas en el conocimiento y orientadas al bien común.
C6 Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse.
C7 Asumir como profesional y ciudadano la importancia del aprendizaje a lo largo de la vida.
C8 Valorar la importancia que tiene la investigación, la innovación y el desarrollo tecnológico en el avance socioeconómico y cultural de la sociedad.

Resultados de aprendizaje
Competencias de materia (Resultados de aprendizaje) Competencias de la titulación
Dominar los mecanismos de gestión dinámica de la memoria. A4
B1
C2
C6
Conocer los mecanismos de abstracción en el diseño de estructuras de datos. A4
B1
B3
C2
C3
C6
Construir especificaciones, diseñar el tipo abstracto a partir de ella, usar las estructuras de datos adecuadas. A3
A4
B1
B3
C2
C3
C6
Usar las estructuras de datos adecuadas y programar los algoritmos de manipulación para solucionar problemas reales. A3
A4
B1
B3
C2
C3
C6
Asumir la necesidad de una buena especificación y un buen diseño como pasos previos a la codificación. A4
B3
C4
C6
Interiorizar las buenas prácticas de programación. A4
B3
C7
C8

Contenidos
Tema Subtema
Gestión dinámica da memoria Organización dea 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.
Árbores 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
Metodologías / pruebas Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Sesión magistral 30 30 60
Solución de problemas 10 14 24
Prácticas de laboratorio 20 26 46
Prueba objetiva 3 15 18
 
Atención personalizada 2 0 2
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Sesión magistral 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 que orienten los alumnos. A medida que se avance en el desarrollo teórico se formulará 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 estos impliquen el desarrollo de código o pseudocódigo este 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 formulará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, el cometido 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.
Prueba objetiva Evaluación sumativa del alumno mediante un examen final al término del cuatrimestre. Este será eminentemente práctico para que el alumno pueda demostrar que hay adquirido los conocimientos necesarios de abstracción y diseño de TADs y se adiestró 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
Metodologías
Solución de problemas
Prácticas de laboratorio
Prueba objetiva
Descripció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 presienten 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.

Evaluación
Metodologías Descripción Calificació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 materia. No se permitirá la ausencia sin justificar de más de un 20% de las horas asignadas. 20
Prueba objetiva Realización obligatoria. Necesario aprobar el examen para superar a materia. 80
 
Observaciones evaluación

Criterios de evaluació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 actividades, prácticas y trabajos puntuables, 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.

- Es imprescindible superar el examen para aprobar la asignatura. En caso de no entregar o no aprobar las prácticas, la evaluación se basará exclusivamente en la nota del examen teórico, que supone como máximo 7 puntos.

Plagio de trabajos prácticos

- De acuerdo a la normativa de evaluación, revisión y reclamación de las calificaciones de los estudios de grado y máster universitario*, el plagio y la utilización de material no
original, incluido aquel obtenido a través de Internet, sin indicación
expresa de su procedencia y, si es el caso, el permiso de su autor/a,
podrá ser considerada causa de calificación de suspenso en la actividad. Por lo tanto, el plagio de los trabajos de prácticas conllevará una nota global de NO APTO, tanto al estudiante que presente material copiado como al que lo haya facilitado, y por tanto la calificación de SUSPENSO en la convocatoria anual.

Primera y segunda oportunidad

- Las calificaciones obtenidas en actividades como prácticas y tutorías de grupo serán válidas tan solo para el curso académico en el que se realicen. Se mantendrán para aquellos alumnos suspensos o no presentados en la primera oportunidad, que sólo tendrán la opción de realizar de nuevo las prácticas para mejorar la nota. No se permitirán cambios de parejas de prácticas.

- Los alumnos que aprueben la asignatura en la primera oportunidad (junio) no podrán repetir el examen ni entregar de nuevo los trabajos para mejorar su calificación.

Matrícula a tiempo parcial

- 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. En cualquier caso, será obligación del estudiante comunicar su situación al profesorado y comprometerse con el calendario que se le proponga.

No presentado

- De acuerdo a la normativa de evaluación, revisión y reclamación de las calificaciones de los estudios de grado y máster universitario*, tendrá la condición de “No presentado” (NP) aquel estudiante que, estando matriculado en una materia, no concurra a las distintas actividades de evaluación que se establezcan para el curso académico. Para esta materia, cuando no se presente a la prueba del período oficial de avaliación.

Oportunidad adelantada de Diciembre

- Las condiciones de evaluación de la oportunidad adelantada serán las mismas que para la primera oportunidad.

* Normativa de evaluación, revisión y reclamación de las
calificaciones de los estudios de grado y máster universitario,
aprobadas por
Consello de Goberno de la Universidade da Coruña el 19 de diciembro de
2013. http://www.udc.es/export/sites/udc/normativa/_galeria_down/academica/avaliacionrevrecl.pdf


Fuentes de información
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

Complementária 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:


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Algoritmos/614G01011
Bases de Datos/614G01013
Paradigmas de Programación/614G01014
Diseño Software/614G01015

Asignaturas que se recomienda cursar simultáneamente

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

Otros comentarios


(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías