Acerca del programa:
El Diplomado en Programación y aplicaciones de Python está dirigido a personas que quieren adquirir competencias para utilizar el lenguaje de programación Python como herramienta fundamental para analizar datos, interactuar con la web o construir aplicaciones con inteligencia artificial. No se requiere formación previa en programación.

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
Equipo Docente
keyboard_arrow_downJaime 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.
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.
Samuel Gleisner
Licenciado en Ciencias de la Ingeniería e Ingeniero Civil en Computación, UC. Amplia experiencia en la industria del desarrollo, en aplicaciones web, móviles y de escritorio. Actualmente se desempeña como Software Engineer en Ripley.
Francisco Pérez
Ph.D. (c) Ciencias de la Computación, Pontificia Universidad Católica de Chile. Magíster en Gestión de Operaciones e Ingeniero Civil Industrial de la Universidad de Talca.
* 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
keyboard_arrow_downLos 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 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
keyboard_arrow_down- 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
keyboard_arrow_downDesarrollar aplicaciones de mediana complejidad en Python utilizando algoritmos, procesamiento de información y librerías populares de Ciencia de Datos e Inteligencia Artificial.
Desglose de cursos
keyboard_arrow_downCurso: Herramientas básicas de programación en Python
keyboard_arrow_downDocente(s): Jaime Navón
Unidad academica responsable: Escuela de Ingeniería
Requisitos: Sin Prerrequisitos
Créditos: 4
Horas totales: 75 | Horas directas: 35 | Horas indirectas: 40
Descripción del curso
Quienes trabajan en Ciencia de Datos saben que el manejo de la programación en lenguaje Python es una necesidad. Pero este lenguaje puede ser usado no solo en ese dominio sino como una herramienta multipropósito general. En este curso aprenderás a plantear la solución de un problema en términos algorítmicos y a expresarlo mediante este lenguaje de programación usando entre otros variables, control de flujo, estructuras de datos y funciones.
Al finalizar el curso, serás capaz de desarrollar tus propios programas en Python y de seguir explorando para construir nuevos programas y cada vez más complejos. Este curso es el primer paso para convertirte en un/a profesional con habilidades básicas de programación.
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 de aprendizaje
- 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 dirigir y repetir eficientemente un conjunto 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 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
- Control de Flujo:
- 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
Estrategias metodológicas
- Aprendizaje autónomo asincrónico estructurado en 6 módulos
- Clases expositivas
- Foros
- Estudio de caso
Estrategias evaluativas
- 3 controles individuales sobre los contenidos del curso - 13,3% (c/u). Total = 40%.
- 3 miniproyectos: Miniproyecto 1: se pondrán en práctica los conceptos de: control de flujo, manejo de strings y recepción de input. - 15%. Miniproyecto 2: se pondrán en práctica los conceptos de programación en Python con listas y funciones. - 15%. Miniproyecto 3: se pondrán en práctica el concepto de programación en Python referida a diccionarios, funciones y archivos. - 30%. Total = 60%.
Curso: Desarrollo de Software (Python)
keyboard_arrow_downDocente(s): Cristián Ruz
Unidad academica responsable: Escuela de Ingeniería
Requisitos: Sin Prerrequisitos
Créditos: 3
Horas totales: 48 | Horas directas: 24 | Horas indirectas: 24
Descripción del curso
Este curso entrega habilidades de programación de un nivel intermedio con el lenguaje Python incluyendo los conceptos fundamentales de la programación orientadas a objetos . Se estudian primero las estructuras básicas de manejo de datos existentes del lenguaje para luego presentar estructuras no secuenciales mas complejas desde una perspectiva de las ventajas y recomendaciones de uso para cada uno. Finalmente se introduce al alumno en el uso de bibliotecas existentes.
Resultados de aprendizaje
- Aplicar conceptos de programación orientada a objetos para construir 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.
Estrategias metodológicas:
- Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.
- Ejercicios prácticos aplicando conceptos vistos en clases.
- Clases expositivas
- Clases prácticas
Estrategias evaluativas:
- Evaluación escrita de conceptos - 20%
- Desarrollo de tareas de programación - 80%
Curso: Interacción con bases de datos
keyboard_arrow_downDocente(s): Jaime Navón
Unidad academica responsable: Escuela de Ingeniería
Requisitos: Sin Prerrequisitos
Créditos: 3
Horas totales: 48 | Horas directas: 24 | Horas indirectas: 24
Descripción del curso
En este curso se estudian 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.
Resultados de aprendizaje
- 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.
Estrategias metodológicas:
- Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.
- Ejercicios prácticos aplicando conceptos vistos en clases.
- Clases expositivas
- Clases prácticas
Estrategias evaluativas:
- Evaluación escrita de conceptos - 20%
- Desarrollo de tareas de programación - 80%
Curso: Aplicaciones en ciencia de datos e inteligencia artificial
keyboard_arrow_downDocente(s): Francisco Pérez
Unidad academica responsable: Escuela de Ingeniería
Requisitos: Sin Prerrequisitos
Créditos: 3
Horas totales: 48 | Horas directas: 24 | Horas indirectas: 24
Descripción del curso
Python se ha convertido en una de las herramientas fundamentales para los profesionales que trabajan en Ciencia de Datos. Este curso entrega los conocimientos fundamentales de aprendizaje de máquina y las habilidades para utilizar algunas de las librerías mas relevantes que se usan en este contexto.
Resultados de aprendizaje
- 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.
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.
Estrategias metodológicas:
- Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.
- Ejercicios prácticos aplicando conceptos vistos en clases.
- Clases expositivas
- Clases prácticas
Estrategias evaluativas:
- Evaluación escrita de conceptos - 20%
- Desarrollo de tareas de programación - 80%
Requisitos Aprobación
keyboard_arrow_downLos cursos que componen el Diplomado tienen la siguiente ponderación:
- 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 los siguientes criterios:
- Calificación mínima de todos los cursos 4.0 en su promedio ponderado.
- Asistencia mínima de 75% a las sesiones
El alumno que no cumpla con estas exigencias reprueba automáticamente sin posibilidad de ningún tipo de certificación.
- Los resultados de las evaluaciones serán expresados en notas, en escala de 1,0 a 7,0 con un decimal, sin perjuicio que la Unidad pueda aplicar otra escala adicional.
- Para aprobar un Diplomado, se requiere la aprobación de todos los cursos que lo conforman y, en los casos que corresponda, de otros requisitos que indique el programa académico.
- El estudiante será reprobado en un curso o actividad del Programa cuando hubiere obtenido como nota final una calificación inferior a cuatro (4,0).
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.
*En caso de que un alumno repruebe uno o máximo dos cursos pertenecientes a un Diplomado, Educación Profesional Ingeniería UC ofrece la oportunidad de realizarlos en una siguiente versión del mismo programa. Para ello, 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. El estudiante debe considerar que de existir un cambio en la estructura curricular de su Diplomado que implique nuevos cursos, tendrá que realizarlos pagando un valor de 3 UF, además del que reprobó. Esto no obliga a la Universidad a dictar nuevamente el programa.
Proceso de Admisión
keyboard_arrow_downLas 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.
Cualquier información adicional o inquietud podrás escribir al correo programas@ing.puc.cl
VACANTES: 45
INFORMACIÓN RELEVANTE
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
¿Te parece interesante este programa?
Sí No