Datos Identificativos 2020/21
Asignatura (*) Fundamentos de Programación II Código 614G02009
Titulación
Grao en Ciencia e Enxeñaría de Datos
Descriptores Ciclo Período Curso Tipo Créditos
Grao 2º cuadrimestre
Primeiro Formación básica 6
Idioma
Castelán
Modalidade docente Híbrida
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Coordinación
Alonso Pardo, Miguel angel
Correo electrónico
miguel.alonso@udc.es
Profesorado
Alonso Pardo, Miguel angel
Cabrero Canosa, Mariano Javier
Hernandez Pereira, Elena Maria
Correo electrónico
miguel.alonso@udc.es
mariano.cabrero@udc.es
elena.hernandez@udc.es
Web http://moodle.udc.es
Descrición xeral Nesta materia preséntanse as técnicas de deseño de programas, incluindo os fundamentos da orientación a obxectos, asi como as estruturas de datos básicas en computación e os seus principios de uso.

A materia pertence ao bloque Programación e Algoritmos, polo que a relación más estreita dase coas outras dos materias deste mesmo bloque: Fundamentos de Programación I (que se pode considerar predecesora directa) e Deseño e Análise de Algoritmos (que se pode considerar sucesora directa). Con respecto aos outros bloques, as relacións máis directas danse con Bases de Datos e Sistemas para Procesamento de Datos. Outro bloque temático de materias relacionadas é o que forman aquelas de Fundamentos Matemáticos, e dentro deste grupo, especialmente a materia Matemática Discreta.
Plan de continxencia 1. Modificacións nos contidos

Non hai modificacións

2. Metodoloxías
*Metodoloxías docentes que se manteñen

As metodoloxías mantéñense co único cambio de pasar todas a ser realizadas online. En particular:
• Clases maxistrais: Os contidos que se impartían nelas pasan a ser emitidos en sesións síncronas online e/ou en vídeos pregravados polos profesores. En calquuera caso os vídeos póñense a disposición dos alumnos en Stream e mediante enlaces en Moodle, nas semanas en que estaba previsto impartir eses contidos na planificación da materia. Se non hai sesións síncronas, nos horarios das clases de teoría, o profesor de cada grupo establece unha tutoría en grupo en Teams.
• Solución de problemas: Proponse o enunciado dos exercicios en Moodle. O profesor atende as dúbidas na ferramenta Teams. Pasado un tempo móstranse as solucións propostas nun documento e/ou nun vídeo.
• Prácticas de laboratorio: Todas as ferramentas necesarias para a realización das prácticas poden ser instaladas sen custo nos equipos informáticos do alumnado. Nos horarios das clases de prácticas realízase un seguemento mediante tutorías en grupo en Teams que inclúen reunións audiovisuais síncronas se é preciso.
• Proba obxectiva: Utilizaranse as ferramentas que proporciona Moodle e Office365 para a súa realización online se non é posible a realziación presencial


3. Mecanismos de atención personalizada ao alumnado

Realizarase, respetando os horarios de titorías, mediante as seguintes ferramentas:
Teams: Atención continuada ao alumnado.
Email: Atención continuada ás mensaxes enviadas polo alumnado.
Moodle: Atención continuada ás mensaxes enviadas polo alumnado nos foros de Moodle.


4. Modificacións na avaliación

Non hay variacións

*Observacións de avaliación:

A segunda oportunidade avaliarase do mesmo xeito que a primeira

5. Modificacións da bibliografía ou webgrafía

Non hai cambios.

Competencias do título
Código Competencias do título
A5 CE5 - Coñecemento de estruturas de datos e algoritmos básicos e capacidade para utilizalos eficientemente na resolución dun problema.
B1 CB1 - Que os estudantes demostrasen posuír e comprender coñecementos nunha área de estudo que parte da base da educación secundaria xeral, e adóitase atopar a un nivel que, aínda que se apoia en libros de texto avanzados, inclúe tamén algúns aspectos que implican coñecementos procedentes da vangarda do seu campo de estudo
B5 CB5 - Que os estudantes desenvolvesen aquelas habilidades de aprendizaxe necesarias para emprender estudos posteriores cun alto grao de autonomía
B6 CG1 - Ser capaz de buscar e seleccionar a información útil necesaria para resolver problemas complexos, manexando con soltura as fontes bibliográficas do campo.
C1 CT1 - 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.

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias do título
Comprender e saber programar utilizando orientación a obxectos B1
B5
B6
C1
Coñecer e saber usar linguaxes de programación de relevancia actual B1
B5
B6
C1
Comprender os principios básicos de almacenamento de datos e a súa manipulación A5
B1
B6
C1
Coñecer e saber utilizar as estruturas de datos estándar en computación e os algoritmos máis relevantes para manipulalas A5
B5
B6
C1
Identificar a estrutura de datos máis adecuada para un problema determinado A5
B5
B6
C1

Contidos
Temas Subtemas
Técnicas de deseño de programas Abstracción e especificacación
Módulos funcionais e de datos
Manexo de excepcións y eventos
Orientación a obxectos Clases e obxectos. Métodos.
Clases e funcións
Herencia
Interfaces e Polimorfismo
Utilización das estruturas de datos básicas en computación Listas
Pilas
Colas
Colas de Prioridade
Dicionarios
Árbores
Árbores Binarias de Busca
Tablas Hash
Grafos

Planificación
Metodoloxías / probas Competencias Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral A5 B1 B5 B6 30 24 54
Prácticas de laboratorio A5 B1 B5 B6 C1 20 36 56
Solución de problemas A5 B1 B5 B6 C1 10 17.5 27.5
Proba obxectiva A5 B1 B5 B6 3 7.5 10.5
 
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 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.
Prácticas de laboratorio As clases de prácticas obrigan á realización de prácticas de programación 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á o 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.
Solución de problemas Nas clases 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.

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.

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.
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 deseño de programas, orientación a obxectos e utilización de estruturas de datos, e que adestrou o suficiente como para posuír as habilidades precisas para resolver supostos prácticos que implique a aplicación dos devanditos coñecementos.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Solución de problemas
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.

A atención personalizada realizarase de modo preferente a través das ferramentas corporativas da UDC (email, Teams, etc.) respetando os horarios de titorías.


Avaliación
Metodoloxías Competencias Descrición Cualificación
Prácticas de laboratorio A5 B1 B5 B6 C1 Realización segundo as condicións establecidas no enunciado de cada práctica. 40
Proba obxectiva A5 B1 B5 B6 Realización obrigatoria. Necesario aprobar a proba para superar a materia. 60
 
Observacións avaliación

Traballos prácticos e solución de problemas

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

- Se as prácticas ou outras actividades se realizaren en grupo, todos os membros do grupo responderán de forma solidaria do traballo realizado e entregado e das súas posibles consecuencias

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

- Quen non entrgue todas as prácticas ou non concurra á proba obxectiva no período oficial de avaliación terá a condición de “Non presentado” (NP).


*
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 Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser (2013). Data Structures and Algorithms in Python. John Wiley & Sons
Kenneth A. Lambert (2013). Fundamentals of Python: Data Structures. Course Technology

Bibliografía complementaria Bradley N. Miller, David L. Ranum (2013). Problem Solving with Algorithms and Data Structures using Python. Franklin, Beedle & Associates
Benjamin Baka (2017). Python Data Structures and Algorithms: Improve application performance with graphs, stacks, and queues. Packt Publishing
Sitio web da contorna de desenvolvemento Spyder: https://www.spyder-ide.org/
Sitio web da plataforma para ciencia de datos Anaconda: https://www.anaconda.com/

Libro de Miller & Ranum: https://runestone.academy/runestone/static/pythonds/index.html

Recomendacións
Materias que se recomenda ter cursado previamente
Matemática Discreta/614G02002
Fundamentos de Programación I/614G02004

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario
Deseño e Análise de Algoritmos/614G02011

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