Todas las modalidades del programa (streaming, online y presencial) tienen el mismo valor. Además, recomendamos preguntar las condiciones de cada una al momento de matricularse.
Los participantes aprenderán a programar utilizando el lenguaje Python y a construir aplicaciones nativas y web que permitan hacer análisis o visualización de datos, o que incorporen algoritmos de inteligencia artificial. Para ello serán introducidos gradualmente en las principales librerías y herramientas del ecosistema Python.
A diferencia de otros programas en que el énfasis está en los conceptos de Ciencia de Datos e Inteligencia Artificial que se ilustran y ejemplifican con código Python, en este programa se hace hincapié en aprender y dominar la herramienta misma, ilustrando su versatilidad con aplicaciones en diversos ámbitos.
La metodología a utilizar es eminentemente práctica con abundante trabajo en el computador, siendo dictado en modalidad blended, con un primer curso online (asincrónico) y luego cuatro cursos en formato streaming (sincrónico), donde el alumno se encuentra en la misma sesión con el profesor y compañeros. Se contará además con un soporte para el alumno (materiales, asistencia, etc.) a través de Moodle.
Dirigido a:
Profesionales que desean trabajar en análisis de datos y están interesados en agregar la programación en el lenguaje Python a sus competencias laborales.
Objetivos de aprendizaje:
- Comprender el lenguaje Python y su potencial.
- Aplicar el lenguaje Python para expresar algoritmos y para leer, extraer y procesar información.
- Aplicar el código disponible en las librerías más populares a escenarios comunes de Ciencia de Datos e Inteligencia Artificial y a problemas diversos.
- Desarrollar aplicaciones de mediana complejidad nativas y web en Python.
Al final del curso podrás
- Identificar conceptos y operaciones básicas de programación, tales como variables, funciones, operadores lógicos.
- Utilizar los comandos de control de flujo y los ciclos para la dirigir y repetir eficientemente un conjunto de operaciones básicas.
- Emplear elementos básicos como tipos de archivos (.txt, csv), tipos de datos (texto, entero, decimal, listas), etc en el procesamiento de datos.
- Aplicar conceptos y herramientas básicas de programación, como lectura, escritura de archivos y edición masiva de datos, resolviendo problemas reales relacionados con el procesamiento de datos.
- Desarrollar programas en el lenguaje de programación Python que permitan resolver problemas sencillos.
Contenidos
Módulo 1: Introducción a la programación
- Motivación
• De los datos a la información
• Datos, información y programación ¿Cómo conviven hoy estos elementos en el mundo laboral?
• ¿Qué es la programación?
• Aplicaciones prácticas
• La programación en el mundo laboral y cómo debe convertirse en un hábito
- Secuencias de comandos en Python
- Operaciones básicas
- Creación y asignación de variables
- Operaciones lógicas
Módulo 2: Control de flujo
- Control de flujo:
• If
• Else
• Elif
• Uso en conjunto
- Ciclos:
• While
• For
Módulo 3: Tipos de datos y funciones
- Tipos de datos: enteros, decimales, textos y listas
- “Strings”
• ¿Qué es un string?
• Funciones básicas de un string
• Funciones avanzadas de un string
- Funciones
• ¿Qué es una función?
• ¿Por qué ocupar funciones?
• Declaración y uso de funciones
- Listas
• Creación de listas
• Obtener elementos
• Añadir elementos o quitar elementos
• Operaciones sobre listas
Módulo 4: Procesamiento de datos
- Listas de listas
- Archivos
• Cómo se interactúa con archivos y para qué sirven
• Leer archivos
• Escribir archivos
- Procesamiento de datos
• Carga masiva
• Edición masiva
• Ejemplos prácticos
Módulo 5: Diccionarios y tuplas
- Listas y listas de listas
- Manipulación de listas
- Funciones sobre listas
- Diccionarios
- Operaciones sobre diccionarios
- Aplicaciones de diccionarios
- Aplicaciones con listas y diccionarios
- Tuplas como tipo de dato inmutable
- Operaciones sobre tuplas
- Combinando listas, tuplas y diccionarios
Módulo 6: Funciones
- Concepto de función
- Definición de funciones
- Parámetros y valores de retorno
- Importación y llamado de módulos
- Invocación de funciones y scope
- Parámetros con nombre y parámetros por defecto
- Funciones recursivas
- Aplicación de funciones
Al final del curso podrás:
- Aplicar conceptos de programación orientada a objetos para construir programas de mediana complejidad.
- Diseñar un programa de modo que pueda ser extendido y modificado más adelante.
- Aplicar técnicas avanzadas del lenguaje como decoradores y generadores.
- Conocer las estructuras de datos más comunes.
- Utilizar módulos y paquetes existentes.
Contenidos
- El ciclo de desarrollo de software
- Programación orientada a objetos
- Clases, métodos y atributos
- Herencia y delegación
- Módulos y paquetes
- Manejo de errores y excepciones
- Estructuras de datos
- Los dataframes de pandas
- Decoradores y generadores
Al final del curso podrás:
- Comprender qué es una base de datos y las distintas características de los modelos de datos disponibles.
- Construir un modelo de datos relacional o un modelo de datos de documentos.
- Formular consultas SQL simples.
- Extraer información desde bases de datos relacionales y de documentos.
- Escribir programas en Python que interactúen con bases de datos.
Contenidos
- Conceptos fundamentales
- El modelo relacional
- El lenguaje de consultas estándar SQL
- Interacción con una base de datos relacional a través de la API standard de Python
- Interacción con una base de datos relacional con ayuda de un ORM: SQLAlchemy
- El modelo de documentos
- Interacción con una base de datos de documentos desde un programa Python
Al final del curso serás capaz de:
- Conocer las problemáticas y técnicas asociadas a la Ciencia de Datos y al Aprendizaje de Máquina.
- Comprender las principales librerías Python orientadas al análisis y visualización de datos.
- Aplicar las principales librerías Python orientadas al aprendizaje de máquina en set de datos reales.
- Implementar programas en Python basados en técnicas de aprendizaje de máquina.
Contenido
- Introducción al lenguaje de programación en Python y sus aplicaciones en ciencia de datos
- Análisis estadístico y representación de datos
- Librerías Python orientadas al análisis y visualización
- Extracción y almacenamiento de datos (web scraping, archivos, Json)
- Algoritmos de aprendizaje de máquina (supervisado y no supervisado) en Python
- Modelos de aprendizaje en Python
- Selección de modelos
- Librerías Python orientadas al aprendizaje de máquina
- Aplicación a problemas reales de ciencia de datos
Al final del curso podrás:
- Conocer los protocolos y estándares que gobiernan la WWW.
- Entender la arquitectura y el funcionamiento de una aplicación web.
- Escribir páginas estáticas con html y css, y una aplicación web (server side) con ayuda de un framework.
- Interactuar con una API desde un programa Python.
- Escribir una API sencilla.
- Extraer información desde páginas Web (web scrapping).
Contenido
- Introducción
- Contenido de las páginas con HTML y CSS
- El protocolo HTTP
- Arquitectura MVC de la aplicación Web
- Un framework orientado a aplicaciones (Django)
- Un framework orientado a APIS (Flask)
- Introducción a JavaScript y procesamiento en el lado del cliente
Nota: El orden de los cursos dependerá de la programación que realice la Subdirección Académica.