Programación Python para el Análisis y Ciencia de Datos

Requisitos Técnicos Modalidad Presencial Remoto

  • El estudiante debe contar con computadora (Laptop o Escritorio) en buen estado (audífonos con micrófono son deseables).
    • Ubicación dentro del hogar idónea para recibir la clase.
    • Estar siempre atento a la clase, evitar distracciones, evitar un ambiente muy ruidoso.
    • El estudiante coordinará con el profesor unos días antes de iniciar el curso para probar las herramientas de conferencia. Y acepta comunicarse vía WhatsApp con el profesor para consultas.
    • La herramienta para las conferencias la suministra gratis el ICAI
  • El estudiante debe poseer conexión a internet mínimo de 5mbits
  • La computadora del estudiante debe contar además con:

Perfil de ingreso (Requisitos):

  • Tener aprobado el curso de Programación Python Básico.
  • Personas con conocimientos básico en programación, rutinas de programación y conocimiento básico en el uso de alguno de los lenguajes de programación (C, C++, Pascal, C#, VB#, PHP, Cobol, Lisp, Prolog).

Perfil de salida:

Al finalizar el curso los estudiantes podrán:

  • Icrementar el conocimiento las principales características de un lenguaje orientado a objetos, específicamente el lenguaje Python.
  • Reconocer y utilizar las principales bibliotecas del lenguaje Python para el tratamiento de datos utilizando las técnicas recomendadas.
  • Plantear soluciones algorítmicas o problemas reales en el contexto analítico de datos o de índole estadístico.
  • Utilizar las principales habilidades para la ciencia de datos mediante el lenguaje Python.

Descripción del curso:

Python es un lenguaje multiplataforma que permite mayor facilidad legibilidad, coherencia y con los mayores estándares de calidad realizar aplicaciones para todo tipo de entornos, para web, bases de datos, dispositivos móviles, aplicaciones de escritorio, servidor, con amplio soporte de módulos externos que enriquecen el conjunto de herramientas disponibles. Este curso cubre los aspectos de más impacto en el lenguaje de programación Python, enfatizando en la gestión de tareas en el área de análisis de datos para la toma de decisiones en el ambiente organizacional. Constituye la base para cualquier participante que requiera iniciar o afinar los conceptos fundamentales en el mundo de los datos en Python para finalmente ser utilizada en ambientes diversos.

Certificado: Al finalizar el curso se le entregará un certificado de aprovechamiento emitido por la Universidad Nacional y reconocido por el MEP y el Servicio Civil, esto si la nota final es igual o mayor a 80 y asistió al 90% del curso.

Total de Horas: 60 (divididas entre presenciales y extra clase)

Metodología del curso:

Se propone como metodología las clases presenciales y demostraciones prácticas del tema, acompañadas con ejercicios dentro y fuera de clase, desarrollados en grupos y/o de forma individual, se promueve la investigación, la lectura y la solución a problemas, que permitan al estudiante el acercamiento de los temas con la realidad del entorno, y a su vez generar aportes a su propio aprendizaje. De igual forma se promueve la participación activa del estudiante mediante su presentación en público e intercambio de ideas, fomentando la retroalimentación y la asimilación de conceptos importantes.

También se pretende que el estudiante sea creativo en idear y formular conjuntamente con el profesor y compañeros actividades varias, donde se dé a conocer el quehacer de la carrera y del curso.

 

Objetivo General

Al final de este curso el estudiante estará en capacidad de plantear y diseñar soluciones algorítmicas a problemas computacionales desde la perspectiva de análisis de datos como herramienta al dominio de la ciencia de datos utilizando habilidades avanzadas de desarrollo en el lenguaje de Python.

Objetivos Específicos

  • Reconocer las principales estrategias de gestión de datos mediante el lenguaje Python, así como de utilizar sus principales elementos para la solución de problemas de análisis.
  • Analizar, diseñar y desarrollar soluciones algorítmicas a problemas computacionales en el entorno de la toma de decisiones basados en datos. 
  • Plantear, diseñar y probar soluciones computacionales a situaciones reales basadas en la legibilidad y facilidad de mantenimiento de código.
  • Conocer las bibliotecas más comunes para la manipulación de la información y su integración de componentes.
  • Conocer y programar aplicaciones para la gestión de información y su tratamiento para obtener valor agregado como gestión de bases de datos y tratamiento estadístico.
  • Ejecutar estrategias de implementación y depuración de soluciones en Python. 

Contenidos:

1. Introdución del lenguaje Python, IPython y Jupyter Notebook

2. Estructuras de datos, funciones y tratamiento de Archivos

  • Estructuras de datos avanzadas para ciencias de datos
  • Uso avanzado de funciones en contexto de datos
  • Tratamiento de archivos y fuentes de datos

3. Numpy básico: arreglos y computación vectorizada

  • Operaciones matemáticas usando Numpy
  • Creación de arrays para el tratamiento numérico
  • Algoritmos utilizando estructuras de Numpy

4. Introdución a Pandas: Módulo para análisis de datos

  • El dataframe y series. Creación y gestión
  • El operaciones y funcionamiento de las estructuras de Pandas
  • Consulta de registros en Pandas

5. Carga de datos, almanecenamiento y formatos de archivos

  • Introducción a la carga de datos
  • Fuentes de almacenamiento
  • Gestión de datos locales, web, cloud y bases de datos

6. Preparación de datos

  • Lectura de datos
  • Limpieza de datos: información relevante
  • Optimización de filtros

7. Transformación de datos: Alineamiento, operación entre tablas y reconfiguración

  • Definición de transformación de datos
  • Aplicación de funciones en forma tabular
  • Funciones de agrupamiento
  • Generación de reportes tabulares
  • Unión de tablas
  • Reordenamiento de colecciones

8. Creación de gráficos y Visualización

  • Introducción de gráficos estadísticos
  • Generación de reportes gráficos
  • Gráficos dinámicos

9. Agregación de datos y operaciones de grupos

  • Agrupamiento por dimensiones
  • Agrupamiento por métricas
  • Agrupamiento personalizado

10. Gestión de series de tiempo

  • Generación de colecciones temporales
  • Filtrado de datos por fechas y rangos de tiempo

11. Pandas avanzado

  • Funciones por ventanas ante funciones
  • Cambio de dimensiones and broadcasting

12. Introdución a blibliotecas de Modelaje estadístico en Python

  • Introducción scipy y scikit-learn.
  • Personificación de gráficos

13. Biblioteca NumPy avanzado

  • Algoritmos avanzados
  • Opmitización de procesos

14. Estudio de casos de análisis de datos

  • Interpretación estadística
  • Implementación de casos de estudio

Reglamento de asistencia:

  • La asistencia a clases es obligatoria.
  • Se permite únicamente la ausencia justificada a 2 lecciones, la ausencia a 3 lecciones implica la pérdida del curso sin derecho a ningún tipo de certificado.
  • Las justificaciones deben de ser por escrito y entregadas de manera presencial al instructor.
  • La nota mínima de aprobación del curso es de 70.
  • Para optar por el certificado de participación deben haber realizado todas las prácticas, tanto por sesión como generales del curso.
  • Para optar por el certificado de aprovechamiento deben haber cumplido con la totalidad del curso y haber aprobado con la nota mínima de 70.
  • Si el estudiante no asiste el día del examen final práctico o teórico, es necesario que presente el comprobante respectivo (médico o de trabajo).

Información sobre devoluciones, congelamientos y cambios del curso

  • Únicamente se le reintegrará al estudiante el 100% del pago del curso, cuando no tuvo apertura por falta de cupo.
  • El estudiante podrá hacer cambio de horario de grupo únicamente la primera semana de clases.
  • El estudiante podrá congelar el pago del curso en la primera semana de clases.