Datos Identificativos 2020/21
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
Gallego
Inglés
Modalidad docente Híbrida
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinador/a
Guijarro Berdiñas, Berta M.
Correo electrónico
berta.guijarro@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
Monroy Camafreita, Juan
Morán Fernández, Laura
Paz López, Alejandro
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
juan.monroy@udc.es
laura.moranf@udc.es
alejandro.paz.lopez@udc.es
beatriz.perezs@udc.es
noelia.sanchez@udc.es
jesus.vilares@udc.es
Web http://moodle.udc.es
Descripción general A materia céntrase na programación con estruturas de datos dinámicas e complexas, tratadas baixo a óptica dos tipos de datos abstractos. Pertence ao bloque de materias de Linguaxes e Programación do Módulo de Formación Básica da titulación. Presenta unha forte interrelación coas materias do Módulo Común á Rama de Informática, sendo as relacións mais estreitas con Programación I, Bases de Datos, Algoritmos e Deseño Software. Tamén presenta certa relación co bloque temático de Matemáticas, especialmente coa 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 que permitirá aos/as estudantes mellorar as súas habilidades como programadores/as.
Plan de contingencia 1. Modificacións nos contidos
Non se producirán cambios nos contidos.

2. Metodoloxías
*Metodoloxías docentes que se manteñen
Sesión maxistral
Solución de problemas
Prácticas de laboratorio
Proba obxectiva

Todas as metodoloxías docentes se manteñen, tan só cambia o medio de uso:
Manterase a realización síncrona das actividades ligadas a estas metodoloxías a través de Teams, nas franxas horarias que teñen asignadas no calendario oficial. Estas sesións síncronas poderán combinarse con material dixitalizado (vídeos, presentacións, etc.).
No caso das sesións maxistrais, poderán ser gravadas e postas a disposición do alumnado a través da plataforma Moodle.
No caso das “Prácticas de laboratorio” realizaranse sesións en pequenos grupos para o seguimento e apoio na realización das actividades propostas.
Por necesidades docentes técnicas ou organizativas, os estudantes poderán ser asignados a outros grupos e franxas horarias, previo acordo estudante/docente.
No caso de que o exame non poda realizarse de modo presencial, pasará a realizarse de modo online.

*Metodoloxías docentes que se modifican
Ningunha

3. Mecanismos de atención personalizada ao alumnado.
Serán os mesmos que os habilitados en condicións de normalidade (non presenciais).

4. Modificacións na avaliación
As condicións de avaliación contidas na Guía Docente non sufrirán cambios.
5. Modificacións da bibliografía ou webgrafía
Non se contemplan.


Competencias del título
Código Competencias del título
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
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.
C6 Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse.

Resultados de aprendizaje
Resultados de aprendizaje Competencias del título
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
C3
C6
Construir especificaciones, diseñar el tipo abstracto a partir de ella, usar las estructuras de datos adecuadas. A3
A4
B1
B3
C3
C6
Usar las estructuras de datos adecuadas y programar los algoritmos de manipulación para solucionar problemas reales. A3
A4
B1
B3
C3
C6
Asumir la necesidad de una buena especificación y un buen diseño como pasos previos a la codificación. A4
B3
C6
Interiorizar las buenas prácticas de programación. A4
B3

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 de punteros.
Introducción a los Tipos Abstractos de Datos (TAD) 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.
Implementaciones del TAD Lista.
TAD Lista ordenada: especificación e implementaciones.
Multilistas y listas multiordenadas: concepto, representaciones y usos.
Pilas Especificación informal del TAD Pila.
Implementaciones del TAD Pila.
Aplicaciones en computación.
Colas Especificación informal del TAD Cola.
Implementaciones 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 Competéncias Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Sesión magistral A3 A4 B1 B3 30 30 60
Solución de problemas A3 B1 B3 C6 10 14 24
Prácticas de laboratorio A4 B1 B3 C3 C6 20 26 46
Prueba objetiva A3 A4 B1 B3 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 Empleada en las clases presenciales de teoría. El profesorado realizará una breve descripción de los contenidos y los objetivos, con el fin de dotar al alumnado 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.
Solución de problemas En las clases de problemas, se presentarán supuestos prácticos directamente relacionados con los conceptos teóricos. En un principio serán resueltos por el/a profesor/a para más tarde proponer la resolución de problemas por parte del alumnado, constituidos en grupos de trabajo.

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 seudocódigo, este se realizará mostrando los sucesivos pasos del diseño descendente. Con esto pretendemos: la) que el alumnado se acostumbre al uso de este método, y b) evitar que se pierda nos 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 para realizar fuera del aula, se formularán ejercicios adicionales que el alumnado deberá resolver y comentar/corregir con el/a profesor/la durante las horas de tutorías, colectivas y/o individuales. Se trata de fomentar la participación del alumnado y promover, en la medida del posible, el diálogo abierto y la valoración de soluciones.
Prácticas de laboratorio Las clases de prácticas consistirán en la realización de prácticas continuas e incrementales de programación sobre estructuras de datos en un lenguaje de alto nivel. Se impondrá una periodicidad en su entrega para fomentar el trabajo continuo. El enunciado de las prácticas, que se proporcionará con la suficiente antelación para que el alumnado lo lea con detenimiento y analice en profundidad, detallará el problema y las especificaciones, que deberán respetarse estrictamente. Posteriormente, la labor del profesorado será la de supervisar las sesiones de prácticas, solucionando dudas y corrigiendo errores de interpretación, malos hábitos de programación, etc.
Prueba objetiva Evaluación sumativa del/la estudiante mediante un examen final al término del cuatrimestre con el objetivo de que el alumnado pueda demostrar que adquirió los conocimientos necesarios de abstracción y diseño de TADs y se entrenó lo suficiente como para poseer las habilidades precisas para resolver supuestos prácticos que impliquen la aplicación de las dichas estructuras.

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 las de resolución de problemas y los laboratorios de prácticas se realizará atendiendo al progreso de los alumnos. El avance general de la clase se compaginará con una atención específica para dar un apoyo adicional o ampliar conocimientos.
Las prácticas de laboratorio se realizarán, en parte, como trabajo autónomo. Para su correcto desarrollo será necesario el seguimiento periódico para permitir aclarar los estudiantes errores de concepto lo más pronto posible y asegurar la calidad del trabajo.
En ambos casos, se utilizará Moodle para poner a disposición de los/las estudiantes "foros temáticos" que resuelvan las dudas generales detectadas ligadas a actividades específicas como las prácticas o problemas propuestos.
En lo que respeta 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 profesorado las utilizarán cómo una interacción que le permita extraer conclusiones respeto al grado de asimilación de la materia por parte de los alumnos. Fuera de las horas de clase la atención se mantiene en los horarios oficiales de tutorías a través de los siguientes canales:
- Correo-e: De uso para hacer consultas de respuesta corta.
- Teams: encuentros virtuales preferentemente previa solicitud a través del correo-e.

Evaluación
Metodologías Competéncias Descripción Calificación
Solución de problemas A3 B1 B3 C6 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.

El resultado de la actividad, así como la discusión y participación activa en clase, se valorarán en la nota final.

La calificación de este apartado solamente se sumará a la obtenida en las pruebas restantes cuando la materia esté superada.
10
Prácticas de laboratorio A4 B1 B3 C3 C6 Realización obligatoria según las condiciones establecidas en el enunciado de cada práctica.

Es necesario presentar todas las prácticas y aprobarlas con una nota mínima global de 4,5 sobre 10.

El trabajo entregado deberá ser original del alumno. De acuerdo al artículo 14, apartado 4, de la normativa*, la entrega de trabajos no originales o con partes duplicadas (sea por copias entre compañeros o por obtención de otras fuentes...) llevará una nota global de SUSPENSO en la CONVOCATORIA ANUAL, tanto para el/la estudiante que presente material copiado como para quien lo facilitara.
40
Prueba objetiva A3 A4 B1 B3 Realización obligatoria. Implica un tratamiento global de los contenidos abordados el largo de la materia. Será eminentemente práctico para que el alumnado pueda demostrar que adquirió los conocimientos necesarios de abstracción y diseño, implementación y uso de TADs y se entrenó lo suficiente en las habilidades requeridas por la materia.

Necesario obtener una nota mínima de 4,5 sobre 10 para superar la materia.


60
 
Observaciones evaluación
Sobre la responsabilidad compartida de los trabajos en grupo.

En las actividades que se llevan a cabo en grupos, tales como las prácticas, todos los miembros del grupo serán responsables solidarios del trabajo realizado y entregado, así como de las consecuencias que se deriven del incumplimiento de las normas de autoría del mismo.

No presentado
Tendrá la condición de "No presentado" (NP) quien no concurra a la prueba objetiva en el período oficial de evaluación o quien no entregue alguna de las prácticas obligatorias.

Evaluación en la segunda oportunidad
La nota global de las prácticas, así como del bloque de "Solución de Problemas" se mantendrá para la segunda oportunidad.
Solamente las prácticas calificadas con SUSPENSO o NO PRESENTADAS en la primera oportunidad podrán entregarse en la segunda oportunidad, siempre de acuerdo al enunciado que se proponga para ello. En cuanto a los criterios de evaluación, la segunda oportunidad mantendrá los mismos que la primera.

Matrícula a tiempo parcial
Los alumnos matriculados a tiempo parcial tendrán que entregar las actividades evaluables en las condiciones y plazos específicos que se establecerán. Será deber del/la estudiante comunicar su situación al profesorado.

Oportunidad adelantada de diciembre

La evaluación de la oportunidad adelantada se basará exclusivamente en una prueba escrita.

* Normativa de evaluación, revisión y reclamación de las calificaciones de los estudios de grado y máster universitario, aprobada por el Consejo de Gobierno de la Universidad de A Coruña el 19 de diciembre de 2013.


Fuentes de información
Básica Ignacio Zahonero y Luis Joyanes Aguilar (2004). Algoritmos y estructuras de datos: Una perspectiva en C. McGraw-Hill
Narasimha Karumanchi (2017). Data Structures and Algorithms Made Easy, 5th Edition. CareerMonk Publications
Kyle Loudon (1999). Mastering Algorithms with C. O'Reilly Media

Complementária Aaron M. Tenenbaum,? Yedidyah Langsam &? Moshe J. Augenstein (1989). Data Structures Using C. Prentice Hall
Reema Thareja (2014). Data Structures Using C - Second Edition. Oxford University Press
Richard F. Gilberg & Behrouz A. Forouzan (2005). Data Structures: A Pseudocode Approach with C (2nd Ed). Cengage Learning
Ignacio Zahonero, Lucas García Sánchez, Luis Joyanes Aguilar y Matilde Fernández Azuela (2005). Estructuras de datos en C (Serie Schaum). McGraw-Hill
Luis Joyanes Aguilar, Andrés Castillo Sanz, Lucas Sánchez García e Ignacio Zahonero Martínez (2002). Programación en C. Libro de problemas. McGraw-Hill
Ignacio Zahonero y Luis Joyanes Aguilar (2005). Programación en C. Metodología, Algoritmos y Estructura de Datos, 2º Edición. McGraw-Hill

Páxina oficial da contorna de desenvolvemento CLion: https://www.jetbrains.com/clion/


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Programación I/614G01001
Informática Básica/614G01002
Matemática Discreta/614G01004

Asignaturas que se recomienda cursar simultáneamente

Asignaturas que continúan el temario
Algoritmos/614G01011
Bases de Datos/614G01013
Paradigmas de Programación/614G01014
Diseño Software/614G01015

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