Acerca del programa:
Programación y manejo de datos para introducirse en las áreas de la Ciencia de Datos y Machine Learning utilizando Python.
Python es un lenguaje versátil y con una enorme capacidad de lograr cualquier objetivo propuesto, gracias a la existencia de un sinfín de librerías abiertas en la Web.
Abierto a todo tipo de profesionales pues no requiere conocimientos previos de programación (se entregan en el primer curso).
La metodología online consiste en herramientas 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.

Dirigido a:
- Todas las personas que necesiten o estén interesadas en adquirir las habilidades para aplicar técnicas de ciencia de datos a su trabajo.
- Todas las personas que necesiten o estén interesadas en aprender a programar usando el lenguaje Python y aplicarlo a la extracción y análisis de datos.
Jefe de Programa

Jaime Navón Cohen
Equipo Docente
keyboard_arrow_downEQUIPO DOCENTE
Mauricio Arriagada
Doctor en Ciencias de la Ingeniería, Pontificia Universidad Católica de Chile. Master in Computer Science, University of Northern Iowa (USA). Master en Ingeniería de Software e Ingeniero Civil en Computación e Informática, Universidad de Tarapacá (Chile).
Valeria Herskovic
Ingeniero Civil en Computación, y Doctora en Ciencias, mención Computación, Universidad de Chile. Actualmente se desempeña como profesora asistente del Departamento de Ciencia de la Computación UC, realizando investigación en el área de Sistemas Colaborativos y Computación centrada en las personas. El año 2014 obtuvo el Premio de Excelencia en Docencia de la Escuela de Ingeniería UC, y ha dictado cursos introductorios de programación por más de 10 años.
Jorge Muñoz-Gama
Ingeniero Informático y Master en Computación por la Universitat Politècnica de Catalunya, recibió el grado de Doctor en Computación con distinción Cum Laude y mención internacional en la misma universidad. Nacido en Barcelona, actualmente se desempeña como profesor del Departamento de Ciencia de la Computación UC, realizando docencia e investigación en las áreas de Process Mining y Process Oriented Data Science. Autor del libro "Conformance Checking and Diagnosis in Process Mining", en 2015 recibió el premio IEEE Best Dissertation on Process Mining.
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.
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
keyboard_arrow_downPython es el equivalente a la navaja suiza de los profesionales que deben trabajar con datos. La versatilidad del lenguaje Python combinada con la existencia de librerías que permiten interactuar con bases de datos de todo tipo y sacar partido de estos datos para encontrar patrones o predecir lo que sucederá en el futuro, lo han convertido en una herramienta indispensable para los profesionales que deben trabajar con datos.
Este diplomado entrega sólidas competencias en el uso del lenguaje Python, en especial en aplicaciones para extraer y analizar datos. El programa consta de dos cursos orientados a generar competencias de programación en el lenguaje Python, y dos cursos orientados a aprender a utilizar este lenguaje y las librerías asociadas para interactuar con bases de datos para extraer información y luego analizarla usando técnicas y algoritmos de ciencia de datos y Machine Learning.
La metodología de enseñanza y aprendizaje para este diploma 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.
Requisitos de Ingreso
keyboard_arrow_down- No tiene requisitos académicos.
- Se recomienda dos años de experiencia laboral.
- Es deseable contar con algún grado de conocimiento matemático (algebra lineal, estadística básica y cálculo).
Objetivos de Aprendizaje
keyboard_arrow_down- Escribir programas de mediana complejidad usando el lenguaje Python.
- Interactuar con un motor de bases datos desde un programa Python.
- Diseñar y construir soluciones de ciencia de datos y Machine Learning usando las librerías disponibles en Python.
Desglose de cursos
keyboard_arrow_downNombre 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
- 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
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 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: Desarrollo de Software con Python
Nombre en inglés: Software Development with Python
Horas cronológicas: 35; 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: 35; 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.
- 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: Introducción a Minería de Datos y Machine Learning
Nombre en inglés: Introduction to Data Mining and Machine Learning
Horas cronológicas: 35; Créditos: 5
Resultados de Aprendizaje
- Conocer y comprender las principales teorías y prácticas de la emergente área de Minería de Datos.
- Aplicar reglas de asociación para encontrar relaciones en un set de transacciones.
- Desarrollar soluciones a problemas reales de Big Data y ciencia de datos que involucren la necesidad de técnicas de Minería de Datos como árboles de decisión y clustering.
- Implementar soluciones usando herramientas de software de Minería de Datos aplicándolas en datos reales.
Contenidos:
- Conceptos fundamentales de Minería de Datos.
- Preparación de datos y reducción de información.
- Reglas de Asociación.
- Algoritmos de Clasificación.
- Algoritmos de Clustering y medidas de similaridad.
- Selección de modelos e Introducción a Machine Learning.
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.
Al inicio de cada 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.
Nota: El orden de los cursos dependerá de la programación que realice la Dirección Académica
Requisitos Aprobación
keyboard_arrow_downLa Nota final del diplomado se calculará de acuerdo a la siguiente ponderación de los cursos:
- Curso: Herramientas Básicas de Programación en Python 25%
- Curso: Desarrollo de Software con Python 25%
- Curso: Python y Bases de Datos 25%
- Curso: Introducción a Minería de Datos y Machine Learning 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.
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
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.
El postulante será contactado, para asistir a una entrevista personal (si corresponde) con el Jefe de Programa del Diplomado o su Coordinadora Académica. 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.