Diplomado en Python Profesional - Online*

El Diplomado online en Python Profesional tiene como propósito entregar las competencias para poder utilizar el versátil lenguaje de programación Python en aplicaciones de diverso tipo con énfasis en su potencial para la ciencia de datos y el Machine Learning.


Descripción

Los alumnos de este diplomado 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 diplomado el énfasis está en aprender y dominar la herramienta misma, ilustrando su versatilidad con aplicaciones en diversos ámbitos.

El lenguaje Python se ha transformado en una herramienta fundamental tanto para un desarrollador de software como para profesionales del área de Ciencia de Datos e Inteligencia Artificial. Este programa les permitirá adquirir las competencias necesarias para desempeñarse con éxito en el futuro en cualquiera de esos dos escenarios.

La metodología de enseñanza y aprendizaje para este diplomado online consiste en técnicas metodológicas activas, donde el participante puede interactuar con sus pares y profesor-tutor a través de los recursos tecnológicos que provee la plataforma educativa virtual provista para el diplomado.

Dirigido a

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.

Prerrequisitos

-                 Licenciatura o título profesional que incluya competencias de programación.

-                 Tener competencias de programación a un nivel intermedio en algún lenguaje. Para acreditar estas competencias, los postulantes deben aprobar una prueba de diagnóstico diseñada por el Jefe de Programa del diplomado.

Objetivo de aprendizaje

-                 Conocer y utilizar el lenguaje Python en todo 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. 

Desglose de cursos

DESGLOSE DE CURSOS
Nombre del curso: Desarrollo de Software con Python
Nombre en inglés: Software Development with Python   
Horas cronológicas: 27 hrs; Créditos: 5

Resultados de Aprendizaje

  • Utilizar estructuras de datos secuenciales como listas, tuplas y colas para almacenar y consultar datos
  • Utilizar estructuras de datos no secuenciales como diccionarios y conjuntos.
  • Construir un programa utilizando los conceptos de la programación orientada a objetos.
  • Utilizar bibliotecas existentes e integrar sus funcionalidades dentro de un programa propio. 

Contenidos:

  • 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

Metodología de enseñanza y aprendizaje:
La metodología se presenta más adelante ya que para todos los cursos es la misma

Evaluación de los aprendizajes:

  • Tres pruebas on-line, todas de igual ponderación                                      (40% en total)
  • Tres actividades de aplicación, la tercera con doble ponderación          (60% en total 

Nombre del curso: Python y Bases de Datos  
Nombre en inglés: Python and Databases   
Horas cronológicas: 27 hrs; Créditos: 5

Resultados del Aprendizaje

  • 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.
  • Agregar, eliminar información y formular consultas simples de una base de datos relacional mediante el lenguaje standard SQL.
  • Construir programas Python capaces de conectarse a un motor de bases de datos para extraer o registrar información. 

Contenidos:

  • Conceptos fundamentales de bases de datos.
  • El modelo relacional.
  • El lenguaje de consultas estándar SQL.
  • Interacción directa con una base de datos relacional usando SQL.
  • Conectores y librerías Python para trabajo con Bases de Datos relacionales.
  • Extracción directa de información desde un programa Python.
  • La librería Pandas y el concepto de Dataframe.
  • Extracción de información de mediana complejidad desde un programa Python.
  • Modificación y eliminación de información de la base de datos desde Python.
  • El modelo de documentos.
  • El formato JSON.
  • Interacción con una base de datos de documentos desde un programa Python.

Metodología de enseñanza y aprendizaje:
La metodología se presenta más adelante ya que para todos los cursos es la misma

Evaluación de los aprendizajes:

  • Tres pruebas on-line, todas de igual ponderación                                      (40% en total)
  • Tres actividades de aplicación, la tercera con doble ponderación          (60% en total) 

Nombre del curso: Python para Machine Learning
Nombre en inglés: Python for Machine Learning   
Horas cronológicas: 27 hrs; Créditos: 5

Resultados de Aprendizaje

  • Identificar, procesar y visualizar diferentes tipos de variables en una base de datos utilizando librerías de Python.
  • Diseñar e implementar modelos aprendizaje supervisado basados en regresiones.
  • Comprender aspectos formales de modelos aprendizaje supervisado tradicionales, experimentando y comparando su rendimiento.
  • Reconocer y emplear modelos de redes neuronales artificiales básicas.
  • Comprender, implementar e interpretar modelos de aprendizaje no supervisado a través de librerías de Python 

Contenidos

  • Conceptos fundamentales de Machine Learnings.
  • Análisis, procesamiento y visualización de datos a través de Python.
  • Algoritmos de aprendizaje supervisado en Python utilizando scikit-learn.
    • Regresión Lineal.
    • Regresión Logística.
    • Regresiones Polinomiales.
    • Regresiones con penalización.
    • Árboles de Decisión.
    • Random Forest.
    • Random Forest para regresiones.
    • Naive Bayes.
    • Vecino más cercano.
    • Redes Neuronales.
    • Selección de modelos.
  • Algoritmos de aprendizaje no supervisado en Python utilizando scikit-learn.
    • K-means.
    • Mezcla de Gaussianas.
    • Cluster Jerárquico.
    • Autoencoders

Metodología de enseñanza y aprendizaje:
La metodología se presenta más adelante ya que para todos los cursos es la misma

Evaluación de los aprendizajes:

  • Tres pruebas on-line, todas de igual ponderación                                      (40% en total)
  • Tres actividades de aplicación, la tercera con doble ponderación          (60% en total) 

Nombre del curso: Aplicaciones Web con Python  
Nombre en inglés: Web applications with Python   
Horas cronológicas: 27 hrs; Créditos: 5

Resultados de Aprendizaje

  • 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). 

Contenidos:

  • 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.

Metodología de enseñanza y aprendizaje:
La metodología se presenta más adelante ya que para todos los cursos es la misma.

Evaluación de los aprendizajes:

  • Tres pruebas on-line, todas de igual ponderación                                      (40% en total)
  • Tres actividades de aplicación, la tercera con doble ponderación          (60% en total) 

Metodología de enseñanza y aprendizaje:
La modalidad de capacitación es e-learning asincrónica, por lo que los participantes accederán a una plataforma educativa virtual (LMS). Las actividades se desarrollan en forma remota, lo que permite entregar flexibilidad en los horarios, de manera que cada participante pueda distribuir su tiempo y ser autónomo en su proceso de aprendizaje. No obstante, el proceso de enseñanza-aprendizaje se acompañará con un tutor, quien tendrá un rol de mediador y facilitador, ofreciendo apoyo a los participantes en aspectos técnicos y también administrativos durante la actividad de capacitación.

Respecto a las estrategias de enseñanza - aprendizaje, se utilizarán videoclases, screencast y clases interactivas para la presentación de contenidos y actividades de aplicación que serán desarrolladas a partir de cuestionarios y tareas, dirigidas a que los participantes resuelvan problemas/situaciones aplicando los conocimientos aprendidos y comprobar la comprensión de los contenidos a través de test automáticos.

Los participantes también contarán con foros abiertos de consulta, como apoyo a su proceso de aprendizaje, donde podrán interactuar con sus pares y tutor.

Nota: El orden de los cursos dependerá de la programación que realice la Dirección Académica.

BIBLIOGRAFÍA

  • Pandas for Everyone, D. Chen, Addison Wesley Professional 2018.
  • An Introduction to Database Systems C.J. Date, Addison Wesley 2003.
  • Essential SQLAlchemy, 2nd Edition, Rick Copeland, Jason Myers, O"Reilly Media 2015.
  • MongoDB and Python, N. O´Higgins, O´Reilly 2011.
  • Django for beginners, W. Vincent, Independent 2018.
  • Build a Website with Django 2, N., George, Independent 2019.
  • Flask Web Development 2nd Ed, Miguel Grinberg, O´Reilly 2018.
  • Learning Python 5th Ed, M. Lutz, O´Reilly 2013.
  • Advanced Computer Programming in Python, K. Pichara, C. Pieringuer, CreateSpace 2017.
  • González, R. (2008). Python para todos. Creative Commons Reconocimiento 2.5 España. Descargable en http://mundogeek.net/tutorial-python/
  • Beaulieu, A. (2009). Aprende SQL, Anaya Multimedia-Anaya Interactiva. 2da Edición en español.
  • González, P. (2014). Fundamentos de Bases de Datos con MySQL (Spanish Edition). Edición eBook Amazon Digital Services.
  • Lukaszewski, A. (2010) MySQL for Python, Packt Publishing.
  • Data Science from Scratch: First Principles with Python, Joel Grus, O´Reilly 2015.
  • Introduction to Machine Learning with Python, Andreas C. Müller & Sarah Guido, 2016.
  • Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, Wes McKinney, O"Reilly 2017.
  • Advanced Data Analytics Using Python,Sayan Mukhopadhyay, Apress, 2018.
Equipo Docente

JEFE DE PROGRAMA
Jaime Navón Cohen
Ph.D. Computer Science, University of North Carolina at Chapel Hill. Master of Science, Technion-Israel Institute of Technology. Ingeniero Civil Electricista, Pontificia Universidad Católica de Chile. Profesor Asociado del Departamento de Ciencia de la Computación, Pontificia Universidad Católica de Chile.

EQUIPO DOCENTE
Ignacio Becker
Ph.D. candidate in Computer Science, Pontificia Universidad Católica de Chile. Licenciado en Astronomía, Pontificia Universidad Católica de Chile.

Gabriel Dieguez
Project Manager en Magnet SPA, Magister en Ciencias de la Ingeniería, Pontificia Universidad Católica de Chile, Ingeniero Civil en Computación, Pontificia Universidad Católica de Chile. Profesor Instructor Adjunto del Departamento de Ciencia de la Computación, Pontificia Universidad Católica de Chile.

Jaime Navón Cohen
Ph.D. Computer Science, University of North Carolina at Chapel Hill. Master of Science, Technion-Israel Institute of Technology. Ingeniero Civil Electricista, Pontificia Universidad Católica de Chile. Profesor Asociado del Departamento de Ciencia de la Computación, Pontificia Universidad Católica de Chile.

Francisco Pérez
Ing. Civil Industrial, Magíster en Gestión de Operaciones U. de Talca.  Cursa el doctorado en Ciencias de Ingeniería en la PUC. Profesor part-time en la facultad de Ingeniería y en la Facultad de Economía de la U. de Talca.  Profesor asistente en las cátedras de Minería de Datos y Tópicos Avanzados de Inteligencia de Máquina en la PU.

Cristián Ruz
Docteur, Université Nice Sophia Antipolis, Magister en Ciencias de la Ingeniería, Pontificia Universidad Católica de Chile, Ingeniero Civil en Computación, Pontificia Universidad Católica de Chile. Profesor Asistente Adjunto del Departamento de Ciencia de la Computación, Pontificia Universidad Católica de Chile.

* EP (Educación Profesional) de la Escuela de Ingeniería se reserva el derecho de remplazar, en caso de fuerza mayor, a él o los profesores indicados en este programa.

Requisitos de aprobación

La Nota final del diplomado se calculará de acuerdo a la siguiente ponderación de los cursos:
Curso: Desarrollo de Software con Python                                                   25%
Curso: Python y Bases de Datos                                                                      25%
Curso: Python para Machine Learning                                                           25%
Curso: Aplicaciones Web con Python                                                            25%

Los alumnos deberán ser aprobados de acuerdo a los siguientes criterios:
a)              Calificación mínima de todos los cursos 4,0 en su promedio ponderado y
b)             75% de asistencia o cifra superior a las sesiones presenciales.
En el caso de los programas en modalidad en línea, los estudiantes tendrán que cumplir con la calificación mínima de 4.0 y con los requisitos establecidos para cada programa.
Para aprobar los programas de diplomados se requiere la aprobación de todos los cursos que lo conforman y en el caso que corresponda, de la evaluación final integrativa.
Los alumnos que aprueben las exigencias del programa recibirán un certificado de aprobación digital otorgado por la Pontificia Universidad Católica de Chile.
El alumno que no cumpla con una de estas exigencias reprueba automáticamente sin posibilidad de ningún tipo de certificación.

Proceso de Admisión

Las personas interesadas deberán enviar los documentos que se detallan más abajo al correo programas@ing.puc.cl.

  • Fotocopia Carnet de Identidad.
  • Fotocopia simple del Certificado de Título o del Título.
  • Curriculum Vitae actualizado.

-                 El postular no asegura el cupo, una vez aceptado en el programa, se debe cancelar o documentar el valor, para estar matriculado.
VACANTES: 50
“No se tramitarán postulaciones incompletas”.
El Programa se reserva el derecho de suspender la realización del curso si no cuenta con el mínimo de alumnos requeridos. En tal caso se devuelve a los alumnos matriculados la totalidad del dinero en un plazo aproximado de 10 días hábiles.
A las personas matriculadas que se retiren de la actividad antes de la fecha de inicio, se les devolverá el total pagado menos el 10% del total del arancel.

imagen
SOLICITAR MÁS INFORMACIÓN
POSTULA AQUÍ