Información General
- Número de Créditos Europeos (presencial/no presencial): 3.6 (3.6 / 0)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
En este módulo se impartirán contenidos de programación orientada a objetos con el lenguaje de programación Java.
Contenidos del módulo
- Programación orientada a objetos en Java (créditos: 0.6)
- Herencia en Java (créditos: 0.75)
- Tratamiento de excepciones (créditos: 0.75)
- Clases básicas predefinidas. I/O (créditos: 0.75)
- Colecciones e iteradores (créditos: 0.75)
Total créditos: 3.6
Equipo docente
Francisco Gutiérrez López
Información General
- Número de Créditos Europeos (presencial/no presencial): 4.5 (2.7 / 1.8)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
Este es un módulo introductorio mediante el que se presentan dos objetivos fundamentales. En primer lugar, se pretende iniciar al alumno en el contexto del análisis del Big Data proporcionando una visión global introductoria sobre las necesidades y desafíos que presenta este nuevo ecosistema tecnológico en la sociedad. En segundo lugar, se ofrece una primera toma de contacto técnica sobre el acceso a las grandes fuentes de datos, tomando como hilo conductor el Open Data y sus características principales. Se realiza un recorrido práctico sobre los principales estándares de datos, sus formatos, métodos de acceso, repositorios y APIs. Desde este primer módulo, se inicia al alumno en la realización de primeros análisis de datos mediante visualizaciones y se fomenta el diseño de aplicaciones de análisis de datos para la extracción de conocimiento y su interpretación.
Además, el objetivo de este módulo es introducir las bases de datos relacionales. Los estudiantes deberán adquirir las competencias para diseñar, implementar y consultar una base de datos relacional. Para ello, se abordará el proceso de diseño de una base de datos usando el modelo Entidad Relación, su traducción al modelo relacional y el proceso de creación de la misma usando el Lenguaje de Definición de Datos de SQL. También se introducirá el álgebra relacional, como base para adquirir competencias en el desarrollo de consultas SQL. El sistema gestor de bases de datos que se usará será MySQL, por lo que los estudiantes deberán adquirir las destrezas necesarias para usarlo.
Finalmente, los estudiantes deberán ser capaces de consultar la base de datos con el lenguaje SQL.
Contenidos del módulo
- Introducción al Big Data (créditos: 0.25)
- Ecosistema del Big Data (créditos: 0.5)
- Introducción al Open Data (créditos: 0.25)
- Portales de Open Data (créditos: 0.5)
- Modelado conceptual: Diseño de Bases de Datos (créditos: 0.5)
- Bases de Datos Relacionales (créditos: 0.5)
- El modelo de Datos Relacional (créditos: 0.5)
- Lenguajes de Consultas: El álgebra relacional (créditos: 0.5)
- El lenguaje SQL (créditos: 1)
Total créditos: 4.5
Equipo docente
Jose F. Aldana Montes
Jose Manuel García Nieto
María del Mar Roldán García
Información General
- Número de Créditos Europeos (presencial/no presencial): 4.5 (2.7 / 1.8)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El objetivo de este módulo es introducir la gestión de datos en el contexto del Big Data, para lo que se abordan las bases de datos NoSQL en general y adquirir competencias en el uso de Apache Cassandra y MongoDB en particular. En el caso de Cassandra se pretende que el alumno comprenda cómo el diseño de la base de datos es la pieza central para obtener un alto rendimiento en un modelo de datos orientado a columnas. En el caso de MongoDB el alumno deberá aprovechar la flexibilidad de este sistema gestor de bases de datos para ofrecer un sistema de almacenamiento eficiente, incluyendo el análisis de las posibilidades de replicación y distribución de los datos. Se introducirá además el acceso a MongoDB desde lenguajes de programación como Python.
Contenidos del módulo
- Bases de datos NoSQL (créditos: 0.5)
- Bases de datos orientadas a documentos: MongoDB (créditos: 2.5)
- Bases de datos orientadas a columnas: Cassandra (créditos: 1.5)
Total créditos: 4.5
Equipo docente
Ismael Navas Delgado
María del Mar Roldán García
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
En este módulo el alumno aprenderá a estructurar y organizar el análisis de información con ayuda del modelado multidimensional, los sistemas de almacenes de datos, la visualización de datos y las tecnologías OLAP. Además, también se mostrará cómo la analítica de datos puede ser aumentada mediante las técnicas de Inteligencia Artificial y Machine Learning, de manera que se encuentren patrones e información que puede pasar desapercibida en un primer momento para los analistas y que permite extraer más valor de los datos disponibles.
Contenidos del módulo
- Introducción a los almacenes de datos (créditos: 0.5)
- Modelado multidimensional (créditos: 0.5)
- Procesos ETL (créditos: 0.75)
- Explotación de almacenes de datos y OLAP (créditos: 0.5)
- Uso de IA y ML para analítica de datos (créditos: 1)
Total créditos: 3.5
Equipo docente
Juan Carlos Trujillo Mondéjar
Alejandro Maté Morga
Información General
- Número de Créditos Europeos (presencial/no presencial): 1.5 (0.9 / 0.6)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El objetivo principal de este módulo es tener una primera experiencia en el manejo de datos integral y su análisis con fuentes de datos reales. Este es un módulo de transición, orientado a la consolidación de los conocimientos adquiridos en los módulos anteriores sobre manejo de datos y la adquisición de habilidades de análisis mediante modelos de machine learning y visualización que se profundizarán en los módulos siguientes. Todo ello con una motivación eminentemente práctica en la que se pretende que el alumno adquiera habilidades para el tratamiento de datos previo a los procesos de Inteligencia Artificial.
Contenidos del módulo
- Análisis de datos geoespaciales (créditos: 0.7)
- Análisis multivariante, búsqueda de patrones, análisis de correlaciones, visualización, series temporales (créditos: 0.8)
Total créditos: 1.5
Equipo docente
José Manuel García Nieto
Información General
- Número de Créditos Europeos (presencial/no presencial): 6 (3.6 / 2.4)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El módulo proporciona una visión unificada del aprendizaje automático (Machine Learning) para la resolución de problemas relacionados con la Inteligencia Artificial (simulación, optimización, modelización), ahondando no sólo en los conceptos que subyacen a dicho paradigma, sino también mostrando, para cada uno de ellos, cómo plantear metodológicamente el proceso de selección, refinamiento y despliegue de modelos que lo resuelvan de manera efectiva. A tal efecto, el módulo repasa cómo se interrelacionan diferentes conceptos que se manejan hoy día en el mundo de la Inteligencia Artificial, aterrizando en los diferentes escenarios que pueden ser resueltos desde el aprendizaje automático: (problemas de analítica descriptiva, predictiva y prescriptiva).
Específicamente:
1)Analítica descriptiva: algoritmos de agrupamiento, técnicas de extracción de itemsets frecuentes, técnicas de reducción de dimensionalidad, aprendizaje de representaciones
2)Analítica predictiva: k vecinos, árboles de decisión, modelos Bayesianos, máquinas de soporte vectorial, computación neuronal, ensembles (bagging/boosting)
3)Analítica prescriptiva: optimización, aprendizaje por refuerzo, lógica difusa.
De una forma divulgativa y mediante ejemplos prácticos, el módulo proporciona una visión general de la motivación, potencialidad y capacidades del aprendizaje automático, con el fin último de orientar al alumno en la aplicación de dichos modelos en su devenir profesional. Así, el alumno adquirirá nociones básicas sobre el aprendizaje automático, entenderá dónde se puede aplicar, cómo definir un escenario de aplicación y qué factores tener en cuenta para maximizar su valor práctico.
Contenidos del módulo
- Presentación e introducción al aprendizaje automático: relación con Inteligencia Artificial, definición de conceptos, metodología de construcción de un modelo de aprendizaje automático (créditos: 0.75)
- Analítica descriptiva mediante aprendizaje automático: concepto, metodología, algoritmos de agrupación, extracción de itemsets, técnicas de reducción de dimensionalidad, aprendizaje de representaciones (créditos: 1.25)
- Analítica predictiva mediante aprendizaje automático: concepto, metodología, k vecinos, árboles de decisión, modelos Bayesianos, máquinas de soporte vectorial, computación neuronal, ensembles (bagging/boosting) (créditos: 2.25)
- Analítica prescriptiva: concepto, problemas y algoritmos de optimización, problemas de aprendizaje por refuerzo, sistemas de lógica difusa (créditos: 1.25)
- Dificultades y buenas prácticas de un proyecto de analítica de datos abordado con aprendizaje automático: limpieza y exploración de conjuntos de datos, aspectos prácticos a tener en cuenta (explicabilidad, confianza, trazabilidad, …) (créditos: 0.5)
Total créditos: 6
Equipo docente
Javier del Ser Lorente
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El objetivo de este módulo es Aprender a manejar las herramientas más vanguardistas para la implementación de proyectos de Deep Learning de la forma más rápida y eficiente sobre un computador de última generación aprovechando la aceleración en GPU y los recursos de supercomputación existentes en las arquitecturas de Nvidia, fabricante de más del 75% de las GPUs del mercado.
Contenidos del módulo
- Arquitectura de la GPU (créditos: 1)
- Entrenamiento e inferencia de redes neuronales profundas en GPU (créditos: 1.25)
- Optimización del rendimiento (créditos: 1.25)
Total créditos: 3.5
Equipo docente
Manuel Ujaldón Martínez
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El objetivo de este módulo es dar a conocer dos de las plataformas más usadas en aplicaciones Big Data que requieren altas capacidades de cómputo y de almacenamiento, el sistema de procesamiento de datos escalable Apache Spark y Apache Hadoop y su sistema de almacenamiento distribuido HDFS. Se ofrecerá una visión global de las características de ambos sistemas y se profundizará en el desarrollo de aplicaciones con Spark usando los lenguajes de programación Python y Java.
Contenidos del módulo
- Introducción a Apache Hadoop y HDFS (créditos: 0.75)
- Introducción a Apache Spark (créditos: 0.75)
- Aplicaciones basadas en el uso de pares clave-valor (créditos: 1)
- Aplicaciones basadas en dataframes (créditos: 1)
Total créditos: 3.5
Equipo docente
Antonio Jesús Nebro Urbaneja
Cristóbal Barba González
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
En este módulo se cubren objetivos básicos de cómo visualizar gráficas entorno web, tanto en modo paquetizado como partiendo desde cero, utilizando el framework de visualización d3js. Adicionalmente, se introduce el uso de herramientas de visualización (BI y Analytics).
Contenidos del módulo
- Introducción la visualización de datos (créditos: 0.5)
- D3js (créditos: 1.25)
- Role de Data Analyst (créditos: 0.5)
- Herramientas de visualización: Power BI (créditos: 1.25)
Total créditos: 3.5
Equipo docente
Salvador Carrión Pérez
Antonio Benítez Hidalgo
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Competencias
- CG2. Capacidad de aplicar los conocimientos en la práctica
- CG5. Habilidad para el aprendizaje continuado, autodirigido y autónomo
- CE1. Capacidad para comprender y analizar qué es Big Data y las características que lo definen.
- CE2. Habilidad para modelar, diseñar e implementar aplicaciones capaces de explotar Big Data
Actividades formativas y su relación con las competencias que debe adquirir el estudiante
- Lección magistral: 1, 3, 4
- Resolución de problemas: 1, 3, 4
- Estudio de casos: 4
- Elaboración de informes: 1, 2
- Estudio personal: 1, 2, 4
Sistemas de evaluación y calificación
Realización de trabajos/proyectos y cuestionarios a través del campus virtual
Breve descripción de los contenidos
En este módulo se va a trabajar con tecnologías de procesamiento de datos escalables en el contexto de aplicaciones Big Data en dos ámbitos: machine learning y streaming. La primera semana se dedicará a SparkML, el componente de Spark que ofrece algoritmos machine learning (tanto clasificación como clustering). En la segunda se estudiarán dos tecnologías: Spark structured streaming y Apache Flink. El objetivo del módulo es adquirir y asimilar los fundamentos básicos para poder desarrollar aplicaciones escalables con las herramientas estudiadas.
Contenidos del módulo
- Spark ML (créditos: 1.25)
- Spark Structured Streaming (créditos: 1)
- Apache Flink (créditos: 1.25)
Total créditos: 3.5
Equipo docente
Antonio Jesús Nebro Urbaneja
Cristóbal Barba González
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
En este módulo, los estudiantes explorarán las etapas fundamentales de un pipeline de NLP, como la tokenización, lematización y análisis morfológico, entre otros. Se analizarán los desafíos y restricciones propias de cada fase, junto con otras técnicas y herramientas esenciales para el preprocesamiento del texto. Se examinarán los enfoques más comunes para representar información textual, tales como técnicas de representación de palabras y documentos como BoW, TFIDF y Word2Vec, además de modelos de aprendizaje profundo y arquitecturas Transformer como BERT y GPT. Se trabajarán con Modelos de Lenguaje a Gran Escala (LLM) como ChatGPT, así como su implementación en entornos productivos. También se introducirán las bases de datos vectoriales para almacenar y recuperar información basada en vectores.
Herramientas: Python, scaPy, scikit-learn, transformers
Contenidos del módulo
- Pipeline de NLP (créditos: 0.7)
- Pre-procesamiento de texto (créditos: 0.7)
- Representación de Texto (créditos: 0.7)
- Modelos avanzados y Transformers (créditos: 0.7)
- Bases de datos vectoriales (créditos: 0.7)
Total créditos: 3.5
Equipo docente
Antonio Benitez Hidalgo
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El objetivo de este módulo es la integración del paradigma de Big Data con tecnologías y protocolos de Internet de las Cosas (IoT) con el fin de reducir la brecha entre la obtención de datos y su generación en el mundo físico. A partir de protocolos usados en el IoT como CoAP y MQTT, y de plataformas como FIWARE y Apache Kafka o basadas en la nube, se podrán obtener datos del IoT para su posterior procesamiento y análisis con tecnologías de Big Data.
Contenidos del módulo
- Introducción al IoT (créditos: 0.5)
- Plataformas en la nube e IoT. Componentes implicados (créditos: 1)
- Middleware y protocolos para IoT (créditos: 1)
- Casos de estudio sobre Big Data e IoT (créditos: 1)
Total créditos: 3.5
Equipo docente
Manuel Díaz Rodríguez
Daniel Garrido Márquez
Cristian Martín Fernández
Información General
- Número de Créditos Europeos (presencial/no presencial): 3.5 (1.8 / 1.7)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El objetivo de este módulo es que los alumnos conozcan los conceptos fundamentales de la computación en la nube y las herramientas que ofrecen algunos de los principales proveedores comerciales para su utilización específica en Big Data o Machine Learning. Se verá la utilización de contenedores en la nube como medio de despliegue de aplicaciones. Los alumnos serán capaces de usar dichas herramientas para llevar a cabo proyectos relacionados con el Análisis del Big Data.
Contenidos del módulo
- Introducción a Cloud Computing para Big Data (créditos: 0.5)
- Uso de contenedores en la nube (créditos: 1)
- Despliegue de aplicaciones en proveedores de servicios en la nube (créditos: 1)
- Análisis de Big Data en proveedores de servicios en la nube (créditos: 1)
Total créditos: 3.5
Equipo docente
José María Álvarez Palomo
Daniel Garrido Márquez
Información General
- Número de Créditos Europeos (presencial/no presencial): 1.5 (0.9 / 0.6)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
El objetivo principal de este módulo es mostrar un caso de uso avanzado que aborde una problemática real e involucre técnicas de integración y análisis de datos vistas en los últimos módulos. El módulo de uso se orienta hacia el caso particular del análisis de series temporales para tareas de predicción y detección de anomalías. Se emplean métodos tradicionales y modernos de librerías de machine learning orientados al análisis de series temporales, teniendo en cuenta sus métricas particulares y estadísticos, tanto para análisis univariable como multi variable. Se presentan casos reales de empresas, dentro de un marco práctico donde el alumno debe experimentar en la toma de decisiones en base a los análisis previos.
Contenidos del módulo
- Caso de uso avanzado, orientado al análisis de series temporales para el análisis predictivo y de detección de anomalías (créditos: 1)
- Análisis de casos reales industriales, discusión y obtención de conclusiones orientadas a la toma de decisión (créditos: 0.5)
Total créditos: 1.5
Equipo docente
José Manuel García Nieto
Información General
- Número de Créditos Europeos (presencial/no presencial): 10.4 (10.4 / 0)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
Este es un módulo trasversal de prácticas en el laboratorio, en el que se abordará de forma integrada el desarrollo de prácticas de los diferentes módulos.
Contenidos del módulo
- Prácticas de programación en Java (créditos: 1.4)
- Prácticas de bases de datos (créditos: 1)
- Prácticas de análisis de textos (créditos: 1)
- Prácticas de analítica de datos (créditos: 1)
- Prácticas de Deep Learning (créditos: 1)
- Prácticas de algoritmos de aprendizaje (créditos: 1)
- Prácticas de visualización de datos (créditos: 1)
- Prácticas de real-time & IOT (créditos: 1)
- Prácticas de cloud computing (créditos: 1)
- Prácticas de Spark (créditos: 1)
Total créditos: 10.4
Equipo docente
David Cuesta Merino
Información General
- Número de Créditos Europeos (presencial/no presencial): 17 (0 / 17)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
En este módulo se aplicarán los conocimientos adquiridos en el diseño e implementación de un proyecto software de envergadura.
Contenidos del módulo
- Proyecto fin de título (créditos: 17)
Total créditos: 17
Equipo docente
Nebro Urbaneja, Antonio Jesús
Barba González, Cristóbal
Cuesta Merino, David
Garrido Márquez, Daniel
Martín Fernández, Cristian
Álvarez Palomo, José María
José Manuel García Nieto
Información General
- Número de Créditos Europeos (presencial/no presencial): 13 (13 / 0)
- Carácter: Obligatorio
- Unidad temporal: Cuatrimestre
Breve descripción de los contenidos
Las prácticas, que se pueden realizar en empresas, en grupos de investigación, mediante un desarrollo práctico tutorizado en el puesto laboral actual o a través de un trabajo Fin de Master ampliado y de orientación práctica, han de permitir al estudiante aplicar los conocimientos adquiridos en la parte docente del máster en un entorno real.
Así mismo, se podrán extender las prácticas curriculares con prácticas extracurriculares hasta el máximo permitido por la normativa vigente.
Contenidos del módulo
- Prácticas (créditos: 13)
Total créditos: 13
Equipo docente
Jose F, Aldana Montes
María del Mar Roldán García
José Manuel García Nieto