Datos Identificativos 2020/21
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 Híbrida
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinación
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
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.
Plan de continxencia 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 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. Fora das horas de clase 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.

É necesario presentar todas as prácticas e aprobalas cunha nota mínima global de 4,5 sobre 10.

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 NA CONVOCATORIA ANUAL, tanto para o/a estudante que presente material copiado como a quen 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 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.

Non presentado

Terá a condición de “Non presentado” (NP) quen
non concorra á proba obxectiva no período oficial de avaliación ou quen non
entregue algunha das prácticas obrigatorias.

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 canto aos criterios de avaliación,
a segunda oportunidade manterá os mesmos que a primeira.

Matrícula a tempo parcial

Os alumnos matriculados a tempo
parcial terán que entregar as actividades avaliables nas condicións e prazos
específicos que se establecerán. Será obriga do/a estudante comunicar a súa
situación ao profesorado.

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