Bienvenidos ENOAN 2021

Curso Intermedio

Herramientas de productividad
para Ciencia de Datos

Juan Pablo Soto Barrera
[email protected]

Julio Waissman Vilanova
[email protected]
Universidad de Sonora

Resumen

Para desarrollar Ciencia de Datos, además de las bases teóricas (álgebra lineal, probabilidad, estadística y optimización principalmente) es necesario manejar diferentes aspectos técnicos más cercanos al procesamiento de los datos. Un tema que se le suele no dar el valor necesario es al uso de las diversas herramientas que facilitan la labor de un Científico de Datos en su trabajo del día a día. Este curso tiene como objetivo dar a conocer y enseñar los usos básicos de algunas de estas herramientas que se han vuelto fundamentales en el desarrollo de proyectos de Ciencia de Datos: Uso de contenedores, manejadores de versiones, la línea de comandos de UNIX y las libretas Jupyter como medio de investigación reproducible.


Programa del curso
  • Presentación y motivación
    1. 1. Presentación personal y presentación de los participantes
    2. 2. Presentación sobre la Ciencia de Datos y la Maestría en Ciencia de Datos
    3. 3. Motivación sobre la necesidad de conocer las herramientas de productividad
  • Docker
    1. 1. Presentación de Docker
    2. 2. Instalación de Docker, y uso de imágenes existentes en Docker Hub
    3. 3. Uso de imágenes existentes en Docker Hub

    4. 4. Personalización de imágenes
    5. 5. Contenedores funcionando en forma no interactiva
  • El bash shield y su uso básico
    1. 1. Movimiento en un sistema tipo UNIX

    2. 2. Copiar, mover y borrar archivos y directorios

    3. 3. El comando grep

    4. 4. El uso de --help, man y tldr

    5. 5. Edición de texto con cat, nano y otras herramientas
    6. 6. Descargando datos en linea de comando (curl, wget y scp)
    7. 7. El editor en streaming sed, awk y la suit csvkit para procesamiento
  • Git y GitHub
    1. 1. Presentación sobre Git e instalación

    2. 2. GitHub y creación de cuentas

    3. 3. Clonando y forkeando repositorios
    4. 4. Creación de un repositorio de uso personal en GitHub, uso básico del CLI
    5. 5. Creación de un repositorio compartido en GitHub
  • Pagina web de proyecto y pagina web personal en GitHub
    1. 1. El lenguaje de marcado Markdown
    2. 2. Generación de páginas web con plantilla preestablecida
    3. 3. Desarrollo de una página personal usando Jekyll
  • Libretass Jupyter
    1. 1. Presentación de libretas jupyter

    2. 2. Uso básico

Bibliografía

1. J. Janssens. “Data Science at the Command Line”. O’Relly, Early Release, 2021.

2. C. Newham. “Learning de Bash Shell”. O’Relly, 1995.

3. J. Loeliger y J. McCullogh. “Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development”. O’Relly, 2009

4. A. Mouat. “Using Docker: Developing and Deploying Software with Containers”. O’Relly, 2015.

Requisitos

Conocimiento básico de programación. El curso no asume muchos conocimientos previos por parte de los participantes.


Requisitos

Los participantes deben tener una computadora con permisos necesarios para instalar software a nivel administrador (Docker principalmente). En algunos con el sistema operativo Windows es necesario configurar los permisos de virtualización del BIOS. Si bien son pocos casos es necesario estar consciente de eso.