Última actualización: 16/04/2024


Curso Académico: 2024/2025

Computación Masiva
(16499)
Doble Grado Ciencia e Ingeniería de Datos - Ingeniería en Tecnologías de Telecomunicación (Plan: 456 - Estudio: 371)


Coordinador/a: MOLINA BULLA, HAROLD YESID

Departamento asignado a la asignatura: Departamento de Teoría de la Señal y Comunicaciones

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Los laboratorios se harán usando los lenguajes Python.
Objetivos
El objetivo principal de esta asignatura es formar analistas en ciencias de datos, ya sea para investigación o el mercado laboral, usando las técnicas más novedasas que se aplican en aprendizaje máquina. Nos orientaremos aprender como sacarle el mayor partido a los recursos computacionales que podemos tener a nuestra disposición, desde el ordenador propio, recursos en la nube para programación con GPUs y programación para Big Data; conocimientos con alta demanda en diversos entornos. Para se explicarán los conceptos básicos de programación paralela: 1- usando los recuros de los ordenadores comunes, 2-programación hibrida: usando los recursos de un ordenador normal y hardware específico como las tarjetas de procesado gráfico (GPUs) 3- programación distribuida y en la nube, para grandes casos, como Big Data.
Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
Programación Paralela: * Programación Multiprocesador/Multicore * Programación Paralela con Memoria Compartida (y los peligros para los datos) * Programación Paralela con Memoria Compartida con semáforos y bloqueo Programación Hibrida * Uso de las GPUs y su diferencia con el procesador del ordenador común. * Como se programan las GPUs: cuando y como se pueden utilizar. * Uso de técnicas avanzadas de programación en GPUs, gestión de los recursos de GPU. * COmo usar la GPU en Aprendizaje Máquina Programación Distribuida * Que es la computación distribuida y como podemos aprovecharla. * Uso de plataformas para programación distribuida para BigData y Aprendizaje Máquina * Casos de uso de Apache Spark para aprendizaje máquina
Actividades formativas, metodología a utilizar y régimen de tutorías
AF1: CLASES TEÓRICO-PRÁCTICAS. En ellas se presentarán los conocimientos que deben adquirir los alumnos. Estos recibirán las notas de clase y tendrán textos básicos de referencia para facilitar el seguimiento de las clases y el desarrollo del trabajo posterior. Se resolverán ejercicios, prácticas problemas por parte del alumno y se realizarán talleres y prueba de evaluación para adquirir las capacidades necesarias. AF2:  Actualizado a alegación AF3: TRABAJO INDIVIDUAL O EN GRUPO DEL ESTUDIANTE. MD1: CLASE TEORÍA. Exposiciones en clase del profesor con soporte de medios informáticos y audiovisuales, en las que se desarrollan los conceptos principales de la materia y se proporcionan los materiales y la bibliografía para complementar el aprendizaje de los alumnos. MD2: PRÁCTICAS. Resolución de casos prácticos, problemas, etc. planteados por el profesor de manera individual o en grupo. MD3: TUTORÍAS. Asistencia individualizada (tutorías individuales) o en grupo (tutorías colectivas) a los estudiantes por parte del profesor.
Sistema de evaluación
  • Peso porcentual del Examen Final 0
  • Peso porcentual del resto de la evaluación 100

Calendario de Evaluación Continua


Convocatoria extraordinaria: normativa
Bibliografía básica
  • Benjamin Bengfort ; Jenny Kim. Interactive Spark using PySpark. O'Reilly Media. 2016
  • Holden Karau ; Rachel Warren. High Performance Spark. O'Reilly Media. 2017
  • Holden Karau, Andy Konwinski, Patrick Wendell & Matei Zaharia. Programming in Scala. Artima.
  • Mike Frampton. Mastering Apache Spark. Packt Publishing. 2015

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.