Diplomado en Programación y aplicaciones de Python
Aprende, domina y aplica Python, el lenguaje de programación más versátil del presente y futuro, utilizado como herramienta fundamental en Data Science, Machine Learning, construcción de aplicaciones con Inteligencia Artificial, interacción con la Web y en muchos otros ámbitos.
No se requiere formación previa en programación.
Antecedentes Generales
Los estudiantes 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.
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.
Desarrollar aplicaciones de mediana complejidad en Python utilizando algoritmos, procesamiento de información y librerías populares de Ciencia de Datos e Inteligencia Artificial.
Licenciatura o título profesional.
Los alumnos deben traer su propio equipo a las sesiones presenciales en las versiones que se realicen en esta modalidad y no streaming.
Contenidos del Programa
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 ejecución eficiente 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 para la resolución de problemas sencillos.
Contenidos
Módulo 1: Introducción a la programación
– Motivación: de los datos a la 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 y 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 y escribir archivos. Procesamiento de datos: carga y 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 y 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 la construcción de 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.
– Escribir una aplicación web (server side) con ayuda de un framework.
– Interactuar con una API desde un programa Python.
– Escribir una API sencilla.
Contenido
– Introducción: la Web y el protocolo HTTP.
– Contenido de las páginas con HTML y CSS.
– 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.
Cuerpo Docente
Jefe de Programa
Jaime Navón Cohen
Profesor Asociado del Departamento de Ciencia de la Computación UC
Jaime Navón Cohen
Profesor Asociado del Departamento de Ciencia de la Computación UC
Samuel Gleisner
Software Engineer en Ripley
Cristián Ruz
Profesor Asistente Adjunto, Depto. Ciencia de la Computación, Ingeniería UC
Francisco Pérez
Head of Advanced Analytics en BRAVE UP!