Diplomado en Python profesional (online)
Aprende a programar con el versátil lenguaje Python, utilizado en aplicaciones de diversos tipos, con énfasis en Ciencia de Datos y Machine Learning.
Podrás construir aplicaciones nativas y Web para analizar o visualizar datos, incorporando algoritmos de inteligencia artificial, convirtiéndote en un profesional altamente demandado en diversos sectores e industrias.
La metodología online consiste en técnicas metodológicas activas, donde el participante puede interactuar con sus pares y profesor-tutor a través de las herramientas que provee la plataforma educativa virtual.
Antecedentes Generales
Los participantes del Diplomado en Python Profesional aprenderán a programar utilizando el lenguaje Python y a construir aplicaciones nativas y aplicaciones web que permitan hacer análisis o visualización de datos, o que incorporen algoritmos de inteligencia artificial. Para ello, conocerán algunas de las principales librerías y herramientas del ecosistema Python.
En este diplomado, el acento está en aprender y dominar la herramienta misma, mostrando su versatilidad con aplicaciones en diversos ámbitos, 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 en el lenguaje Python. La pertinencia de este programa se basa en que el lenguaje Python profesional se ha transformado en una herramienta fundamental, tanto para los desarrolladores de software, como para profesionales del área de ciencia de datos e inteligencia artificial.
El formato del Diplomado en Python Profesional es 100% en línea y se estructura sobre cuatro cursos que utilizan técnicas metodológicas activas. Gracias a estas últimas, el participante puede interactuar con sus pares y profesor-tutor a través de los recursos tecnológicos que provee la plataforma educativa virtual.
Desarrolladores u otros profesionales que deseen agregar el lenguaje Python a su arsenal de herramientas en todo su potencial.
Profesionales que trabajan en aplicaciones del área de ciencia de datos y que no tienen una formación muy fuerte en programación, que necesitan potenciar su trabajo con datos.
Aplicar el lenguaje Python en forma amplia y transversal incluyendo la interacción con motores de bases de datos, las aplicaciones Web y el desarrollo de soluciones con inteligencia artificial.
Se recomienda una licenciatura o título profesional que incluya competencias de programación
Se recomienda tener competencias de programación a un nivel intermedio en algún lenguaje. Para evaluar sus competencias, puede realizar este test opcional gratuito. Es importante que, si está muy lejos de lograr el puntaje máximo, o está teniendo muchas dificultades, ejercite sus habilidades de programación antes del inicio del programa.
Contenidos del Programa
Al final del curso podrás:
– Utilizar las estructuras de datos secuenciales y no secuenciales más adecuadas en cada caso.
– Construir un programa utilizando los conceptos de la programación orientada a objetos.
– Incorporar funcionalidades disponibles en bibliotecas existentes a un programa propio.
Contenidos:
– Introducción al lenguaje de programación Python y su sintaxis.
– Estructuras de datos secuenciales: listas, tuplas, colas.
– Estructuras de datos no secuenciales: diccionarios y sets.
– Clases, objetos, atributos y métodos.
– Interacción entre objetos.
– Uso de módulos y bibliotecas existentes.
Al final del curso podrás:
– Describir las características de una base de datos relacional y una base de documentos.
– Interactuar directamente con un motor de bases de datos desde la herramienta de administración.
– Escribir consultas simples utilizando el lenguaje SQL.
– Formular consultas simples de una base de datos relacional mediante el lenguaje standard SQL.
– Construir programas Python que se conecten a un motor de bases de datos información.
Contenidos:
Conceptos y familiarización con ambiente de trabajo
– Conceptos fundamentales de bases de datos. El modelo relacional. MySQL desde el Workbench.
Crear una BD simple con solo dos tablas y poblarla con información
– Introducción al lenguaje SQL. Creación de una base de datos desde Python. Tablas y tipos de datos. Creación de tablas desde Python. Agregar y eliminar información a una tabla desde Python.
SQL y Dataframes
– Introducción a Pandas y Dataframes. SQL joins. Transacciones en bases de datos. Eliminación y modificación de filas en una tabla.
Extracción de información más sofisticada de la BD con consultas más complejas y trabajo con Dataframes
– Operaciones de conjunto y cláusulas de agrupación. Ordenamiento y agrupación. Carga de contenido csv desde una API Web. Procesamiento de un archivo en formato csv.
Bases de datos NoSQL de documentos, MongoDB y JSON
– Bases de datos NoSQL. Introducción a MongoDB. El formato JSON. MongoDB desde Python.
Extraer y procesar información JSON desde una BD MongoDB y desde una API en la Web y procesarla con un programa Python
– Conectando con MongoDB. Interactuando con el motor MongoDB desde un programa. Procesamiento de JSON desde Python. Extracción de JSON desde una API Web.
Al final del curso podrás:
– Comprender aspectos formales de modelos de aprendizaje supervisado tradicionales, experimentando y comparando su rendimiento.
– Visualizar diferentes tipos de variables en una base de datos utilizando librerías de Python.
– Emplear modelos de redes neuronales artificiales básicas.
– Diseñar modelos de aprendizaje supervisado basados en regresiones.
– Implementar modelos de aprendizaje no supervisado a través de librerías de Python.
Contenidos:
Introducción al aprendizaje de máquinas con Python
– Introducción al aprendizaje de máquina. Tipos de problemas en aprendizaje de máquina.
Preprocesamiento de datos con Python
– Introducción a librerías del ecosistema de Data Science. Tipos de variables. Análisis descriptivo de variables. Transformación y visualización de variables. Imputación de datos.
Regresiones
– Aprendizaje supervisado. Regresión lineal. Regresiones polinomiales. Regresión con penalización. Regresión logística.
Aprendizaje supervisado
– Naive Bayes. Evaluación de clasificadores. Árboles de decisión. Random Forest y Random Forest para regresión.
Redes neuronales
– Introducción a las redes neuronales artificiales. Tecnologías para desarrollo de redes neuronales artificiales. Redes neuronales artificiales.
Aprendizaje no supervisado
– Aprendizaje no supervisado. K-Means. Cluster jerárquico. Evaluación de clusters. Reducción de dimensionalidad.
Al final del curso podrás:
– Identificar los protocolos y estándares que rigen la World Wide Web (WWW).
– Reconocer la arquitectura y el funcionamiento de una aplicación web.
– Escribir páginas estáticas con HTML y CSS, así como el desarrollo de una aplicación web (en el lado del servidor) con la ayuda de un framework.
– Procesar información en el lado del cliente mediante el uso de JavaScript.
– Interactuar con una interfaz de programación de aplicaciones (API) desde un programa en Python.
– Desarrollar una interfaz de programación de aplicaciones (API REST) sencilla usando HTML, CSS, JavaScript y Python.
Contenidos:
Introducción a la Web
– ¿Qué es la web? El protocolo HTTP. Estructura de las páginas con HTML. Estilo de las páginas con CSS.
Arquitectura de una Aplicación Web e Introducción a Django
– Arquitectura MVC de la Web. Introducción e instalación de Django. Creación de un proyecto Django. El archivo settings.
El framework Django
– Modelos y migraciones. Views. Templates. Forms. Admins.
Procesamiento en el cliente con JavaScript en Django
– Routing. Django Shell. El lenguaje JavaScript. Manipulación del DOM y eventos. JavaScript en Django: un ejemplo de validación en el cliente.
APIs REST
– Introducción a las APIs REST. Obtener información desde una API. Modificar información a través de una API. Setup para consumir una API. Setup de Django REST Framework.
APIs REST en Django: REST Framework
– Serializers. Viewsets y paginación. Routing de la API. Probando nuestra API y documentación automática. Consumiendo nuestra API para mejorar nuestra aplicación.
Cuerpo Docente
Jefe de Programa
Jaime Navón Cohen
Profesor Asociado del Departamento de Ciencia de la Computación UC
Gabriel Diéguez
Project Manager en Magnet SPA
Jaime Navón Cohen
Profesor Asociado del Departamento de Ciencia de la Computación UC
Joao López Silva
Jefe de Proyectos / DevOps en Magnet SpA
Francisco Pérez
Head of Advanced Analytics en BRAVE UP!
Antonio Ossa Guerra
Ingeniero en Machine Learning de PhageLab