Datos Identificativos 2023/24
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
Galego
Inglés
Modalidade docente Presencial
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinación
Vilares Ferro, Jesus
Correo electrónico
jesus.vilares@udc.es
Profesorado
Alonso Pardo, Miguel angel
Cabado Lousa, Bruno
Cabrero Canosa, Mariano Javier
Guerreiro Santalla, Sara
Guijarro Berdiñas, Berta M.
Hernandez Pereira, Elena Maria
Magaz Romero, Samuel
Morán Fernández, Laura
Naya Varela , Martín
Paz Ruza, Jorge
Pérez Sánchez, Beatriz
Perez-Campoamor Manzaneque, Antonio
Rodríguez Arias, Alejandro
Romero Montero, Alejandro
Sanchez Maroño, Noelia
Suárez Marcote, Samuel
Vilares Calvo, David
Vilares Ferro, Jesus
Zamaraeva , Olga
Correo electrónico
miguel.alonso@udc.es
bruno.cabado@udc.es
mariano.cabrero@udc.es
sara.guerreiro@udc.es
berta.guijarro@udc.es
elena.hernandez@udc.es
s.magazr@udc.es
laura.moranf@udc.es
martin.naya@udc.es
j.ruza@udc.es
beatriz.perezs@udc.es
a.perez-campoamor@udc.es
alejanro.rodriguez.arias@udc.es
alejandro.romero.montero@udc.es
noelia.sanchez@udc.es
s.suarez.marcote@udc.es
david.vilares@udc.es
jesus.vilares@udc.es
olga.zamaraeva@udc.es
Web http://campusvirtual.udc.gal
Descrición xeral 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.

Competencias do título
Código Competencias do título
A3 Capacidade para comprender e dominar os conceptos básicos de matemática discreta, lóxica, algorítmica e complexidade computacional e a súa aplicación para a resolución de problemas propios da enxeñaría.
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.
B1 Capacidade de resolución de problemas
B3 Capacidade de análise e síntese
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.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias do título
Dominar os mecanismos de xestión dinámica da memoria. A4
B1
C6
Coñecer os mecanismos de abstracción no deseño de estruturas de datos. A4
B1
B3
C3
C6
Construír especificacións e deseñar o tipo abstracto de datos a partir delas. A3
A4
B1
B3
C3
C6
Usar as estructuras de datos adecuadas e programar os algoritmos de manipulación para solucionar problemas reais. A3
A4
B1
B3
C3
C6
Asumir a necesidade de unha boa especificación e un bó deseño como pasos previos á codificación. A4
B3
C6
Interiorizar boas prácticas de programación. A4
B3

Contidos
Temas Subtemas
Xestión dinámica da memoria Organización da memoria dun programa.
Definición de variables de tipo punteiro.
Reserva e destrución dinámica de memoria.
Asignación e comparación de punteros.
Introdución aos Tipos Abstractos de Datos (TAD) A abstracción en programación: Concepto, Evolución a través da historia da programación, TAD e Programación orientada a obxectos.
A modularidade en programación.
Tipos Abstractos de Datos: Definición e concepto, Diferenzas entre tipo de dato, estruturas de datos e TAD, Construción dun TAD, Vantaxes da abstracción de datos.
Listas Especificación informal do TAD Lista.
Implementacións do TAD Lista.
TAD Lista ordenada: especificación e implementaciones.
Multilistas e listas multiordenadas: concepto, representacións e usos.
Pilas Especificación informal do TAD Pila.
Implementacións do TAD Pila.
Aplicacións en computación.
Colas Especificación informal do TAD Cola.
Implementacións do TAD Cola.
Variantes das colas. Colas de prioridade.
Aplicacións en computación.
Árbores Definición de árbore e terminoloxía
TAD Árbore binaria: Especificación informal, Implementación.
Percorridos de árbores.
Árbores de busca Árbores binarios de busca.
Árbores AVL.

Planificación
Metodoloxías / probas Competencias Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 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
Proba obxectiva A3 A4 B1 B3 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 Empregada nas clases de teoría. O profesorado realizará unha breve descrición dos contidos e os obxectivos, co fin de dotar ao alumnado dunha visión global da materia. Ademais tratará de establecer interrelacións con outros conceptos previamente adquiridos, de forma que se poida establecer unha liña temporal, e expoñerá a bibliografía recomendada. Seguidamente pasará a desenvolver os contidos teóricos.
Solución de problemas Nas clases de problemas, presentaranse supostos prácticos directamente relacionados cos conceptos teóricos para reforzar eses conceptos. Nun principio serán resoltos polo/a profesor/a para guiar aos/ás estudantes. Conforme se avance no desenvolvemento dos contidos teóricos, proporaser a resolución de problemas por parte dos/as alumnos/as, constituídos en grupos de traballo.

Tanto nas clases de problemas coma nos exemplos amosados durante as exposicións teóricas, cando estes impliquen o desenvolvemento de código ou seudocódigo, este realizarase mostrando os sucesivos pasos do deseño descendente. Con isto pretendemos: (a) que o alumnado se acostume ao uso deste método; e (b) evitar que se perda nos detalles de sintaxe e as características particulares da linguaxe, en lugar de fixar a súa atención na comprensión e deseño da solución.

Como actividades para realizar fora do aula, formularanse exercicios adicionais que o alumnado deberá resolver e comentar/corrixir co/a profesor/a durante as horas de titorías, colectivas e/ou individuais. Trátase de fomentar a participación do alumnado e promover, na medida do posible, o diálogo aberto e a valoración de solucións.
Prácticas de laboratorio As clases de prácticas consistirán na realización de prácticas continuas e incrementais de programación sobre estruturas de datos nunha linguaxe de alto nivel. Impoñerase unha periodicidade na súa entrega a modo de seguimento para fomentar o traballo continuo. O enunciado das prácticas, que se proporcionará coa suficiente antelación para que o alumnado o lea con detemento e o analice en profundidade, detallará o problema e as especificacións, que deberán respectarse estritamente. Posteriormente, o labor do profesorado será o de supervisar as sesións de prácticas, solucionando dúbidas e corrixindo erros de interpretación, malos hábitos de programación, erros de sintaxe, etc.
Proba obxectiva Avaliación sumativa do/a estudante mediante un exame final ao termo do cuadrimestre co obxectivo de que este/a poida demostrar que adquiriu os coñecementos necesarios de abstracción e deseño de TADs e que se adestrou o suficiente como para posuír as habilidades precisas para resolver supostos prácticos que impliquen a aplicación das devanditas estruturas.

Atención personalizada
Metodoloxías
Solución de problemas
Prácticas de laboratorio
Proba obxectiva
Descrición
O desenvolvemento tanto das clases maxistrais coma das de resolución de problemas e os laboratorios de prácticas realizarase atendendo ao progreso do alumnado. O avance xeral da clase compaxinarase cunha atención específica para dar un apoio adicional ou ampliar coñecementos.

As prácticas de laboratorio realizaranse, en parte, como traballo autónomo. Para o seu correcto desenvolvemento será necesario o seguimento periódico para permitir aclarar aos/ás estudantes erros de concepto o máis pronto posible e asegurar a calidade do traballo.

En ambos casos, utilizarase o Moodle para por a disposición dos/as estudantes “foros temáticos" que resolvan as dúbidas xerais detectadas ligadas a actividades específicas como as prácticas ou problemas propostos.

No que respecta ás titorías individuais, dado o seu carácter personalizado, non deben dedicarse a estender os contidos con novos conceptos, senón a aclarar os conceptos xa expostos. O profesorado utilizaraas como unha interacción que lle permita extraer conclusións respecto ao grao de asimilación da materia por parte do alumnado. A atención manténse nos horarios oficiales de titorías a través dos seguintes canles:
- Correo-e: De uso para facer consultas de resposta curta.
- Teams: encontros virtuais preferentemente previa solicitude a través do correo-e.

Avaliación
Metodoloxías Competencias Descrición Cualificación
Solución de problemas A3 B1 B3 C6 Valoraranse os resultados, forma e condicións de realización de diversos traballos puntuables que se detallarán durante o curso e que se resolverán nas TITORÍAS EN GRUPOS REDUCIDOS.

O resultado da actividade, así como a discusión e participación activa en clase, valoraranse na nota final.

A cualificación deste apartado só se sumará á obtida nas outras probas cando a materia estea superada.
10
Prácticas de laboratorio A4 B1 B3 C3 C6 Realización obrigatoria segundo as condicións establecidas no enunciado de cada práctica. Farase un seguimento periódico do desenvolvemento das prácticas ao longo do curso que influirá na nota das mesmas.

É necesario presentar todas as prácticas e obter unha nota mínima global de 4,5 sobre 10 para superar a materia.

O traballo entregado deberá ser orixinal do/a alumno/a. De acordo ao Artigo 11, Apartado 4 b), do Regulamento disciplinar do estudantado da UDC, a entrega de traballos non orixinais ou con partes duplicadas (sexa por copias entre compañeiros/as, por obtención doutras fontes, etc.) conlevará a calificación de SUSPENSO con 0 puntos nesa convocatoria completa tanto para o grupo que presente material copiado como para o grupo que o facilitase.
40
Proba obxectiva A3 A4 B1 B3 Realización obrigatoria. Implica un tratamento global dos contidos abordados o longo da materia. Será eminentemente práctico para que o alumnado poida demostrar que adquiriu os coñecementos necesarios de abstracción e deseño, implementación e uso de TADs e adestrouse o suficiente nas habilidades requeridas pola materia.

Necesario obter unha nota mínima de 4,5 sobre 10 para superar a materia.
60
 
Observacións avaliación

Sobre a asistencia as clases de
prácticas.

A
non asistencia de forma reiterada, poderá conlevar unha penalización na nota segundo as
condicións específicas que se detallarán ao comezo do curso.

Sobre a responsabilidade
compartida dos traballos en grupo.

Nas
actividades que se levan a cabo en grupos, tales como as prácticas, todos os
membros do grupo serán responsables solidarios do traballo realizado e
entregado, así como das consecuencias que se deriven do incumprimento das
normas de autoría do mesmo.

Sobre a nota final de actas

No caso de que non se
cumplan as condicións para o cálculo conxunto da nota entre a proba final e as
prácticas (é dicir, se algunha das dúas é inferior a 4,5 sobre 10), nas actas
figurará a nota mínima entre 4,5 e a que resulte do cálculo conxunto.

Avaliación na segunda
oportunidade

A nota de exame ("Proba obxectiva") NON se mantén entre oportunidades.

A
nota global de "Prácticas de laboratorio" así como do bloque de “Solución de Problemas”
manteranse para a segunda oportunidade. Soamente as prácticas calificadas con
SUSPENSO ou NON PRESENTADO na primeira oportunidade poderán entregarse na
segunda oportunidade, sempre de acordo ao enunciado que se propoña para elo.

En
consonancia coa normativa de avaliación da UDC, a cualificación derivada doutras
actividades desenvolvidas ao longo do curso como parte da avaliación continua
(prácticas introdutorias, seguimento de prácticas, probas en Grupos de Titoría Reducidos, etc.)
non serán recuperables para a segunda oportunidade.

En
canto aos criterios de avaliación, a segunda oportunidade manterá os mesmos que
a primeira.

Matrícula a tempo parcial

No
caso do estudantado con matrícula a tempo parcial elimínase a obligatoriedade
de asistencia ás clases de prácticas. Con todo, terán que entregar as
actividades avaliables nas condicións e prazos específicos que se establecerán durante
o curso. É responsabilidade destes/as estudantes poñer en coñecimento do/a profesor/a as súas circunstancias.

Oportunidade adiantada de
decembro

A
avaliación da oportunidade adiantada basearase exclusivamente nunha proba
escrita.


Fontes de información
Bibliografía 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

Bibliografía complementaria 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/


Recomendacións
Materias que se recomenda ter cursado previamente
Programación I/614G01001
Informática Básica/614G01002
Matemática Discreta/614G01004

Materias que se recomenda cursar simultaneamente

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

Observacións

DISCREPANCIAS ENTRE IDIOMAS 

En caso de discrepancias na interpretación das diversas traducións da Guía Docente desta materia, tomarase como referencia a Guía Docente en galego.

PERSPECTIVA DE XÉNERO

Segundo se recolle nas distintas normativas de aplicación para a docencia universitaria, esta materia incorpora a perspectiva de xénero. Propiciarase a intervención en clase de alumnos e alumnas, e traballarase para identificar e modificar prexuízos e actitudes sexistas e influirase na contorna para modificalos e fomentar valores de respecto e igualdade. Deberanse detectar situacións de discriminación por razón de xénero e proporanse accións e medidas para corrixilas.




(*)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