Datos Identificativos 2022/23
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
Cabrero Canosa, Mariano Javier
Cancela Barizo, Brais
Gómez Rodríguez, Carlos
Guijarro Berdiñas, Berta M.
Hernandez Pereira, Elena Maria
Molinelli Barba, Jose Maria
Monroy Camafreita, Juan
Morán Fernández, Laura
Ordóñez Iglesias, Álvaro
Paz Ruza, Jorge
Pérez Sánchez, Beatriz
Sanchez Maroño, Noelia
Vilares Calvo, David
Vilares Ferro, Jesus
Zaramaeva , Olga
Correo electrónico
miguel.alonso@udc.es
mariano.cabrero@udc.es
brais.cancela@udc.es
carlos.gomez@udc.es
berta.guijarro@udc.es
elena.hernandez@udc.es
jose.molinelli@udc.es
juan.monroy@udc.es
laura.moranf@udc.es
alvaro.oiglesias@udc.es
j.ruza@udc.es
beatriz.perezs@udc.es
noelia.sanchez@udc.es
david.vilares@udc.es
jesus.vilares@udc.es
olga.zaramaeva@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 o 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. Nun principio serán resoltos polo/a profesor/a para máis tarde propoñer a resolución de problemas por parte dos alumnos, constituídos en grupos de traballo.

Tanto nas clases de problemas coma nos exemplos mostrados 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 dos alumnos 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 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 analice en profundidade, detallará o problema e as especificacións, que deberán respectarse estritamente. Posteriormente, o labor do profesorado será a de supervisar as sesións de prácticas, solucionando dúbidas e corrixindo erros de interpretación, malos hábitos de programación, erros, etc.
Proba obxectiva Avaliación sumativa do/a estudante mediante un exame final ao termo do cuadrimestre con obxectivo de que o alumnado poida demostrar que adquiriu os coñecementos necesarios de abstracción e deseño de TADs e adestrouse 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 dos alumnos. 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 os estudantes erros de concepto o máis pronto posible e asegurar a calidade do traballo.
En ambos casos, se utilizará 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 utilizaranas como unha interacción que lle permita extraer conclusións respecto ao grao de asimilación da materia por parte dos alumnos. 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 alumno. De acordo ao artigo 14, apartado 4, da normativa*, a entrega de traballos non orixinais ou con partes duplicadas (sexa por copias entre compañeiros ou por obtención doutras fontes...) levará unha nota global de SUSPENSO no apartado de prácticas, 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
asistencia ás clases de prácticas é obrigatoria para aprobar a materia no caso
de estudantes de primeira matrícula.
A
non asistencia de forma reiterada, levará 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 é as
    prácticas (é decir, 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.
  • Terá a condición de
    “Presentado” quen entregue todas as prácticas obrigatorias ou concorra á
    proba obxectiva no período oficial de avaliación.

 

Avaliación na segunda
oportunidade

A
nota global das prácticas así como do bloque de “Solución de Problemas”
manterase para a segunda oportunidade. Soamente as prácticas calificadas con
SUSPENSO ou NON PRESENTADAS 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, controis parciais 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, non entanto 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
profesor a súa circunstancia.

 

Oportunidade adiantada de
decembro

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

*
Normativa de avaliación, revisión e reclamación das cualificacións dos estudos
de grao e máster universitario, aprobada polo Consello de Goberno da
Universidade da Coruña o 19 de decembro de 2013.


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


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