Diplomado en Python profesional

Estudia en la Universidad Nº 1 de Latinoamérica | Pontificia Universidad Católica de Chile

Acerca del programa:

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.

Diplomado en Python Profesional

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.

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, Universidad de Chile. Profesor Asociado del Departamento de Ciencia de la Computación de la Escuela de Ingeniería UC.
linkedin

Equipo Docente

keyboard_arrow_down

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. 

Joao López Silva

B.Sc Ciencias de la Computación, Universidad Técnica Federico Santa María, Jefe de Proyectos / DevOps en Magnet SpA. 9 años de experiencia trabajando en proyectos usando Django. 

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

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; y de asignar al docente que dicta el programa según disponibilidad de los profesores.

Descripción

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.

Requisitos de Ingreso

  • Se recomienda poseer 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: https://www.hackerrank.com/prueba-programacion. 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.

Objetivos de Aprendizaje

  1. Conocer y utilizar el lenguaje Python en todo su potencial.
  2. 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.
  3. Desarrollar aplicaciones de mediana complejidad nativas y web en Python.

Metodología

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.

 Al inicio del curso se contará con una clase sincrónica en formato streaming, en que el jefe de programa o un profesor del programa, introducirán a los alumnos en las materias a abordar.

Desglose de cursos

Nombre del curso: Desarrollo de Software con Python

Nombre en inglés: Software Development with Python 

Horas cronológicas: 75 horas (35 horas directas)

Créditos: 5

Descripción del curso

El curso presenta las estructuras básicas de manejo de datos existentes en el lenguaje Python, empezando con las estructuras secuenciales como listas, tuplas y colas, para luego presentar estructuras no secuenciales como diccionarios y sets. Se analizan las ventajas y recomendaciones de uso para cada uno. Se presentan también los conceptos fundamentales de la programación orientadas a objetos que permitan a los estudiantes construir software de mediana complejidad y comprender elementos de la programación orientada a objetos como clases, atributos y métodos. Finalmente se enseña cómo usar bibliotecas existentes e integrarlas dentro de un programa principal. 

La metodología de enseñanza y aprendizaje para este curso 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 curso.

Resultados del Aprendizaje

  1. Utilizar estructuras de datos secuenciales como listas, tuplas y colas para almacenar y consultar datos.
  2.  Utilizar estructuras de datos no secuenciales como diccionarios y conjuntos.
  3.  Construir un programa utilizando los conceptos de la programación orientada a objetos.
  4. 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 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. 

Al inicio del curso se contará con una clase sincrónica en formato streaming, en que el jefe de programa o un profesor del programa, introducirán a los alumnos en las materias a abordar. 

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) 

BIBLIOGRAFÍA

  • Gonzalez, Raul, Python para todos Descargable en http://mundogeek.net/tutorial-python/ bajo licencia Creative Commons
  • Karim Pichara & Christian Pieringer. Advanced Programming in Python. Disponible en amazon. Formato: paperback de 392 páginas. ISBN-10: 1548000892. ISBN-13: 978-1548000899.

 

 

Nombre del curso: Python y bases de datos 

Nombre en inglés: Python and Databases 

Horas cronológicas: 75 horas (35 horas directas)

Créditos:

Descripción del curso

El punto de partida para el trabajo de análisis de datos es obtenerlos desde las fuentes originales. Muchas veces están disponibles en forma de datasets ya preparados y compuestos por un conjunto de archivos de texto (csv, tsv, etc); otras veces es necesario conectarse con algún motor de bases de datos (MySQL, PostgreSQL, SQLServer, etc) y extraerlos directamente desde allí. En ocasiones es necesario transformar los datos extraídos para luego volver a cargar la data ya transformada, en otro motor de bases de datos que es usado para análisis (almacén de datos o data warehouse). 

Los alumnos de este curso aprenderán los conceptos fundamentales asociados a las bases de datos, y a interactuar con un motor de bases de datos real, mediante el lenguaje standard SQL, para luego aprender cómo conectarse a un motor de bases de datos desde un programa Python para extraer y manipular la información. Finalmente, se aborda la interacción, también desde Python, con un motor de la categoría NoSQL como MongoDB o similar. 

La metodología de enseñanza y aprendizaje para este curso 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 curso. 

Resultados del Aprendizaje

  1. Al finalizar el curso el alumno será capaz de:
  2. Describir las características de una base de datos relacional y una base de documentos.
  3. Interactuar directamente con un motor de bases de datos desde la herramienta de administración.
  4. Escribir consultas simples utilizando el lenguaje SQL.
  5.  Agregar, eliminar información y formular consultas simples de una base de datos relacional mediante el lenguaje standard SQL.
  6. 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. 

BIBLIOGRAFÍA

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


 

Nombre del curso: Python para Machine Learning

Nombre en inglés: Python for Machine Learning 

Horas cronológicas: 75 horas (35 horas directas)

Créditos:

Descripción del curso

Python se ha convertido en una de las herramientas fundamentales para los profesionales de Machine Learning. En este contexto, el saber usar librerías como scikit-learn, scipy, numpy, pandas o keras, constituye una competencia básica para el desarrollo de proyectos de este tipo en el entorno empresarial. Este curso busca entregar una base de conocimiento de los fundamentos que soportan estas potentes metodologías y herramientas, potenciando significativamente al participante para enfrentar desafíos que involucran inteligencia artificial y dándole así una ventaja competitiva en el mercado laboral. 

A través de este curso, los alumnos aprenderán los conceptos fundamentales asociados de Machine Learning tanto en su versión supervisada como no supervisada. Dicho aprendizaje será acompañado mediante un conjunto de librerías de Python, las que permitirán pasar de la teoría a la implementación de forma amigable, y actualizada a las tecnologías utilizadas en el mercado.

La metodología de enseñanza y aprendizaje para este curso 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 curso. 

Resultados del Aprendizaje

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

Contenidos:

  • Conceptos fundamentales de Machine Learning.
  • 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. 

BIBLIOGRAFÍA

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


 

Nombre del curso: Python y la Web 

Nombre en inglés: Python and the Web

Horas cronológicas: 75 horas (35 horas directas)

Créditos:

Descripción del curso

En la actualidad, las tecnologías web son la base de múltiples sistemas fundamentales en el funcionamiento de nuestra sociedad. Su uso va desde la presentación de información relativamente estática, hasta aplicaciones muy complejas como motores de correo, redes sociales o sistemas de monitoreo de infraestructura crítica. En este sentido, adquirir las habilidades para desarrollar de manera satisfactoria una aplicación web se hace sumamente valioso. 

Los alumnos de este curso aprenderán los conceptos fundamentales asociados a la web, desarrollando páginas estáticas usando HTML y CSS, las que luego podrán transformar en aplicaciones web mediante el uso del lenguaje Python y el framework Django. Se abordará el uso de JavaScript para procesamiento en el lado del cliente, para finalmente aprender a consumir y desarrollar una API REST. 

La metodología de enseñanza y aprendizaje para este curso 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 curso. 

Resultados del Aprendizaje

  1. Conocer los protocolos y estándares que gobiernan la WWW.
  2. Entender la arquitectura y el funcionamiento de una aplicación web.
  3. Escribir páginas estáticas con html y css, y una aplicación web (server side) con ayuda de un framework.
  4. Procesar información en el lado del cliente usando JavaScript.
  5.  Interactuar con una API desde un programa Python.
  6. Escribir una API REST sencilla.

Contenidos:

  • Contenido de las páginas con HTML y CSS.
  • El protocolo HTTP.
  •  Arquitectura MVC/T de la aplicación Web.
  •  El framework Django: apps, representación de datos en modelos, migraciones, views, settings, templates, forms, admin.
  •   JavaScript y procesamiento en el lado del cliente.
  •  APIs REST.
  • Django REST Framework: endpoints, viewsets, documentación automática.

 BIBLIOGRAFÍA

  • González, R. (2008). Python para todos. Creative Commons Reconocimiento 2.5 España. Descargable en http://mundogeek.net/tutorial-python/
  • Duckett, J. (2014). Web Design with HTML, CSS, JavaScript and jQuery Set. Wiley, 1st edition.
  • Django Software Foundation (2019), Django Documentation. Disponible en https://docs.djangoproject.com/en/2.2/
  •  Encode (2019), Django REST Framework. Disponible en https://www.django-rest-framework.org/
  • Vincent, W. (2018). Django for Beginners: Build websites with Python and Django, Publicación independiente.
  •  Vincent, W. (2018). Django for APIs: Build web APIs with Python & Django, Publicación independiente.

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

Requisitos 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: Python y la Web:  25%

Los alumnos deberán ser aprobados de acuerdo a los siguientes criterios:

  • Calificación mínima de todos los cursos 4,0 en su promedio ponderado y
  • 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. Si el alumno reprueba alguno de los cursos del diplomado tiene la posibilidad de volver a realizarlo a la versión siguiente (2 strikes por curso). 

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. 

*En caso de que un alumno repruebe un curso perteneciente a un diplomado, en Educación Profesional Ingeniería UC ofrecemos la oportunidad de realizar un nuevo intento. Para ejercer este derecho, el alumno deberá pagar un valor de 3 UF por curso, e indicar la fecha de la versión en la que desea matricularse. La gestión debe realizarse dentro de un máximo de 2 años a contar de la fecha de inicio del diplomado original, y es factible para un máximo de 2 cursos por diplomado.

Proceso de Admisión

Las personas interesadas deberán completar la ficha de postulación que se encuentra al costado derecho de esta página web y enviar los siguientes documentos al momento de la postulación o de manera posterior a la coordinación a cargo: 

  • Fotocopia Carnet de Identidad.

Cualquier información adicional o inquietud podrás escribir al correo programas@ing.puc.cl.

VACANTES: 40

INFORMACIONES RELEVANTES

Con el objetivo de brindar las condiciones de infraestructura necesaria y la asistencia adecuada al inicio y durante las clases para personas con discapacidad: Física o motriz, Sensorial (Visual o auditiva) u otra, los invitamos a informarlo. 

  • El postular no asegura el cupo, una vez inscrito o aceptado en el programa se debe pagar el valor completo de la actividad para estar matriculado.
  • No se tramitarán postulaciones incompletas.

Puedes revisar aquí más información importante sobre el proceso de admisión y matrícula


Fechas disponibles

Los detalles del programa pueden variar en cada fecha de edición

Fecha Horario Lugar Valor
23 mayo 2023 - 23 enero 2024 Asincrónico $2.060.000 Ver más
25 julio 2023 - 21 mayo 2024 Asincrónico $2.060.000 Ver más
26 septiembre 2023 - 23 julio 2024 Asincrónico $2.060.000 Ver más
28 noviembre 2023 - 17 septiembre 2024 Asincrónico $2.060.000 Ver más

¿Te parece interesante este programa?

No