Las asignaturas se agrupan en materias, y la mayoría se imparten en colaboración entre varios profesores. La siguiente tabla muestra las materias; haciendo clic en cada asignatura, verás el detalle.
En esta asignatura aprenderas los fundamentos del Shell en Linux:
Fundamentos de Linux
Conceptos básicos: Visión general de los sistemas operativos, qué es Linux, por qué se utiliza en IA/Big Data.
Navegación por el sistema de archivos: Directorios, rutas, direccionamiento relativo y absoluto.
Permisos de archivos: Usuarios, grupos, chmod, chown - gestión del acceso, especialmente para la seguridad de los datos.
Gestión de procesos: ps, top, kill, jobs, bg/fg, comprensión de los recursos del sistema y trabajos en ejecución.
Productividad de la línea de comandos
Comandos comunes: ls, cp, mv, rm, find, grep, tail, head, awk, sed, sort, uniq.
Manipulación de archivos: Cómo ver, editar y procesar archivos de texto y datos.
Redirección y canalización: Uso de >, <, >> y | para combinar y automatizar flujos de datos.
Bash Scripting
Script Syntax: Escritura y ejecución de scripts bash, comprensión de shebang (#!/bin/bash).
Variables y tipos de datos: Asignación de variables, sustitución de comandos, aritmética.
Flujo de control: sentencias if, bucles (for, while), sentencias case.
Funciones: Definición y uso de bloques de código reutilizables.
Automatización y programación
Automatización de tareas: Escritura de scripts para automatizar tareas comunes de datos.
Trabajos programados: Introducción a cron y at para trabajos periódicos.
En esta asignatura se cubriran contenidos como:
Teoría de la probabilidad: Espacios muestrales, eventos y sus probabilidades, propiedades fundamentales de la probabilidad, reglas para probabilidades condicionales, independencia de eventos y teorema de Bayes.
Distribuciones de probabilidad: Distribuciones discretas y continuas, funciones de distribución acumulada (CDF), normal y su estandarización (z-scores), chi-cuadrado, distribuciones conjuntas, covarianza y correlación.
Estadística descriptiva: Medidas de tendencia y dispersión (media, mediana, rango, cuartiles, IQR), detección de valores atípicos, y Teorema Central del Límite (TLC) para medias muestrales.
Inferencia estadística: Estimadores y sus propiedades, construcción de intervalos de confianza (usando distribuciones z, t y transformaciones de Fisher).
Pruebas de hipótesis: Definición de hipótesis nula y alternativa, errores tipo I y II, comparación de medias con t-test (independientes y pareados), f-test y pruebas chi-cuadrado.
En entornos complejos donde hay que manejar grandes volúmenes de datos, la capacidad para representar visualmente los datos es fundamental. Esta asignatura proporciona:
Los fundamentos para diseñar visualizaciones claras, eficaces y comprensibles que permitan comprender los datos o que ayuden a interpretar y comunicar los resultados del análisis de datos.
Se desarrollará la capacidad para transformar datos complejos en representaciones visuales efectivas, facilitando la detección de patrones o tendencias, a través de herramientas modernas y casos prácticos.
La visualización se aborda como una herramienta clave que incluye elementos de diseño gráfico, percepción visual y estadística para crear narrativas visuales que complementen el análisis de los datos y que potencien la toma de decisiones basada en datos.
Esta asignatura aborda de forma teórica y práctica todos los conceptos, tecnologías y herramientas necesarias para iniciarte en el uso de infraestructuras Cloud como soporte a la ejecución de aplicaciones generales, con un foco particular en aquellas relacionadas con Big Data.
Conocerás de primera mano las ventajas que ofrece Cloud Computing y harás prácticas sobre la infraestructura real de Amazon Web Services (AWS), el proveedor líder en Cloud Computing. Trabajarás con los principales servicios de AWS para el aprovisionamiento de infraestructura virtual y para el almacenamiento y la gestión eficiente de datos de la nube, requisito imprescindible cuando se manejan grandes volúmenes de datos (tanto con ficheros como con bases de datos).
Utilizarás las principales herramientas para el despliegue y uso de infraestructuras avanzadas en Cloud. También conocerás las principales herramientas de DevOps para facilitar el proceso de despliegue y configuración automatizada de infraestructuras virtuales configuradas para satisfacer los requisitos de una aplicación en la nube que involucra procesamiento y almacenamiento de datos. Finalmente, abordarás las arquitecturas serverless de computación dirigida por eventos.
Esta asignatura ofrece a los alumnos experiencia en la utilización de modelos de programación orientados a Big Data. En primer lugar, se tratan los modelos de computación HPC (High Performance Computing) y HTC (High Throughput Computing) ejemplificado sobre clusters virtuales desplegados en la nube.
Se aborda el modelo MapReduce para el análisis de grandes volúmenes de datos, implementado mediante Apache Hadoop.
Se realizan prácticas sobre clusters Hadoop desplegados sobre infraestructuras Cloud para realizar el análisis de conjuntos de datos usando Hadoop Streaming.
También se utiliza Apache Hive para analizar datasets sobre clusters Hadoop auto-aprovisionados usando Amazon EMR.
Finalmente, se introduce Apache Spark como alternativa para el procesado eficiente de datos.
En esta asignatura tiene como objetivos introducir el ciclo de vida del dato con herramientas de última generación:
Ingesta de datos. Repaso ciclo de vida del dato: ingesta, procesado, almacenamiento y disponibilización. Introducción a la ingesta de datos. Problemáticas y evaluación de herramientas: Apache NiFi, AirByte, StreamSets. Caso de estudio con AirByte. SparkSQL, Dataframes y Datasets y su uso con Mage.
Procesado en single-node y uso de GPUs. Evaluación de herramientas: Polars, NVIDIA Rapids, DucksDB. Casos de estudio con distintas herramientas.
Procesado avanzado: Introducción a DBT, funcionalidades (linaje, documentación, test, etc.) y caso de uso procesado.
Almacenamiento vectorial y búsqueda semántica: NOSQL (tipos), búsqueda semántica y casos de uso, evaluación de BBDD vectoriales: Chroma, Faiss, PostgreSQL, Qdrant. Búsqueda con keywords (BM25) y búsqueda híbrida.
En esta asignatura aprenderás a diseñar e implementar una arquitectura Big Data para el procesamiento de datos en tiempo real, integrando las diferentes fases del ciclo de vida de los datos, usando la arquitectura de Apache Kafka y otras herramientas punteras.
Configuras y desplegaras herramientas especializadas para cada fase de la arquitectura Big Data, incluyendo:
Adquisición de datos: implementación de mecanismos eficientes para la captura de datos en tiempo real.
Almacenamiento de datos: configuración de sistemas que garanticen la persistencia y disponibilidad de los datos.
Procesamiento y análisis de datos: uso de tecnologías adecuadas para transformar y extraer valor de los datos en tiempo real.
Visualización de resultados: creación de interfaces visuales que permitan la interpretación y comunicación efectiva de los resultados obtenidos.
Desarrollaras e implementaras un caso de uso práctico, aplicando los conocimientos adquiridos para resolver un problema real mediante una arquitectura Big Data en tiempo real.
En esta asignatura se refrescarán conceptos fundamentales de BBDD relacionales:
Organización, estructura y lógica.
Diseño básico de esquemas y relaciones entre tablas.
Consultas y manipulación de datos con SQL.
Conexión y manejo de bases de datos (MySQL, SQLite) desde Python usando librerías como sqlite3 y SQLAlchemy.
Esta asignatura ofrece una introducción al Aprendizaje Automático (Machine Learning, ML), un campo interdisciplinario que conecta estadística, inteligencia artificial y ciencia de datos.
Se estudia el flujo de trabajo típico en ML: desde la definición del problema y la recolección de datos, hasta el preprocesamiento, el entrenamiento del modelo y su evaluación.
Se abordan en profundidad los métodos de Aprendizaje Supervisado, que utilizan datos etiquetados para tareas de regresión y clasificación. Se estudian algoritmos como Regresión Lineal, K-Nearest Neighbors, Regresión Logística y Árboles de Decisión. También se exploran técnicas de combinación de modelos (Ensemble).
La evaluación de los modelos se lleva a cabo mediante métricas como la precisión, la sensibilidad (recall), la puntuación F1 y el área bajo la curva ROC (AUC-ROC). Además, se utiliza la validación cruzada para estimar de forma robusta la capacidad generalizadora del modelo.
Como parte de los modelos supervisados, se introduce el concepto de redes neuronales, prestando atención a su estructura básica y funcionamiento general en tareas de predicción (base necesaria para un estudio más avanzado de arquitecturas profundas en asignaturas posteriores).
En el bloque de Aprendizaje No Supervisado, se revisan técnicas como el Clustering para identificar estructuras ocultas en datos sin etiquetas, así como métodos de Reducción de Dimensionalidad para visualizar y simplificar conjuntos de datos complejos.
A lo largo del curso, se emplearán librerías python como scikit-learn para implementar los algoritmos vistos en clase. También se introducirán herramientas como pandas para manipulación de datos y matplotlib o seaborn para visualización, permitiendo al estudiante aplicar lo aprendido en casos reales.
En esta asignatura se abordara el procesamiento de lenguaje natural (NLP):
Conceptos básicos de NLP y aplicaciones: obtención y construcción de corpus de texto, técnicas de recolección y limpieza de datos textuales.
Procesamiento y análisis lingüístico: Tokenización de textos, lematización y stemming, etiquetado gramatical (POS tagging).
Representación vectorial de textos: Bag of Words (BOW), TF-IDF, word embeddings (Word2Vec, GloVe).
Técnicas y modelos de análisis: Análisis de sentimiento básico, extracción de información relevante (por ejemplo: entidades nombradas), modelos tradicionales de NLP para clasificación de textos, clustering o agrupamiento de documentos.
Modelos de lenguaje y buenas prácticas: Concepto y utilidad de los modelos de lenguaje, introducción al uso de modelos pre-entrenados.
Uso de herramientas y librerías fundamentales: NLTK, spaCy, scikit-learn y Hugging Face Transformers para el manejo de modelos pre-entrenados.
Esta asignatura busca proporcionar a los estudiantes una comprensión sólida de los principios, algoritmos y aplicaciones del deep learning, capacitando para diseñar, entrenar, evaluar e implementar modelos de redes neuronales profundas en la resolución de problemas reales. Contenido:
Construir y entrenar las redes neuronales profundas.
Optimizar las redes neuronales evitando los problemas de sobreajuste y gradiente de fuga.
Dominar las bibliotecas de aprendizaje profundo como TensorFlow y Keras.
Construir y entrenar las redes neuronales convolucionales para la clasificación de imágenes.
Construcción y entrenamiento de redes neuronales recurrentes para la predicción de series temporales y el procesamiento del lenguaje natural.
Autocodificadores para la reducción dimensional y la extracción de características.
Breve introducción a las redes generativas adversariales (GAN).
Entender y aplicar los conceptos y técnicas necesarias para integrar modelos de lenguaje extensos (LLM) en sistemas de producción, haciendo especial énfasis en la programación de soluciones de Retrieval Augmented Generation (RAG). Contenido:
Introducción a los LLMs
Prompting
Langchain & LlamaIndex
RAG
Agentes.
Fine-Tuning.
En esta asignatura aprenderas:
Fundamentos y conceptos básicos:
Gestión del riesgo.
Retos de seguridad en arquitecturas Big Data.
Vulnerabilidades en sistemas distribuidos y ataques comunes.
Privacidad y cumplimiento Legal:
Regulaciones, GDPR y su impacto en el procesamiento de datos masivos.
Privacidad como preocupación.
Privacy-preserving machine learning, anonimización y seudonimización.
En esta asignatura aprenderas cómo utilizar la IA para defensa/ataque en Ciberseguridad, introduciendo técnicas adversariales y entornos críticos como la conducción autónoma:
Detección/Prevención de amenazas:
Sistemas basados en ML como IDS/IPS, SIEM como Splunk con modelos de detección de anomalías, los módulos de SOAR, isolation forest, etc.
Clasificación de malware y análisis de comportamiento.
Adversarial Machine Learning:
Evassion attacks (como las alteraciones en las imágenes para evadir comportamientos en el vehículo autónomo)
Model poisoning.
Defensa: Adversarial training y bastionado de modelos.
Ciberseguridad en Algoritmos Federados:
Riesgos específicos: inferencia de datos, ataques de reconstrucción.
Técnicas de defensa: agregación segura.
Ejemplos en Entornos críticos:
Ataques a modelos de percepción en vehículos autónomos.
Seguridad en comunicaciones V2X.
Healthcare/IoT: vulnerabilidades en sistemas con IA embebida.
Proyecto práctico: simulación de red team y blue team, los alumnos atacarán una infraestructura, analizando posteriormente los eventos utilizando técnicas de IA
En esta asignatura aprenderas:
Arquitecturas de Software
Evolución de las arquitecturas
Retos en entornos empresariales
Costes, regulación, escalabilidad, seguridad e integración
Ciclo de vida del dato y tecnologías
Ingestión: ETL vs ELT, CDC…
Procesado: batch vs streaming
Almacenamiento: SQL vs NOSQL
Disponibilización: APIs
Analítica: reporting, analítica, ML…
Arquitectura centradas en datos
Data Fabric / Virtualización
Data Lake / Lakehouses
Data Mesh
Arquitecturas cloud
Servicios data en AWS, Azure y GCP
Arquitecturas híbridas
Arquitecturas Inteligencia Artificial
Tipos de RAG (híbrido, knowledge graph, etc.)
Sistemas multi-agente, herramientas (MCP), memoria…
MLOps y produccionalización. Observabilidad.
La importancia del gobierno del dato
Calidad, catálogo, gestión de datos maestros y seguridad
Casos de uso y arquitecturas reales
Proyectos reales con arquitecturas y tecnologías explicadas