M3 · Fundamentos y herramientas

Herramientas Informáticas

20 horas40 % sincrónicoAbril – Mayo5 unidades
Objetivos

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.

Distribución de las 20 horas del módulo por unidad. Tocá una unidad para ir a sus contenidos.

Contenidos

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.
PrácticaNotebook / práctica 1: cada estudiante crea el repositorio de su proyecto integrador y realiza un ciclo completo de rama, cambio, pull request y fusión con un compañero.

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.
PrácticaPráctica 2: contenerización de un análisis simple y verificación de que otro estudiante puede ejecutarlo sin intervención.

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.
PrácticaPráctica 3: sobre una base relacional real con datos sucios, construcción de la tabla analítica que se usará como insumo en M5.

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.
PrácticaPráctica 4: ingesta de datos desde una API pública, almacenamiento en formato columnar y comparación de tiempos de lectura frente a CSV.

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.
PrácticaPráctica 5: publicación del repositorio del proyecto con README, entorno declarado y un panel o informe reproducible.

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).