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: Arquitectura y Tecnología de Ordenadores
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Segundo semestre
Docencia: Con docencia
Matrícula: Matriculable
El principal objetivo de esta materia es la adquisición de los conocimientos necesarios para desarrollar códigos que aprovechen de forma óptima el hardware disponible. Para ello, se estudiará la interrelación entre el software del sistema operativo y el hardware sobre el que se ejecuta. También se profundizará en diferentes modelos de sistemas paralelos que utilicen memoria concurrente, compartida y distribuida, así como en el uso de aceleradores hardware. Por último, se trabajará en la comprensión de los mecanismos disponibles para analizar el rendimiento de este tipo de códigos con el objetivo de optimizar su eficiencia.
La asignatura se dividirá en los siguientes temas:
Tema 1: Introducción a los paradigmas de computación.
Tema 2: Fundamentos de computación concurrente.
Tema 3: Programación de sistemas paralelos de memoria compartida y distribuida.
Tema 4: Introducción a los aceleradores Hardware.
Tema 5: Análisis y optimización de rendimiento.
Básica:
- Zaccone, G. (2019). Python parallel programming cookbook. Packt Publishing Ltd.
- Lanaro, G., Nguyen, Q., & Kasampalis, S. (2019). Advanced Python Programming: Packt Publishing Ltd.
Complementaria:
- Georg Hager, Gerhard Wellein. Introduction to High Performance Computing for Scientists and Engineers, 1st edition, 2011.
- Zaccone, G. (2015). Python parallel programming cookbook. Packt Publishing Ltd.
- John L. Hennessy, David A. Patterson. Computer Architecture. A Quantitative Approach, 6th edition, Morgan Kaufmann, 2017.
- Tanenbaum, Andrew S. (2009) Sistemas operativos modernos. Pearson Educación.
- T.G. Mattson, B.A. Sanders and B.L. Massingill, Patterns for Parallel Programming, Addison-Wesley, 2005.
- Kirk, D. B., & Wen-mei, W. H. (2013). Programming massively parallel processors: a hands-on approach. Morgan Kaufmann Publishers.
- PATTERSON, David A., HENNESSY John L. Computer Organization and Design. The Hardware/Software Interface, 5ª edición. Morgan Kaufmann, 2014, ISBN-13: 978-0124077263.
- P. Pacheco, "An Introduction to Parallel Programming", Morgan Kaufmann Publishers, 2011.
El alumnado adquirirá los conceptos y mecanismos básicos necesarios para la programación eficiente en sistemas de memoria compartida y distribuida de aplicaciones orientadas a la Inteligencia Artificial.
A continuación se detallan las competencias específicas que se deben adquirir durante el estudio de esta materia, que pueden ser consultadas en la memoria del Grado en Inteligencia Artificial de la USC:
5.5.1.5.1 BÁSICAS Y GENERALES
CG2 - Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad.
CG5 - Capacidad para concebir nuevos sistemas computacionales y/o evaluar el rendimiento de sistemas existentes, que integren modelos y técnicas de inteligencia artificial.
CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean 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.
CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
5.5.1.5.2 TRANSVERSALES
TR3 - Capacidad para crear nuevos modelos y soluciones de forma autónoma y creativa, adaptándose a nuevas situaciones. Iniciativa y espíritu emprendedor.
5.5.1.5.3 ESPECÍFICAS
CE5 - Comprender y aplicar los principios y técnicas básicas de la programación paralela y distribuida para el desarrollo y ejecución eficiente de las técnicas de inteligencia artificial.
CE6 - Capacidad para realizar el análisis, diseño, implementación de aplicaciones que requieran trabajar con grandes volúmenes de datos y en la nube de forma eficiente.
CE4 - Conocer la estructura, organización, funcionamiento e interconexión de los sistemas informáticos (computador, sistemas operativos y redes de computadores).
La asignatura tiene un enfoque teorico/práctico mediante la combinación de clases expositivas, donde se introducirán principalmente los conceptos teóricos, e interactivas, enfocadas a la realización de actividades de caracter eminentemente práctico para asentar los conceptos presentados en las sesiones expositivas.
Durante las sesiones expositivas el profesorado se apoyará en el uso de pizarra y sistemas multimedia para desarrollar los contenidos fundamentales de cada uno de los temas de la asignatura. Se introducirán los contenidos suficientes para poder afrontar la realización de las prácticas de la asignatura y superar el examen necesario para aprobar la materia. En estas sesiones se trabajarán especialmente las competencias CG5, CB2, CE5 y CE4.
Las sesiones interactivas se desarrollaran de forma individual o en grupos reducidos y estarán enfocadas al trabajo activo del alumnado en las practicas o proyectos propuestos para superar la parte de evaluación continua de la materia. En estas sesiones, el personal docente guiará el aprendizaje de los alumnos y resolverá las dudas planteadas por los mismos. Estas sesiones servirán para adquirir las competencias CG2, CB2, TR3, CE5 y CE6.
Se hará uso del aula virtual para facilitar el material utilizado durante la asginatura, así como material de apoyo o complementario. El aula virtual será también el único medio de entrega válido para las actividades propuestas que requieran de entregables en formato electrónico para su evaluación.
La evaluación de la asignatura se dividirá en dos partes, evaluación continua y examen final, cuyo peso será del 50% de la nota final cada una. Para superar la asignatura deberá obtenerse la calificación de aprobado en cada una de estas partes.
Evaluación continua
El 50% de la calificación final se obtendrá mediante la participación/entrega de las actividades de evaluación continua propuestas durante la asignatura. Cada una de las actividades propuestas tendrá una fecha de finalización específica después de la cual se considerará como no realizada.
La asistencia a las clases de laboratorio en el horario asignado será obligatoria cuando esté planificada la realización de alguna actividad cuya evaluación se vaya a realizar durante el trascurso de la sesión. Estas sesiones serán programadas y notificadas con la antelación suficiente.
Las actividades de evaluación continua pueden incluir, entre otras, la realización de ejercicios en grupos reducidos, presentación de informes de actividades realizadas o evaluación mediante tests de seguimiento. Es condición imprescindible para aprobar la asignatura alcanzar la nota mínima en esta parte, que no podrá sustituirse por la realización de un examen final de prácticas.
En esta parte de la evaluación se valorarán principalmente las competencias CG2, CB2, TR3, CE5 y CE6.
Para los casos de realización fraudulenta de ejercicios o pruebas será de aplicación lo recogido en la “Normativa de evaluación do rendimiento académico de los estudiantes e de revisión de cualificaciones”.
Oportunidad ordinaria
Se realizará un exámen teórico y/o de resolución de problemas, en la fecha oficialmente desginada a tal efecto, en el que se evaluarán fundamentalmente las competencias CG5, CB2, CE5 y CE4. Para aprobar la asignatura será necesario alcanzar la calificación de aprobado en este examen.
Oportunidad extraordinaria de recuperación
Se realizará un exámen teórico y/o de resolución de problemas en las mismas condiciones que en la oportunidad ordinaria. Para la nota de evaluación continua se mantendrá la nota alcanzada en la oportunidad ordinaria.
Condición de no presentado
La calificación “No Presentado” se asignará a la persona que no realice el examen teórico en ninguna de las oportunidades y no haya entregado más de una de las actividades de evaluación continua.
Alumnado repetidor
El alumnado repetidor será evaluado en las mismas condiciones que el de primera convocatoria.
La distribución estimada de horas de la asignatura se divide en 20 horas de actividad presencial dedicadas a sesiones expositivas y de 30 de laboratorio para las sesiones interactivas. Se considera también 1 hora de tutorización individual del alumnado.
Además, se estima un esfuerzo de trabajo autónomo de 99 horas, dedicado a la revisión bibliográfica, estudio autónomo y desarrollo de las actividades programadas en la asignatura.
Tal como se establece en la memoria de la titulación, es un requisito recomendado para la realización de esta asignatura haber cursado previamente las asignaturas Introducción a los Computadores, Programación I y Programación II.
Se recomienda también la asistencia a las clases de docencia expositiva e interactiva así como el estudio continuado de la asignatura, realizando un esfuerzo activo en la búsqueda de materiales, realización de ejercicios y resolución de las prácticas o proyectos propuestos.
Se utilizará el campus virtual de la USC para toda la docencia, publicación de material, guiones de prácticas y entregas de trabajos.
El idioma preferente de impartición de las clases expositivas e interactivas es el castellano. Parte del material y bibliografía empleados en la materia puede estar en inglés.
Javier Lopez Fandiño
Coordinador/a- Departamento
- Electrónica y Computación
- Área
- Arquitectura y Tecnología de Ordenadores
- Teléfono
- 881815504
- Correo electrónico
- javier.lopez.fandino [at] usc.es
- Categoría
- Profesor/a: Profesor Ayudante Doctor LOU
Miércoles | |||
---|---|---|---|
15:30-16:30 | Grupo /CLE_01 | Castellano | IA.11 |
17:30-20:00 | Grupo /CLIL_01 | Castellano | IA.11 |
Viernes | |||
15:30-18:00 | Grupo /CLIL_03 | Castellano | IA.11 |
20.05.2025 09:00-14:00 | Grupo /CLE_01 | IA.01 |
20.05.2025 09:00-14:00 | Grupo /CLIL_02 | IA.01 |
20.05.2025 09:00-14:00 | Grupo /CLIL_03 | IA.01 |
20.05.2025 09:00-14:00 | Grupo /CLIL_01 | IA.01 |
20.05.2025 09:00-14:00 | Grupo /CLIL_01 | IA.11 |
20.05.2025 09:00-14:00 | Grupo /CLE_01 | IA.11 |
20.05.2025 09:00-14:00 | Grupo /CLIL_02 | IA.11 |
20.05.2025 09:00-14:00 | Grupo /CLIL_03 | IA.11 |
20.05.2025 09:00-14:00 | Grupo /CLIL_02 | IA.12 |
20.05.2025 09:00-14:00 | Grupo /CLIL_03 | IA.12 |
20.05.2025 09:00-14:00 | Grupo /CLE_01 | IA.12 |
20.05.2025 09:00-14:00 | Grupo /CLIL_01 | IA.12 |
27.06.2025 16:00-20:00 | Grupo /CLIL_03 | IA.11 |
27.06.2025 16:00-20:00 | Grupo /CLE_01 | IA.11 |
27.06.2025 16:00-20:00 | Grupo /CLIL_01 | IA.11 |
27.06.2025 16:00-20:00 | Grupo /CLIL_02 | IA.11 |