Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Horas de Tutorías: 1 Clase Expositiva: 30 Clase Interactiva: 20 Total: 51
Lenguas de uso Castellano, Gallego
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Departamentos: Electrónica y Computación
Áreas: Ciencia de la Computación e Inteligencia Artificial
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Con docencia
Matrícula: Matriculable
El objetivo de formación de esta asignatura es introducir al alumnado en el planteamiento de problemas más complejos de programación, a través de una serie de estrategias algorítmicas básicas de resolución de dichos problemas. Se analizará el coste en recursos computacionales de las distintas alternativas y, como casos paradigmáticos, se describirán y caracterizarán los principales algoritmos de búsqueda, ordenación y algunas de sus aplicaciones. Por último, se completará la formación en estructuras de datos no lineales, planteando la formalización y resolución de problemas utilizando grafos.
Resultados del aprendizaje:
- Saber solucionar problemas de diversa índole, comprendiendo la complejidad e idoneidad de las soluciones propuestas.
- Conocer las estrategias algorítmicas básicas para el diseño de algoritmos eficientes.
- Saber aplicar algoritmos eficientes a problemas clásicos, como los de ordenación y búsqueda.
- Saber determinar la complejidad espacial y temporal de los distintos algoritmos.
- Entender y dominar las estructuras de datos tipo grafos y aprender a diseñar y aplicar algoritmos sobre ellas, para resolver problemas básicos de IA.
- Aprender a diseñar y aplicar algoritmos sobre grafos, para resolver problemas básicos de IA.
Tema 1. Análisis de algoritmos
Tema 2. Estructuras de datos no lineales: Grafos
Tema 3. Estrategias y técnicas algorítmicas
Tema 4. Algoritmos de búsqueda y ordenación
Bibliografía Básica:
M.T. Goodrich, R. Tamassia, M.H. Goldwasser (2013). Data Structures and Algorithms in Python. John Wiley & Sons. ISBN: 978-1118290279.
K.A. Lambert (2014). Fundamentals of Python: Data Structures. Cengage Learning PTR. ISBN: 978-1285752006.
B.N. Miller, D.L. Ranum. (2011). Problem Solving with Algorithms and Data Structures using Python. Franklin, Beedle & Associates; 2nd edition ISBN: 978-1590282571.
Bibliografía Complementaria:
B. Agarwal, B. Baka (2018). Hands-On Data Structures and Algorithms with Python: Write complex and powerful code using the latest features of Python 3.7, 2nd Edition. Packt Publishing. ISBN: 978-1788995573.
B. Baka (2017). Python Data Structures and Algorithms: Improve application performance with graphs, stacks, and queues. Packt Publishing. ISBN: 978-1786467355
G. Brassard, P. Bratley. Fundamentos de algoritmia. 1ª edición. Madrid, Prentice Hall, 2002. ISBN: 84-89660-00-X (Biblioteca ETSE: A320 10 D)
La materia contribuye al desarrollo de las competencias básicas, generales y específicas recogidas en las correspondientes tablas en la mencionada memoria del título:
* Competencias básicas:
[CB2] 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.
[CB4] Que el alumnado pueda transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
[CB5] Que el alumnado haya desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
* Competencias generales:
[CG1] 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.
[CG2] Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad.
[CG3] Capacidad para diseñar y crear modelos y soluciones de calidad basadas en Inteligencia Artificial que sean eficientes, robustas, transparentes y responsables.
[CG4] 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.
* Competencias específicas:
[CE1] Capacidad para utilizar los conceptos y métodos matemáticos que puedan plantearse en la modelización, planteamiento y resolución de problemas de inteligencia artificial.
[CE3] Capacidad para resolver problemas de inteligencia artificial que precisen algoritmos, desde su diseño e implementación hasta su evaluación.
* Competencias transversales:
[TR2] Capacidad de trabajo en equipo, en entornos interdisciplinares y gestionando conflictos.
[TR3] Capacidad para crear nuevos modelos y soluciones de forma autónoma y creativa, adaptándose a nuevas situaciones. Iniciativa y espíritu emprendedor.
[TR6] Capacidad para integrar aspectos jurídicos, sociales, ambientales y económicos inherentes a la inteligencia artificial, analizando sus impactos, y comprometiéndose con la búsqueda de soluciones compatibles con un desarrollo sostenible.
La metodología seguida usa como plataforma básica el Campus Virtual de la USC. En la aula virtual de la materia el alumnado dispondrá de toda la información (material de teoría, presentaciones de clase, guiones de prácticas, bibliotecas, etc.).
Se impartirán 20 horas de clases magistrales en sesiones de 1 hora, y habrá una sesión semanal de dos horas y media de trabajo práctico (resolución de problemas, programación).
El alumnado podrá en todo momento seguir su progresión, al tener disponibles continuamente las notas de los ejercicios y proyectos que hayan de entregar para seguir el modelo de evaluación continua.
Las competencias de tipo CB2, CB4, CB5, CG1, CG2, CG3, CG4, CE1 y CE3 tienen contenidos asociados en la parte teórico-práctica de la asignatura y se evalúan de forma explícita en las pruebas que se realizan durante todo el curso.
La competencia TR2 se trabaja fundamentalmente en el aspecto de la capacidad de organización y planificación, toma de decisiones y resolución de problemas, en las entregas que tienen que realizar en las clases en las clases prácticas.
La competencia TR3 se trabaja principalmente fomentando la creatividad, el pensamiento crítico, evaluando las diferentes posibilidades de resolver los problemas, tanto en teoría como en la práctica, proponiendo problemas para desarrollar estas habilidades, con situaciones cambiantes, y se evalúan en la calificación del problema a entregar.
La competencia TR6 se evalúa mediante la inclusión de los aspectos jurídicos, sociales, ambientales y económicos a las soluciones propuestas a los distintos ejercicios, así como en la explicación de ejercicios durante el desarrollo de las clases expositivas.
La evaluación consta de dos partes individuales separadas, teoría y práctica, siendo necesario superar ambas partes independientemente. Además, es necesario aprobar todos los módulos de prácticas y todos los test y pruebas de teoría que se realicen de forma independiente.
La parte práctica de la materia se evaluará mediante un proceso de EVALUACIÓN CONTINUA:
-30% de la nota global: entrega de proyectos prácticos durante el cuatrimestre, con plazos y normas de entrega/corrección prefijadas por el profesorado.
Se utiliza para evaluar las competencias CB2, CG2, CG3, CE3, TR2 y TR3mediante la entrega periódica de las prácticas propuestas durante el semestre.
La parte teórica (70% de la nota global) se evaluará en dos partes:
-10% de la nota: Realización de test a lo largo del cuatrimestre.
-60% de la nota: Examen global al final del cuatrimestre
Se utiliza para evaluar las competencias CB4, CB5, CG1, CG4, CE1 y TR6 utilizando diferentes preguntas en el examen de teoría y la evaluación de los ejercicios que se entregan durante el cuatrimestre.
La entrega de algún trabajo (proyecto o ejercicio) con posterioridad al 1 de noviembre llevará asociada la consideración de PRESENTADA/O en la calificación de la materia, independientemente de la asistencia o no al examen final.
RECUPERACIÓN (2ª oportunidad):
Podrán realizar este examen el alumnado que no superara alguna de las partes en la evaluación continua, o las personas que opten directamente por esta opción.
- Teoría (70% de la nota final): repetición de test no superados y examen final escrito.
- Práctica (30% de la nota final): realización de prácticas no superadas mediante propuesta de ejercicios de programación a entregar antes del examen final.
En caso de realización fraudulenta de ejercicios o pruebas, será de aplicación lo recogido en la Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones.
En aplicación de la Normativa de la ETSE sobre plagio (aprobada por la Junta de ETSE el 19/12/2019), la copia total o parcial de algún ejercicio de prácticas o teoría supondrá el suspenso en las dos oportunidades del curso, con la calificación de 0,0 en ambos casos.
Esta materia tiene 6 créditos ECTS, correspondiendo una carga de trabajo personal para los alumnos de 150 horas. Este tiempo puede desglosarse en los siguientes apartados:
TRABAJO PRESENCIAL EN EL AULA:
* Clases magistrales (teóricas, ejercicios o problemas): 20 horas
* Sesiones prácticas en grupos reducidos: 30 horas
* Tutorización individual del alumnado: 1 hora
Total horas trabajo presencial en el aula: 51 horas
TRABAJO PERSONAL DEL ALUMNADO:
* Estudio autónomo: 39 horas
* Escritura de ejercicios, trabajos, etc.: 15 horas
* Programación/experimentación en ordenador: 30 horas
* Evaluación de trabajos, proyectos, exámenes: 15 horas
Total horas trabajo personal: 99 horas
Se suponen unos conocimientos suficientes de lenguaje de programación Python y de los fundamentos de estructuras de datos lineales, árboles y grafos, que se ven, respectivamente, en las materias de Programación I y II, y en Matemática Discreta de primer curso.
Se recomienda seguir el modelo de evaluación continua, lo que significa llevar la materia al día. De esta forma se seguirán con mayor facilidad las clases teóricas y las clases prácticas, lo que hace la materia más llevadera.
También se recomienda encarecidamente el uso de las horas de tutorías para aclarar cualquier duda que se pueda presentar en el desarrollo de la materia.
Se utilizará el campus virtual de la USC para toda la docencia, publicación de material, guiones de prácticas y entrega de trabajos.
La materia se impartirá principalmente en castellano.
Maria Jose Carreira Nouche
Coordinador/a- Departamento
- Electrónica y Computación
- Área
- Ciencia de la Computación e Inteligencia Artificial
- Teléfono
- 881816431
- Correo electrónico
- mariajose.carreira [at] usc.es
- Categoría
- Profesor/a: Titular de Universidad
Victor Jose Gallego Fontenla
- Departamento
- Electrónica y Computación
- Área
- Ciencia de la Computación e Inteligencia Artificial
- Correo electrónico
- victorjose.gallego [at] usc.es
- Categoría
- Profesor/a: Ayudante Doutor LOSU
Lunes | |||
---|---|---|---|
16:30-17:30 | Grupo /CLE_01 | Castellano | IA.11 |
Martes | |||
16:00-17:00 | Grupo /CLE_01 | Castellano | IA.11 |
17:00-19:30 | Grupo /CLIL_01 | Gallego | IA.13 |
Miércoles | |||
17:30-20:00 | Grupo /CLIL_02 | Gallego | IA.14 |
Jueves | |||
17:00-19:30 | Grupo /CLIL_03 | Gallego | IA.14 |
13.01.2025 09:00-14:00 | Grupo /CLIL_02 | IA.01 |
13.01.2025 09:00-14:00 | Grupo /CLIL_03 | IA.01 |
13.01.2025 09:00-14:00 | Grupo /CLE_01 | IA.01 |
13.01.2025 09:00-14:00 | Grupo /CLIL_01 | IA.01 |
13.01.2025 09:00-14:00 | Grupo /CLIL_01 | IA.11 |
13.01.2025 09:00-14:00 | Grupo /CLE_01 | IA.11 |
13.01.2025 09:00-14:00 | Grupo /CLIL_02 | IA.11 |
13.01.2025 09:00-14:00 | Grupo /CLIL_03 | IA.11 |
13.01.2025 09:00-14:00 | Grupo /CLIL_02 | IA.12 |
13.01.2025 09:00-14:00 | Grupo /CLE_01 | IA.12 |
13.01.2025 09:00-14:00 | Grupo /CLIL_03 | IA.12 |
13.01.2025 09:00-14:00 | Grupo /CLIL_01 | IA.12 |
26.06.2025 09:00-14:00 | Grupo /CLE_01 | IA.11 |
26.06.2025 09:00-14:00 | Grupo /CLIL_03 | IA.11 |
26.06.2025 09:00-14:00 | Grupo /CLIL_01 | IA.11 |
26.06.2025 09:00-14:00 | Grupo /CLIL_02 | IA.11 |