Que los estudiantes trabajen con las herramientas del flujo de trabajo real de un proyecto de datos: control de versiones y colaboración, entornos aislados y reproducibles, bases de datos relacionales y SQL, alternativas no relacionales, y documentación y despliegue mínimo de un proyecto.
Cinco unidades
Unidad 1Control de versiones y trabajo colaborativo5 h
- Por qué versionar: el problema real de los archivos "final_v3_definitivo_2_pol".
- Git: repositorio, área de preparación, commit, historial, deshacer cambios.
- Ramas, fusión y resolución de conflictos; flujo de trabajo con ramas por tarea.
- Repositorios remotos, pull requests y revisión de cambios entre pares.
- Versionado de notebooks: el problema del formato, herramientas de diff y limpieza de salidas.
- Qué no se versiona: datos pesados, credenciales, resultados; .gitignore y noción de versionado de datos.
Dónde se usaTodos los módulos posteriores y de manera obligatoria en el proyecto integrador.
Unidad 2Entornos reproducibles4 h
- El problema de la reproducibilidad: versiones de bibliotecas, semillas aleatorias, dependencia del sistema.
- Entornos virtuales: venv, conda; archivos de requerimientos y fijación de versiones.
- Google Colab: alcance, límites, montaje de datos y persistencia; cómo convivir con un entorno local.
- Contenedores: qué resuelve Docker, imagen, contenedor, Dockerfile mínimo para un proyecto de análisis.
- Estructura estándar de un proyecto de datos: carpetas, separación entre datos crudos y procesados, scripts y notebooks.
- Documentación mínima: README, registro de decisiones y trazabilidad del análisis.
Dónde se usaEntrega de todos los trabajos prácticos de M5 a M8 y del proyecto integrador.
Unidad 3Bases de datos relacionales y SQL7 h
- Modelo relacional: tablas, claves, relaciones, normalización básica y su lectura práctica.
- SQL de consulta: SELECT, filtros, orden, agregación y agrupamiento, funciones de fecha y de texto.
- Combinaciones: INNER, LEFT, RIGHT, FULL; errores clásicos de duplicación de filas.
- Subconsultas, CTE y funciones de ventana: ranking, acumulados, diferencias entre períodos.
- Datos sucios en la base: duplicados, nulos, inconsistencias de tipo y de codificación.
- Del SQL al DataFrame: SQLAlchemy, pandas.read_sql y el criterio de qué se resuelve en la base y qué en Python.
- Nociones de rendimiento: índices, plan de ejecución, volumen de datos.
Dónde se usaM5 y M6 (construcción de la tabla analítica), M8 (extracción de series), proyecto integrador.
Unidad 4Almacenamiento alternativo y formatos2 h
- Cuándo el modelo relacional no alcanza: volumen, esquema variable, velocidad de escritura.
- Bases orientadas a documentos (MongoDB) y de pares clave-valor (Redis): modelo de datos y consultas básicas.
- Formatos de archivo para datos: CSV, JSON, Parquet; compresión y costo de lectura.
- Consumo de datos desde APIs REST: peticiones, paginación, autenticación y límites de uso.
Dónde se usaObtención de datos del proyecto integrador.
Unidad 5Del análisis al producto mínimo2 h
- Del notebook al script y al módulo reutilizable; funciones, parámetros y pruebas mínimas.
- Compartir resultados: informe reproducible, panel simple (Streamlit o equivalente) y publicación del repositorio.
- Buenas prácticas de manejo de datos sensibles: anonimización, credenciales fuera del código, licencias de los datos.
Dónde se usaEntrega final del proyecto integrador.
Evaluación
Entrega de un repositorio propio que contenga: historial de commits significativo, entorno declarado y reproducible, un script de extracción SQL documentado y un README que permita a un tercero ejecutar el análisis. La evaluación es sobre el repositorio, no sobre un examen.
Datos de trabajo
Base relacional de la Diplomatura con datos sucios (versión en PostgreSQL o SQLite), una API pública de datos abiertos y el conjunto tabular transversal.
Bibliografía
- Chacon, S. y Straub, B. Pro Git, 2ª ed. (acceso libre).
- Beaulieu, A. (2020). Learning SQL, 3ª ed.
- Documentación oficial de Git, Docker, PostgreSQL y MongoDB.
- The Turing Way — guía de investigación reproducible (acceso libre).