Este módulo proporciona una base integral y orientada a la práctica en ingeniería de datos moderna y análisis, dotando a los estudiantes de las competencias técnicas para procesar, gestionar y extraer valor de fuentes de datos diversas. Los participantes aprenderán a utilizar Python y sus bibliotecas principales (Numpy, Pandas, Matplotlib, SciPy) para la transformación y el análisis de datos, al mismo tiempo que adquirirán una comprensión sólida de las arquitecturas de sistemas Big Data, el procesamiento distribuido en clústeres y los servicios de datos basados en la nube. El curso también cubre temas esenciales como la conversión y estandarización de datos, las técnicas de preparación para el modelado estadístico y el aprendizaje automático, y la visualización efectiva de datos. La exposición adicional a tecnologías emergentes como Blockchain y sus principios de seguridad garantiza que los estudiantes estén preparados para navegar tanto por entornos consolidados como en evolución en contextos basados en datos. Al final del módulo, los estudiantes serán capaces de diseñar e implementar flujos de trabajo de datos end-to-end —desde la ingestión y limpieza hasta el análisis y la comunicación de insights— utilizando herramientas estándar de la industria y mejores prácticas.
Para aprovechar con éxito este módulo, se recomienda que los estudiantes dispongan de conocimientos básicos en procesamiento de datos general, incluyendo familiaridad con bases de datos, formatos de datos comunes y técnicas de análisis tanto tradicionales como avanzadas. La competencia en el lenguaje de programación Python es esencial, ya que actúa como herramienta principal para implementar los conceptos y ejercicios que se trabajan a lo largo del curso. Además, son aconsejables nociones básicas de arquitecturas en la nube, dado que muchas de las tecnologías y flujos de trabajo que se tratan están diseñados para operar en entornos distribuidos o basados en la nube.
El objetivo de Big Data Analysis es enseñarte cómo utilizar herramientas que puedan controlar la avalancha de datos generados en la era moderna. Esto se logrará mediante una combinación de una arquitectura de gestión de datos (la big data pipeline), el uso de tecnologías específicas de procesamiento de Big Data y algo de programación en Python. Al final de este curso, deberías ser capaz de procesar archivos de datos grandes y manipular datos para generar estadísticas, métricas y visualizaciones.
- Utilizar Python para leer y transformar datos en diferentes formatos. Los estudiantes desarrollarán soluciones independientes aprovechando bibliotecas estándar como Numpy, Pandas, Matplotlib y SciPy para gestionar tareas de manipulación, transformación y análisis de datos de manera eficiente en múltiples formatos y estructuras de archivos.
- Comprender la arquitectura de componentes de un sistema de Big Data Management. Los participantes serán capaces de identificar los elementos clave de una big data pipeline y entender su papel específico dentro de la cadena de valor de los datos, incluyendo familiaridad con las variantes principales de cada componente y los aspectos técnicos y funcionales que los diferencian.
- Adquirir familiaridad con las principales ofertas de Cloud Data Services para Big Data. Los estudiantes aprenderán sobre los fundamentos de la infraestructura en la nube, la estructura y los tipos de servicios de datos disponibles, y las soluciones específicas que ofrecen los principales proveedores de nube del mercado, permitiendo tomar decisiones informadas a la hora de seleccionar herramientas para flujos de trabajo de datos escalables.
- Comprender cómo funciona Blockchain y los fundamentos de su seguridad. Los participantes explorarán las funciones principales de la tecnología Blockchain, sus casos de uso primarios, y los mecanismos criptográficos y de consenso que permiten sus altos niveles de seguridad y resiliencia, con una breve revisión de conceptos criptográficos esenciales para dar soporte a una comprensión más profunda.
- Generar estadísticas y métricas básicas utilizando datos almacenados en disco. Los estudiantes recuperarán datos de sistemas de almacenamiento, los cargarán en un formato adecuado y realizarán los pasos necesarios de limpieza y preprocesamiento; a continuación, calcularán estadísticas fundamentales —como media, mediana y desviación estándar— y métricas relevantes como promedios o porcentajes, presentando los resultados de una manera clara y accionable.
- Trabajar con tareas de procesamiento distribuido en un clúster. Los participantes aprenderán a configurar un entorno de clúster de computación, incluyendo la selección de hardware adecuado, la configuración de software frameworks y el establecimiento de comunicación de red entre nodos, mientras desarrollan y ejecutan tareas que incorporen paralelismo de datos, distribución de tareas, tolerancia a fallos y gestión dinámica de recursos.
- Convertir datos de fuentes diversas en formatos de almacenamiento o consulta estandarizados. Los estudiantes identificarán diversas fuentes de datos —como archivos planos, APIs y bases de datos— e implementarán procedimientos de extracción robustos que aborden desafíos específicos de formato; también desarrollarán flujos de trabajo de conversión para transformar y armonizar datos de fuentes heterogéneas en una estructura común, asegurando calidad, consistencia y compatibilidad para análisis o almacenamiento posteriores.
- Preparar datos para análisis estadístico, visualización y aprendizaje automático. El curso cubre técnicas para identificar y abordar valores faltantes, valores atípicos e inconsistencias mediante métodos como imputación, escalado y codificación de variables categóricas; los estudiantes también aprenderán a crear nuevas características relevantes y seleccionar variables informativas para optimizar conjuntos de datos para modelado, preservando la integridad de los datos y la validez analítica.
- Presentar datos mediante visualizaciones efectivas. Los participantes aprenderán a seleccionar los tipos de gráficos más apropiados —como gráficos de barras, gráficos de dispersión o mapas de calor— basándose en la naturaleza de los datos y los insights que se quieren transmitir; diseñarán visuales claros, precisos y estéticamente atractivos utilizando colores, etiquetas y títulos adecuados, y los integrarán en informes o presentaciones para comunicar eficazmente insights basados en datos a stakeholders técnicos y no técnicos.
Esta asignatura tiene dos sesiones docentes por semana. Cada sesión se divide en dos partes: la primera parte está principalmente dirigida por el instructor, durante la cual el profesor presenta nuevos contenidos y teoría; la segunda parte implica que los estudiantes trabajen en ejercicios para reforzar los conocimientos que han adquirido. Las evaluaciones se realizan periódicamente mediante actividades individuales o en grupo y la recogida de tareas y ejercicios, entre otros.
Tipo de evaluación | Peso | Contenido | Tipo de actividad |
|---|---|---|---|
Asistencia y participación | 30% | Todos los temas | Moderadamente importante |
Actividades | 30% | Aproximadamente 5 o 6 actividades individuales o grupales | Muy importante |
Examen parcial (Mid-term exam) | 10% | Temas cubiertos hasta la fecha | Moderadamente importante |
Examen final | 30% | Todos los temas | Muy importante |
- El objetivo principal es ayudar a los estudiantes a mantenerse al día con la asignatura y adquirir un buen método de trabajo, de manera que les ayude a asimilar los contenidos, impartidos de manera progresiva, y a obtener buenos resultados académicos.
- También permite valorar el trabajo que el estudiante realiza día a día, sin que su nota dependa únicamente de los exámenes realizados durante los semestres del curso académico.
- Como docente, ayuda a disponer de más información sobre el trabajo realizado por los estudiantes y a tener un mejor conocimiento de ellos, tanto a nivel académico como personal.
---
Marin, I., Shukla, A., & VK, S. (2019). Big Data Analysis with Python. Packt Publishing.
Martin Kleppmann, (2019), Designing Data-Intensive Applications [O’Reilly]
---