Datos Identificativos 2019/20
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
Inglés
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinación
Alonso Pardo, Miguel angel
Correo electrónico
miguel.alonso@udc.es
Profesorado
Alonso Pardo, Miguel angel
Barreira Rodriguez, Noelia
Bolón Canedo, Verónica
Cabrero Canosa, Mariano Javier
De Moura Ramos, Jose Joaquim
Gómez Rodríguez, Carlos
Guijarro Berdiñas, Berta M.
Hernandez Pereira, Elena Maria
Monroy Camafreita, Juan
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
veronica.bolon@udc.es
mariano.cabrero@udc.es
joaquim.demoura@udc.es
carlos.gomez@udc.es
berta.guijarro@udc.es
elena.hernandez@udc.es
juan.monroy@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 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 mais 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 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 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 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

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.
Introdución aos Tipos Abstractos de Datos 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ón do TAD Lista.
O TAD Lista ordenada: especificación e implementación.
Multilistas e listas multiordenadas: concepto, representacións e usos.
Pilas Especificación informal do TAD Pila.
Implementación do TAD Pila.
Aplicacións en computación.
Colas Especificación informal do TAD Cola.
Implementación 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 Nas clases presenciais de teoría, o profesor realizará unha breve descrición dos contidos temáticos e dos obxectivos básicos perseguidos, co fin de dotar o alumno 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, utilizando como método a clase maxistral.
Solución de problemas Nas clases presenciais de problemas, co fin de afianzar os conceptos teóricos presentaranse supostos prácticos, que nun principio serán resoltos polo profesor para orientar os alumnos. A medida que se avance no desenvolvemento teórico formularase a resolución de problemas por parte dos alumnos, constituídos en grupos de traballo. A devandita actividade, así como a discusión e participación activa en clase, valoraranse na nota final.

Tanto nas clases de problemas coma nos exemplos mostrados durante as exposicións teóricas, cando estes impliquen o desenvolvemento de código ou pseudocódigo este realizarase mostrando os sucesivos pasos do deseño descendente. Con isto pretendemos: a) que o alumno 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 non presenciais, formularanse exercicios adicionais que o alumno deberá resolver e comentar/corrixir co profesor 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. Ao finalizar cada tema, proporcionarase, utilizando os recursos virtuais de docencia, un test de autoavaliación para que ao alumno poida comprobar o progreso da súa aprendizaxe.
Prácticas de laboratorio As clases de prácticas obrigan á realización de prácticas de programación sobre estruturas de datos nunha linguaxe de alto nivel. Impoñerase unha periodicidade na súa entrega para fomentar o estudo continuo. O enunciado das prácticas, que se proporcionará coa suficiente antelación para que o alumno o lea con detemento e analice en profundidade, detallará o problema e as especificacións, que deberán respectarse estritamente. Posteriormente, o labor do profesor 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 e erros de sintaxe, etc.
Proba obxectiva Avaliación sumativa do alumno mediante un exame final ao termo do cuadrimestre. Este será eminentemente práctico para que o alumno 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 nas capacidades de comprensión e asimilación dos contidos impartidos. O avance xeral da clase compaxinarase cunha atención específica a aqueles alumnos que presenten maiores dificultades na tarefa da aprendizaxe e cun apoio adicional a aqueles outros que presenten maior desenvoltura e desexen ampliar coñecementos.

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 profesor utilizaraas como unha interacción que lle permita extraer conclusións respecto ao grao de asimilación da materia por parte dos alumnos.

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 de grupos reducidos. A calificación só se sumará á obtida nas outras probas cando a materia esté 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 aprobar todas as prácticas para superar a materia. 20
Proba obxectiva A3 A4 B1 B3 Realización obrigatoria. Necesario aprobar a proba para superar a materia. 80
 
Observacións avaliación

Traballos prácticos

- Soamente os alumnos con cualificación de NON APTO ou NON PRESENTADO en prácticas na primeira oportunidade poderán entregar os traballos de acordo ao enunciado práctico que se propoña para a segunda oportunidade.

- De acordo ao artigo 14, apartado 4, da normativa*, o plaxio dos traballos prácticos levará unha nota global de NON APTO, tanto ao estudante que presente material copiado como a quen o facilitase, e polo tanto a cualificación de SUSPENSO na convocatoria anual.

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 estudante comunicar a súa situación ao profesorado.

Non presentado

- Terá a condición de “Non presentado” (NP) quen non concurra á proba obxectiva no período oficial de avaliación.

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