El procesamiento y análisis de datos es una habilidad esencial en el ejercicio profesional en cualquier campo. Su desarrollo implica una gran cantidad de tiempo y por esto se requiere el conocimiento de técnicas que aumenten su eficiencia, como buenas prácticas de manejo de datos, programación con base en código, pautas para exploración de datos por medio de gráficos y estadísticas descriptivas. Este curso ofrece a los participantes los principios y las herramientas más importantes para el procesamiento y análisis de datos con una introducción a los lenguajes de programación o paquetes estadísticos más utilizados en centros de investigación y entidades públicas y privadas, como Stata, R y Python.
Dirigido a
Profesionales de cualquier área del conocimiento interesados en el uso de técnicas computacionales para el análisis de datos. El curso es un primer acercamiento a las técnicas de programación para aquellas personas que no están familiarizadas con los lenguajes de programación. El curso ofrece a cualquier profesional la oportunidad de conocer las consideraciones fundamentales sobre los lenguajes de programación y aplicarlas en diferentes situaciones. El curso tiene un enfoque práctico para asegurar que los estudiantes adquieran los conocimientos necesarios para el análisis de cualquier tipo de información.Para este curso no se requieren conocimientos previos de programación.
Objetivos
Al final del curso, los estudiantes estarán en la capacidad de aproximarse a cualquier base de datos real, cargarla a su entorno de trabajo, hacer un procesamiento previo de limpieza y organización, e identificar y aplicar técnicas estadísticas que les permitan extraer aprendizajes útiles mediante metodologías de análisis descriptivo, correlacional y de regresión.Los estudiantes estarán en la capacidad de escoger críticamente entre diferentes herramientas computacionales para tomar una técnica estadística conocida y de manera autónoma aprender a aplicarla computacionalmente empleando los recursos disponibles con versatilidad (documentación, blogs, casos de estudio, etc).
a. Clasificar los lenguajes de programación más usados para el manejo de datos de acuerdo con sus propiedades y características generales.
b. Explorar de forma autónoma las herramientas de aprendizaje disponibles para cada lenguaje de de programación (documentación, blogs, casos de estudio, etc).
c. Desarrollar pensamiento algorítmico mediante los elementos esenciales de la programación.
d. Extraer conocimiento significativo de las bases de datos por medio de su exploración.
e. Conocer e implementar las mejores prácticas de programación que permitan el trabajo colaborativo más eficiente.
Metodología
Para este curso no se requieren conocimientos previos de programación. El curso está organizado en cinco módulos. En cada módulo los estudiantes enfrentarán un conjunto de preguntas y competencias que son usualmente requeridas en el ejercicio cotidiano del análisis de datos mediante métodos computacionales.La característica fundamental de este curso radica en que los participantes trabajarán en varios lenguajes de programación entre Stata, R y Python. Así, estos lenguajes estarán conviviendo simultáneamente durante el acercamiento a problemas similares y para el desarrollo de los objetivos de aprendizaje.
Los primeros dos módulos son contextualizadores. Estos, introducen a los estudiantes a un panorama técnico y social sobre el uso de los lenguajes de programación actualmente. También, exponen sus diferentes características, ventajas, desventajas, y sus posibilidades de aplicación en los entornos laborales.
Del tercer al quinto módulo los estudiantes recibirán una introducción a cada lenguaje de programación para el desarrollo de sus ejercicios, y elaborarán actividades que les permitan entrenar y comparar cada lenguaje de forma sistemática y acompañada. Con esto se espera formar en los participantes un pensamiento algorítmico abstracto y competencias de lectura y exploración de recursos (como las diferentes documentaciones) por encima de la memorización de la sintaxis en cada lenguaje.
Durante estos últimos tres módulos se trabajará transversalmente en las competencias de autonomía de aprendizaje. Se expondrá a los estudiantes a procedimientos teóricos y se les dará ejemplos en cada lenguaje de programación. Luego, se propondrán ejercicios con variaciones de los ejemplos mostrados que requieran la exploración individual de documentación, consulta en blogs, casos de estudio, etc.
Habrá dos tipos de sesiones para el desarrollo de los módulos. Por una parte, habrá clases magistrales que expongan los contenidos requeridos para el abordaje de las preguntas y ejercicios. Por otro lado, se ejecutarán sesiones de taller/laboratorio acompañado en los cuales los estudiantes se enfrentarán a ejercicios puntuales que les permitan aplicar activamente las herramientas de programación con objetivos concretos. Los profesores estarán presentes durante estos talleres para gestionar dudas y dificultades.
Además, se desarrollarán discusiones cortas durante las sesiones de laboratorio y magistrales que permitan compartir experiencias entre los estudiantes sobre las diferentes estrategias que emplean con cada lenguaje de programación durante los ejercicios. De esta manera, los participantes del curso desarrollarán competencias de análisis crítico sobre la utilidad y relevancia de cada una de las herramientas utilizadas en el curso para cada tipo de tarea.
Contenido
a. Módulo 1: Entendiendo los lenguajes de programación (LP) (2 horas). En este módulo los estudiantes serán capaces de responder a las preguntas: ¿Qué son los LP?, ¿Cuál es la historia de los LP?, ¿Qué tipos de LP existen?, ¿Por qué los LP son tan importantes en la actualidad? ¿Qué es un algoritmo?b. Módulo 2: Lenguajes de programación para en el análisis de datos (2 horas). En este módulo los estudiantes serán capaces de responder a las preguntas: ¿Cuáles son los principales LP usados para el análisis de datos? ¿Dónde suelen usarse cuáles lenguajes? ¿Cuáles son sus ventajas y desventajas?, ¿Cuál es el mejor LP para cada necesidad?, ¿Qué LP debo usar en mi trabajo?, ¿Qué son los scripts o bitácoras?
c. Módulo 3: Elementos esenciales en los lenguajes de programación y el análisis de datos (8 horas). En este módulo los estudiantes serán capaces de responder a las preguntas: ¿Qué son elementos mutables e inmutables?, ¿Qué es un ciclo y para qué sirve?, ¿Qué es una función?, ¿Qué son macros?, ¿Qué son los condicionales y operadores lógicos?, ¿Qué operaciones es posible realizar con los LP?, ¿Qué tipo de elementos existen en los LP? ¿Cómo organizar el código siguiendo buenas prácticas de programación? ¿Qué son las estructuras de datos? ¿Qué formas de organizar bases de datos existen?
d. Módulo 4: Aplicaciones a la limpieza y el procesamiento de bases de datos (10 horas). En este módulo los estudiantes serán capaces de responder a las preguntas: ¿Cómo cargar información en los LP?, ¿Qué formatos puedo abrir con los LP?, ¿Cómo puedo generar nuevas variables?, ¿Cómo puedo combinar bases de datos?, ¿Cómo puedo depurar bases de datos?, ¿Cómo puedo reestructurar las bases de datos?
e. Módulo 5: Aplicaciones al análisis exploratorio de bases de datos (8 horas). En este módulo los estudiantes realizarán actividades aplicadas a necesidades cotidianas relacionadas con: ¿Cómo puedo calcular estadísticas descriptivas?, ¿Cómo puedo visualizar gráficamente la información?, ¿Cómo puedo estimar regresiones? ¿Qué otras aplicaciones existen (análisis de información cartográfica, minería de texto; web scraping)?