Datos Identificativos 2022/23
Asignatura (*) Programación II Código 614G03007
Titulación
Grao en Intelixencia Artificial
Descriptores Ciclo Período Curso Tipo Créditos
Grao 2º cuadrimestre
Primeiro Formación básica 6
Idioma
Castelán
Modalidade docente Presencial
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Coordinación
Cabrero Canosa, Mariano Javier
Correo electrónico
mariano.cabrero@udc.es
Profesorado
,
Alvarez Estevez, Diego
Cabrero Canosa, Mariano Javier
López Varela, Emilio
Paz López, Alejandro
Vilares Calvo, David
Correo electrónico
inigo.lopezrioboo.botana@udc.es
diego.alvareze@udc.es
mariano.cabrero@udc.es
e.lopezv@udc.es
alejandro.paz.lopez@udc.es
david.vilares@udc.es
Web http://campusvirtual.udc.es
Descrición xeral Nesta materia o alumnado desenvolverá as destrezas necesarias para decidir con criterio a combinación de estruturas de datos (lineais ou árbores) e algoritmos máis convenientes para resolver un determinado problema de forma eficiente en termos de recursos espaciais e temporais. Ademais, a materia introduce o paradigma de orientación a obxectos, os seus elementos e propiedades básicas como clases, obxectos, herdanza, polimorfismo, etc. e o paradigma de programación funcional, as súas estruturas de datos características, e ámbitos de aplicación, salientando aqueles onde se logran formulacións e resolucións máis fáciles que con outros paradigmas de programación

Competencias do título
Código Competencias do título
A2 Capacidade para resolver problemas de intelixencia artificial que precisen algoritmos, aplicando correctamente metodoloxías de desenvolvemento software e deseño centrado en usuario/a.
A3 Capacidade para comprender e dominar os conceptos básicos de lóxica, gramáticas e linguaxes formais para analizar e mellorar as solucións baseadas en intelixencia artificial.
B2 Que o alumnado saiba aplicar os seus coñecementos ao seu traballo ou vocación dunha forma profesional e posúa as competencias que adoitan demostrarse por medio da elaboración e defensa de argumentos e a resolución de problemas dentro da súa área de estudo.
B4 Que o alumnado poida transmitir información, ideas, problemas e solucións a un público tanto especializado como non especializado.
B5 Que o alumnado desenvolva aquelas habilidades de aprendizaxe necesarias para emprender estudos posteriores cun alto grao de autonomía.
B6 Capacidade para concibir, redactar, organizar, planificar, e desenvolver modelos, aplicacións e servizos no ámbito da intelixencia artificial, identificando obxectivos, prioridades, prazos recursos e riscos, e controlando os procesos establecidos.
B7 Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade.
B8 Capacidade para deseñar e crear modelos e solucións de calidade baseadas en Intelixencia Artificial que sexan eficientes, robustas, transparentes e responsables.
B9 Capacidade para seleccionar e xustificar os métodos e técnicas adecuadas para resolver un problema concreto, ou para desenvolver e propor novos métodos baseados en intelixencia artificial.
C2 Capacidade de traballo en equipo, en contornas interdisciplinares e xestionando conflitos.
C3 Capacidade para crear novos modelos e solucións de forma autónoma e creativa, adaptándose a novas situacións. Iniciativa e espírito emprendedor.

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias do título
Levar a cabo o proceso que permite, desde a abstracción, implementar código de alta calidade. A2
B2
B5
B7
C3
Aplicar programación modular para resolver problemas específicos no ámbito de IA. A2
B6
B8
B9
C3
Adquirir competencias para resolver problemas de forma metodolóxica e práctica. B5
B7
C3
Identificar e ter a capacidade para seleccionar nunha contorna práctica as principais librerías no campo de IA e Ciencia de Datos. B2
B5
B9
Comprender os conceptos básicos da programación funcional e o lambda cálculo e demostrar en que medida a súa aplicación favorece o desenvolvemento de aplicacións en IA. A3
B8
B9
Adquirir as competencias para analizar a complexidade computacional dun determinado algoritmo, así como desenvolver as capacidades necesarias para escoller a combinación de estruturas de datos e estratexia de resolución máis apropiada para resolver de modo eficiente (en termos de recursos espaciais e temporais) un determinado problema. A2
B4
B6
B7
C2
C3
Analizar as alternativas para afrontalo e identificar que aspectos poden abordarse con IA e cales non. A2
A3
B6
B8
B9
C2
Comprender os principios necesarios para construír solucións completas, escalables e robustas, centradas no/a usuario/a, nas que os compoñentes de IA encaixan como parte dun todo. A2
B2
B4
B6
B8
B9
C3
Manexar técnicas e ferramentas de proba para asegurar a calidade dos resultados. B8
B9
C2

Contidos
Temas Subtemas
Introdución á orientación a obxectos Clases e obxectos.
Métodos.
Herencia.
Interfaces e Polimorfismo.
Técnicas de deseño de programas Abstracción e especificación
Módulos
Excepcións e eventos
Tipos abstractos de datos lineais Listas
Pilas
Colas e Colas de Prioridade
Tipos abstractos de datos no lineais Árbores
Árbores Binarios de búsqueda
Árbores AVL
Introdución á programación funcional Funcións puras
Recursión
Inmutabilidade

Planificación
Metodoloxías / probas Competencias Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Prácticas de laboratorio A2 A3 B2 B6 B7 B8 B9 C2 C3 20 40 60
Solución de problemas A2 A3 B6 B7 10 17 27
Proba obxectiva B2 B4 B5 B7 B9 2 0 2
Sesión maxistral A2 A3 B5 B9 30 30 60
 
Atención personalizada 1 0 1
 
*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
Prácticas de laboratorio Realización e entrega de distintas prácticas de programación para fomentar o traballo continuado. Proporcionarase o enunciado e as especificacións que deberán respectarse estritamente. Durante as clases o profesor supervisará o traballo solucionando dúbidas e corrixindo erros de interpretación, malos hábitos de programación e erros de sintaxe, etc.
Solución de problemas Presentación e resolución de supostos prácticos sinxelos para afianzar os conceptos teóricos. Poderán requerir o desenvolvemento de código. Fomentarase a participación dos alumnos poñendo en común as distintas solucións para promover o diálogo aberto e a valoración de solucións. Ademais poderanse formularan exercicios adicionais que o estudante deberá resolver e comentar/corrixir co profesor.
Proba obxectiva Avaliación sumativa do alumno mediante un exame final ao termo do cuadrimestre. 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 con eles como para posuír as habilidades precisas para resolver supostos prácticos que implique a aplicación dos devanditos coñecementos.
Sesión maxistral Exposición oral complementada co uso de medios audiovisuais e a introdución de algunhas preguntas dirixidas
aos estudantes, coa finalidade de transmitir coñecementos e facilitar a aprendizaxe. Constarán dunha breve descrición dos contidos temáticos e dos obxectivos básicos perseguidos, e interrelacións con outros conceptos previamente adquiridos para pasar a desenvolver os contidos teóricos.

Atención personalizada
Metodoloxías
Solución de problemas
Prácticas de laboratorio
Descrición
O desenvolvemento das sesións de solució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 deben dedicarse a aclarar os conceptos xa expostos e serán una vía de interacción que permitirá extraer conclusións respecto ao grao de asimilación da materia. Realizaranse de xeito presencial. Excepcionalmente realizarase a través das ferramentas corporativas da UDC (email, Teams, etc.) respectando os horarios docentes.


Avaliación
Metodoloxías Competencias Descrición Cualificación
Proba obxectiva B2 B4 B5 B7 B9 Realización obrigatoria. Necesario aprobar a proba para superar a materia. 60
Prácticas de laboratorio A2 A3 B2 B6 B7 B8 B9 C2 C3 Realización e calificación segundo as condicións establecidas no enunciado de cada práctica. Necesario aprobar as practicas para superar a materia 40
 
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 (0), tanto ao
    estudante que presente material copiado como a quen o facilitase, e a
    cualificación de SUSPENSO na oportunidade.
  • 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.

Avaliación na segunda
oportunidade

  • A
    nota global das prácticas
    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.

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 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 Technologies

Bibliografía complementaria Camilo Chacon (2021). Computación y Programación Funcional. Marcombo
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/


Recomendacións
Materias que se recomenda ter cursado previamente
Programación I/614G03006
Matemática Discreta/614G03003

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario

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