Diplomado en Programación y Aplicaciones de Python

Estudia en la Universidad N°1 de habla hispana en Latinoamérica 2024 por QS World University Rankings

Acerca del programa:

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.

Diplomado UC en Programación y Aplicaciones de Python

Dirigido a:

  • Profesionales que de alguna manera trabajan o proyectan trabajar en análisis de datos y que estén interesados en agregar la programación en el lenguaje Python a sus competencias laborales.

Jefe de Programa

Jaime Navón

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.

Jaime Navón

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 Galarce

Ph.D (c) en Ciencias de la Computación, Pontificia Universidad Católica de Chile. Magíster en Gestión de Operaciones e Ingeniero Civil Industrial, Universidad de Talca. Profesor Adjunto de Educación Profesional UC, Escuela de Ingeniería, Pontificia Universidad Católica de Chile.

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.

Descripción

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 el énfasis está 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) en 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.

Requisitos de Ingreso

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

Objetivos de Aprendizaje

  1. Comprender el lenguaje Python y su potencial.
  2. Aplicar el lenguaje Python para expresar algoritmos y para leer, extraer y procesar información.
  3. 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.
  4. Desarrollar aplicaciones de mediana complejidad nativas y web en Python. 

Desglose de cursos

Nombre del curso: Herramientas Básicas de Programación en Python

Nombre en inglés: Python programming basics. 

Horas cronológicas: 35; Créditos: 5 

Resultados de Aprendizaje

  1. Identificar conceptos y operaciones básicas de programación, tales como variables, funciones, operadores lógicos.
  2. Utilizar los comandos de control de flujo y los ciclos para la dirigir y repetir eficientemente un conjunto de operaciones básicas.
  3. Emplear elementos básicos como tipos de archivos (.txt, csv), tipos de datos (texto, entero, decimal, listas), etc en el procesamiento de datos.
  4. 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.
  5.  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

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)

 

Nombre del curso: Desarrollo de Software (Python) 

Nombre en inglés: Software Development (Python)  

Horas cronológicas: 24; Créditos: 5

 Resultados de Aprendizaje

  1. Aplicar conceptos de programación orientada a objetos para construir programas de mediana complejidad.
  2. Diseñar un programa de modo que pueda ser extendido y modificado más adelante.
  3. Aplicar técnicas avanzadas del lenguaje como decoradores y generadores.
  4. Conocer las estructuras de datos más comunes.
  5. 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.

 

Metodología de enseñanza y aprendizaje:

Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.

  • Ejercicios prácticos aplicando conceptos vistos en clases.
    • 25% Clases expositivas
    • 75% Clases prácticas

 Evaluación de los aprendizajes:

  • Evaluación escrita de conceptos                             20%
  • Desarrollo de tareas de programación                   80%

 

Nombre del curso: Interacción con Bases de Datos

Nombre en inglés: Database Interaction

Horas cronológicas: 24; Créditos: 5

 Resultados de Aprendizaje

  1. Comprender qué es una base de datos y las distintas características de los modelos de datos disponibles.
  2. Construir un modelo de datos relacional o un modelo de datos de documentos.
  3. Formular consultas SQL simples.
  4. Extraer información desde bases de datos relacionales y de documentos.
  5. 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.

 Metodología de enseñanza y aprendizaje:

  • Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.
  • Ejercicios prácticos aplicando conceptos vistos en clases.
    • 40% Clases expositivas
    • 60% Clases prácticas

Evaluación de los aprendizajes:

  • Evaluación escrita de conceptos                 20%
  • Desarrollo de tareas de programación      80%

 

Nombre del curso: Aplicaciones en Ciencia de Datos e Inteligencia Artificial

Nombre en inglés: Data Science and Artificial Intelligencia Applications 

Horas cronológicas: 24; Créditos: 5

Resultados de Aprendizaje

  1. Conocer las problemáticas y técnicas asociadas a la Ciencia de Datos y al Aprendizaje de Máquina.
  2. Comprender las principales librerías Python orientadas al análisis y visualización de datos.
  3. Aplicar las principales librerías Python orientadas al aprendizaje de máquina en set de datos reales.
  4. Implementar programas en Python basados en técnicas de aprendizaje de máquina.

 Contenidos:

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

 Metodología de enseñanza y aprendizaje:

  • Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.
  • Ejercicios prácticos aplicando conceptos vistos en clases.
    • 40% Clases expositivas
    • 60% Clases prácticas

 Evaluación de los aprendizajes:

  • Evaluación escrita de conceptos                 20%
  • Desarrollo de tareas de programación      80%

 

Nombre del curso: Python y la WWW

Nombre en inglés: Python and the WWW 

Horas cronológicas: 24; Créditos: 5

Resultados de 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. Interactuar con una API desde un programa Python.
  5. Escribir una API sencilla.
  6. 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:

  • Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.
  • Ejercicios prácticos aplicando conceptos vistos en clases.
    • 40% Clases expositivas
    • 60% Clases prácticas

 Evaluación de los aprendizajes:

  • Evaluación escrita de conceptos                 20%
  • Desarrollo de tareas de programación      80%


BIBLIOGRAFÍA

1.     Learning Python 5th Ed, M. Lutz, O´Reilly 2013.

2.     Advanced Computer Programming in Python, K. Pichara, C. Pieringuer, CreateSpace 2017.

3.     Pandas for Everyone, D. Chen, Addison Wesley Professional 2018.

4.     An Introduction to Database Systems C.J. Date, Addison Wesley 2003.

5.     Essential SQLAlchemy, 2nd Edition, Rick Copeland, Jason Myers, O'Reilly Media 2015.

6.     MongoDB and Python, N. O´Higgins, O´Reilly 2011.

7.     Data Science from Scratch: First Principles with Python, Joel Grus, O´Reilly 2015.

8.     Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, Wes McKinney, O'Reilly 2017.

9.     Advanced Data Analytics Using Python,Sayan Mukhopadhyay, Apress, 2018.

10. Django for beginners, W. Vincent, Independent 2018.

11. Build a Website with Django 2, N., George, Independent 2019.

12. Flask Web Development 2nd Ed, Miguel Grinberg, O´Reilly 2018.


Requisitos Aprobación

Nota final:

  • Curso: Herramientas Básicas de Programación en Python :20%
  • Curso: Desarrollo de Software con Python: 20%
  • Curso: Interacción con Bases de Datos:20%
  • Curso: Aplicaciones en Ciencia de Datos e Inteligencia Artificial:  20%
  • Curso: Python y la WWW :  20%

 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 conexión, o cifra superior, a las sesiones presenciales o sincrónicas.

 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, por cualquier motivo, no se cumplan los objetivos de aprendizaje de un curso y el alumno repruebe, 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. Esta gestión debe realizarse dentro de un máximo de 2 años, a contar del inicio del Diplomado cursado originalmente.

 

 

 

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.

·        Fotocopia simple del Certificado de Título

·        Curriculum Vitae actualizado.

El postulante será contactado, para asistir a una entrevista personal (si corresponde) con el Jefe de Programa del Diplomado o su Coordinadora Académica. Catalina Lavín al correo calavinv@ing.puc.cl

VACANTES: 50

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
28 mayo 2024 - 10 diciembre 2024 Martes y Jueves de 18:30 a 21:45 horas $1.900.000 Ver más

¿Te parece interesante este programa?

No