Datos Identificativos 2024/25
Asignatura (*) Programación II Código 614G03007
Titulación
Grao en Intelixencia Artificial
Descriptores Ciclo Periodo Curso Tipo Créditos
Grado 2º cuatrimestre
Primero Formación básica 6
Idioma
Castellano
Modalidad docente Presencial
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Coordinador/a
Cabrero Canosa, Mariano Javier
Correo electrónico
mariano.cabrero@udc.es
Profesorado
Cabrero Canosa, Mariano Javier
Guerreiro Santalla, Sara
López Varela, Emilio
Paz Ruza, Jorge
Vilares Calvo, David
Correo electrónico
mariano.cabrero@udc.es
sara.guerreiro@udc.es
e.lopezv@udc.es
j.ruza@udc.es
david.vilares@udc.es
Web http://campusvirtual.udc.es
Descripción general 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 / Resultados del título
Código Competencias / Resultados del título
A2 Capacidad para resolver problemas de inteligencia artificial que precisen algoritmos, aplicando correctamente metodologías de desarrollo software y diseño centrado en usuario/a.
A3 Capacidad para comprender y dominar los conceptos básicos de lógica, gramáticas y lenguajes formales para analizar y mejorar las soluciones basadas en inteligencia artificial.
B2 Que el alumnado sepa aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posea las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
B4 Que el alumnado pueda transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
B5 Que el alumnado haya desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
B6 Capacidad para concebir, redactar, organizar, planificar, y desarrollar modelos, aplicaciones y servicios en el ámbito de la inteligencia artificial, identificando objetivos, prioridades, plazos recursos y riesgos, y controlando los procesos establecidos.
B7 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad.
B8 Capacidad para diseñar y crear modelos y soluciones de calidad basadas en Inteligencia Artificial que sean eficientes, robustas, transparentes y responsables.
B9 Capacidad para seleccionar y justificar los métodos y técnicas adecuadas para resolver un problema concreto, o para desarrollar y proponer nuevos métodos basados en inteligencia artificial.
C2 Capacidad de trabajo en equipo, en entornos interdisciplinares y gestionando conflictos.
C3 Capacidad para crear nuevos modelos y soluciones de forma autónoma y creativa, adaptándose a nuevas situaciones. Iniciativa y espíritu emprendedor.

Resultados de aprendizaje
Resultados de aprendizaje Competencias / Resultados del título
Llevar a cabo el proceso que permite, desde la abstracción, implementar código de alta calidad. A2
B2
B5
B7
C3
Aplicar programación modular para resolver problemas específicos en el ámbito de IA. A2
B6
B8
B9
C3
Adquirir competencias para resolver problemas de forma metodológica y práctica. B5
B7
C3
Identificar y tener la capacidad para seleccionar en un entorno práctico las principales librerías en el campo de IA y Ciencia de Datos. B2
B5
B9
Comprender los conceptos básicos de la programación funcional y el lambda cálculo y demostrar en qué medida su aplicación favorece el desarrollo de aplicaciones en IA. A3
B8
B9
Adquirir las competencias para analizar la complejidad computacional de un determinado algoritmo, así como desarrollar las capacidades necesarias para escoger la combinación de estructuras de datos y estrategia de resolución más apropiada para resolver de modo eficiente (en términos de recursos espaciales y temporales) un determinado problema. A2
B4
B6
B7
C2
C3
Analizar las alternativas para afrontar e identificar que aspectos pueden abordarse con IA y cuales no. A2
A3
B6
B8
B9
C2
Comprender los principios necesarios para construír soluciones completas, escalables y robustas, centradas en el/la usuario/a, en las que los componentes de IA encajan como parte de un todo. A2
B2
B4
B6
B8
B9
C3
Manejar técnicas y herramentas de prueba para asegurar la calidad de los resultados. B8
B9
C2

Contenidos
Tema Subtema
Introducción a la orientación a objetos Clases y objetos.
Métodos.
Herencia.
Interfaces y Polimorfismo.
Técnicas de diseño de programas Abstracción y especificación
Módulos
Excepcións y eventos
Tipos abstractos de datos lineales Listas
Pilas
Colas y Colas de Prioridad
Tipos abstractos de datos no lineales Árboles
Árboles Binarios de búsqueda
Árboles AVL
Introducción a la programación funcional Funciones puras
Recursión
Inmutabilidad

Planificación
Metodologías / pruebas Competencias / Resultados Horas lectivas (presenciales y virtuales) Horas trabajo autónomo Horas totales
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
Prueba objetiva B2 B4 B5 B7 B9 2 0 2
Sesión magistral A2 A3 B5 B9 30 30 60
 
Atención personalizada 1 0 1
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Prácticas de laboratorio Realización y entrega de distintas prácticas de programación para formentar 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 y resolución de supuestos prácticos sencillos para afianzar los conceptos teóricos. Podrán requerir el desarrollo de código. Se fomentará la participación de los alumnos poniendo en común las distintas soluciones para promover el diálogo abierto y la valoración de soluciones. Además se podrán formular ejercicios adicionales que el estudante deberá resolver y comentar/corregir con el profesor.
Prueba objetiva Evaluación sumativa del alumno mediante un examen final al término del cuatrimestre. Será eminentemente práctico para que el alumno pueda demostrar que adquirió los conocimientos necesarios de diseño de programas, orientación a objetos y utilización de estructuras de datos, y que entrenó lo suficiente con ellos como para poseer las habilidades precisas para resolver supuestos prácticos que implique la aplicación de los dichos conocimientos.
Sesión magistral Exposición oral complementada con el uso de medios audiovisuales y la introducción de algunas preguntas dirigidas a los estudiantes, con la finalidad de transmitir conocimientos y facilitar el aprendizaje. Constarán de una breve descripción de los contenidos temáticos y de los objetivos básicos perseguidos, e interrelaciones con otros conceptos previamente adquiridos para pasar a desarrollar los contenidos teóricos.

Atención personalizada
Metodologías
Solución de problemas
Prácticas de laboratorio
Descripción
El desarrollo de las sesiones de solución de problemas y los laboratorios de prácticas se realizará atendiendo al progreso de los alumnos en las capacidades de comprensión y asimilación de los contenidos impartidos. El avance general de la clase se compaginará con una atención específica la aquellos alumnos que presenten mayores dificultades en la tarea del aprendizaje y con un apoyo adicional a aquellos otros que presenten mayor desparpajo y deseen ampliar conocimientos.

En el que respeta a las tutorías individuales, dado su carácter personalizado deben dedicarse a aclarar los conceptos ya expuestos y serán una vía de interacción que permitirá extraer conclusiones respeto al grado de asimilación de la materia. Se realizarán de manera presencial. Excepcionalmente se realizará a través de las herramientas corporativas de la UDC (email, Teams, etc.) respetando los horarios docentes.

Evaluación
Metodologías Competencias / Resultados Descripción Calificación
Prueba objetiva B2 B4 B5 B7 B9 Realización obligatoria. Necesario aprobar la prueba para superar a materia. 70
Prácticas de laboratorio A2 A3 B2 B6 B7 B8 B9 C2 C3 Realización según las condiciones establecidas en el enunciado de cada práctica. Es obligatorio entregar y aprobar todas las practicas para superar la asignatura. Se realizarán exámenes prácticos para evaluar las competencias adquiridas. Las calificaciones son válidas sólo para el presente curso académico. 30
 
Observaciones evaluación

Segunda oportunidad

  • La nota global de las
    prácticas
    se mantendrá para la segunda oportunidad. Solamente las prácticas
    calificadas con
    SUSPENSO o NO PRESENTADAS en la primera oportunidad podrán entregarse
    (corregidas) en la segunda oportunidad, siempre de acuerdo al enunciado
    que se proponga para ello.
  • En
    consonancia con la normativa de evaluación de la UDC, la calificación derivada de otras
    actividades desarrolladas a lo largo del  curso como parte de la evaluación continua
    (prácticas introductorias, controles parciales de prácticas, pruebas en Grupos de Tutoría Reducidos, etc.)
    no serán recuperables para la segunda oportunidad.

Oportunidad adelantada

  • La evaluación se basará exclusivamente en la prueba objetiva.

Matrícula a tiempo parcial

  • Los alumnos matriculados a tiempo parcial tendrán que entregar las
    actividades evaluables en las condiciones y plazos específicos que se
    establecerán. Será obligación del estudiante comunicar su situación al profesorado.

No presentado

  • Quien no realice la prueba objetiva en el período oficial de evaluación tendrá la condición de “No presentado” (NP).
Otras observaciones
  • Todos los aspectos relacionados con “dispensa académica”, “dedicación al estudio”, “permanencia” y “fraude académica” se regirán de acuerdo con la normativa académica vigente de la UDC.

Fuentes de información
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

Complementária 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 del entorno de desarrollo Spyder: https://www.spyder-ide.org/


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Programación I/614G03006
Matemática Discreta/614G03003

Asignaturas que se recomienda cursar simultáneamente

Asignaturas que continúan el temario

Otros comentarios
  • Según se recoge en las distintas normativas de aplicación para la docencia universitaria se deberá incorporar la perspectiva de género en esta materia (se usará lenguaje no sexista, se utilizará bibliografía de autores/as de ambos sexos, se propiciará la intervención en clase de alumnos y alumnas...)
  • Se trabajará para identificar y modificar prejuicios y actitudes sexistas y se influirá en el entorno para modificarlos y fomentar valores de respeto e igualdad.
  • Se deberán detectar situaciones de discriminación por razón de género y se propondrán acciones y medidas para corregirlas.


(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías