Identifying Data 2014/15
Subject (*) Programación II Code 614G01006
Study programme
Grao en Enxeñaría Informática
Descriptors Cycle Period Year Type Credits
Graduate 2nd four-month period
First FB 6
Language
Spanish
Prerequisites
Department Computación
Coordinador
Cabrero Canosa, Mariano Javier
E-mail
mariano.cabrero@udc.es
Lecturers
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
Pérez Sánchez, Beatriz
Sanchez Maroño, Noelia
Vilares Ferro, Jesus
E-mail
miguel.alonso@udc.es
noelia.barreira@udc.es
mariano.cabrero@udc.es
carlos.gomez@udc.es
berta.guijarro@udc.es
elena.hernandez@udc.es
beatriz.perezs@udc.es
noelia.sanchez@udc.es
jesus.vilares@udc.es
Web http://campusvirtual.udc.es/moodle
General description 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 máis 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.

Study programme competencies
Code Study programme competences
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
C2 Dominar a expresión e a comprensión de forma oral e escrita dun idioma estranxeiro.
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.
C4 Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Learning aims
Subject competencies (Learning outcomes) Study programme competences
Dominar os mecanismos de xestión dinámica da memoria. A4
B1
C2
C6
Coñecer os mecanismos de abstracción no deseño de estruturas de datos. A4
B1
B3
C2
C3
C6
Construír especificacións e deseñar o tipo abstracto a partir delas. A3
A4
B1
B3
C2
C3
C6
Usar as estructuras de datos adecuadas e programar os algoritmos de manipulación para solucionar problemas reais. A3
A4
B1
B3
C2
C3
C6
Asumir la necesidad de una buena especificación y un buen diseño como pasos previos a la codificación. A4
B3
C4
C6
Interiorizar las buenas prácticas de programación. A4
B3
C7
C8

Contents
Topic Sub-topic
Dynamic Memory Management Program memory organization.
Definition of pointer variables.
Dynamic memory allocation and free.
Pointer assignment and comparison operations.
Introduction to Abstract Data Types Abstraction in programming: Concept, Evolution of abstract data type in computer programming, ADT and Object Oriented Programming.
Modularity in programming languages.
Abstract Data Type (ADT): Definition and concept, Differences between datatype, data structure and ADT, construction of ADT, Advantages of data abstraction.
Listas Informal specification of List ADT.
Implementation of List ADT.
Ordered list ADT: specification and implementation.
Multilists and multiordered lists: concept, representations and usage.
Stacks Informal specification of Stack ADT.
Implementation of Stack ADT.
Application on computer science.
Queues Informal specification of Queue ADT.
Implementation of Queue ADT.
Queue variations. Priority queues.
Application on computer science.
Trees Tree definition and terminology.
Binary Tree ADT: Informal specification, Implementation.
Binary Tree traversals.
Binary Search Trees Binary Search Trees.
AVL Trees.

Planning
Methodologies / tests Ordinary class hours Student’s personal work hours Total hours
Guest lecture / keynote speech 30 30 60
Problem solving 10 14 24
Laboratory practice 20 26 46
Objective test 3 15 18
 
Personalized attention 2 0 2
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Guest lecture / keynote speech 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.
Problem solving 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.
Laboratory practice 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.
Objective test 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 ha adquirido 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. A puntuación asignada a cada unha das preguntas do exame irá consignada na proba.

Personalized attention
Methodologies
Problem solving
Laboratory practice
Objective test
Description
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.

Assessment
Methodologies Description Qualification
Problem solving 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. Os devanditos traballos poderán supoñer ata un 10% a maiores da nota final. 10
Laboratory practice Realización obrigatoria por parellas. Necesario aprobar as prácticas para superar a materia. Non se permitirá a ausencia sen xustificar de máis dun 20% das horas asignadas. 20
Objective test Realización obrigatoria. Necesario aprobar a proba para superar a materia. 80
 
Assessment comments

Criterios de avaliación

- No caso da proba escrita, o criterio fundamental de avaliación será a demostración por parte do alumno do seu dominio dos contidos teóricos da materia.

- No caso das demais actividades, prácticas e traballos puntuables, os criterios de avaliación serán o cumprimento dos requisitos e obxectivos formulados nos enunciados dos exercicios, o grao de asimilación das técnicas vistas nas sesións teóricas, a claridade das explicacións do alumno á hora de presentar a solución proposta, e a responsabilidade no uso axeitado dos recursos dispoñibles no laboratorio.

- É imprescindible superar o exame para aprobar a materia. En caso de non entregar ou non aprobar as prácticas, a avaliación basearase exclusivamente na nota do exame teórico, que supón como máximo 7 puntos.

Plaxio de traballos prácticos

- De acordo á normativa de avaliación, revisión e reclamación das
cualificacións dos estudos de grao e máster universitario*, o plaxio e a utilización de material non
orixinal, incluído aquel obtido a través da internet, sen indicación
expresa da súa procedencia e, se é o caso, o permiso do seu autor/a,
poderá ser considerada causa de cualificación de suspenso na actividade. Polo tanto, o plaxio dos traballos de prácticas levará consigo unha nota global de NON APTO, tanto ao estudante que presente material copiado coma a que o facilitase, e polo tanto a cualificación de SUSPENSO na convocatoria anual.

Primeira e segunda oportunidade

- As cualificacións obtidas en actividades como prácticas e titorías de grupo serán válidas tan só para o curso académico no que se realicen. Manteranse para aqueles alumnos suspensos ou non presentados na primeira oportunidade, que só terán a opción de realizar de novo as prácticas para mellorar a nota. Non se permitirán cambios de parellas de prácticas.

- Os alumnos que aproben a materia na primeira oportunidade (xuño) non poderán repetir o exame nin entregar de novo os traballos para mellorar a súa cualificación.

Matrícula a tempo parcial

- Os alumnos matriculados a tempo parcial que solicitasen e obtido dispensa académica poderán entregar as actividades avaliables nas condicións e prazos específicos que se establecerán para tal efecto e se comunicará ao alumnado afectado a principio de curso. En calquera caso, será obriga do estudante comunicar a súa situación ao profesorado e comprometerse co calendario que se lle propoña.

Non presentado

- De acordo á normativa de avaliación, revisión e reclamación das cualificacións dos estudos de grao e máster universitario*, terá a condición de Non presentado" (NP) aquel estudante que, estando matriculado nunha materia, non concorra ás distintas actividades de avaliación que se establezan para o curso académico. Para esta materia, cando non se presente á proba do período oficial de avaliación.

Oportunidade adiantada de Decembro

- As condicións de avaliación da oportunidade adiantada serán as mesmas que para a primeira oportunidade.

* Normativa de avaliación, revisión e reclamación das cualificacións dos
estudos de grao e máster universitario, aprobadas por Consello
de Goberno de la Universidade ds Coruña o 19 de decembro de 2013. http://www.udc.es/export/sites/udc/normativa/_galeria_down/academica/avaliacionrevrecl.pdf


Sources of information
Basic Joyanes Aguilar, L. (1999). Estructura de datos : libro de problemas . McGraw-Hill,
Cairó O. y Guardati S. (2006). Estructuras de datos. McGraw-Hill Interamericana de México, S.A. de C.V.
Weiss, M.A. (1995). Estructuras de datos y algoritmos.. Wilmington, Delaware. Addison-Wesley Iberoamericana
Joyanes Aguilar, L. y Zahonero Martínez, I. (1998). Estructuras de Datos: algoritmos, abstracción y objetos.. Madrid. McGraw-Hill/Interamericana de España
Dale, N. y Lilly, S.C. (1989). Pascal y Estructuras de datos (segunda edición). Madrid. McGraw-Hill/Interamericana de España

Complementary Standish, T.A. (1994). Data structures, algorithms, and software principles. . Addison-Wesley
Carmona Poyato, A.; Medina Carnicer, R.; Madrid Cuevas, F. J.; Romero Del Castillo. J. A.; Fernández (1999). Estructuras de Datos. Publicaciones de la Universidad de Córdoba y Obra Social y Cultural Cajasur
Hernández, R., Lázaro, J.C., Dormido, R. y Ros, S. (2001). Estructuras de datos y algoritmos.. Madrid. Prentice Hall
Hernández, R., Carmona, E., Martínez, R. y Pastor, R. (2006). Problemas de estructuras de datos y algoritmos. Editorial Universitaria Ramón Areces

Página oficial de FreePascal: http://www.freepascal.org/

Manual de FreePascal en castellano:


Recommendations
Subjects that it is recommended to have taken before
Algoritmos/614G01011
Bases de Datos/614G01013
Paradigmas de Programación/614G01014
Deseño Software/614G01015

Subjects that are recommended to be taken simultaneously

Subjects that continue the syllabus
Programación I/614G01001
Informática Básica/614G01002
Matemática Discreta/614G01004

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.