Diplomado en Python y ciencia de datos

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

Acerca del programa:

Diplomado en Python y ciencia de datos Enseña 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.

Diplomado en Python y ciencia de datos UC

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

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

Equipo Docente

keyboard_arrow_down

Mauricio Arriagada Benítez

Doctor en Ciencia de la Ingeniería, Pontificia Universidad Católica de Chile, Master en Ciencias de la Ingeniería de la Pontificia Universidad Católica de Chile, Ingeniero Civil en Computación e Informática, Universidad de Tarapacá, Chile. Master in Computer Science, University of Northern Iowa – USA. Master en Ingeniería de Software, 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.

Antonio Ossa Guerra

Ingeniero Civil de Industrias con Diploma en Ingeniería de Computación UC, Magíster en Ciencia de la Computación UC. Ingeniero en Machine Learning de PhageLab.

* 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

Python se ha convertido en la herramienta fundamental para los profesionales que trabajan en Ciencia de Datos e Inteligencia Artificial. Hay muchos programas de Ciencia de Datos en que o bien se da por sentado que uno sabe Python, o que lo aprenderá al mismo tiempo que aprende los contenidos del programa. Este diplomado ofrece un camino distinto: dedicar todo el esfuerzo al comienzo en aprender a usar este lenguaje, partiendo desde cero, para luego aprender la forma en que se interactúa con bases de datos, y finalmente cómo se le puede sacar el máximo partido en el contexto de Ciencia de Datos.

Este enfoque tiene dos ventajas importantes. Primero, que entrega las competencias necesarias para usar Python más adelante en otros escenarios y áreas de aplicación y, segundo, que no exige al estudiante el tener que aprender Python al mismo tiempo que las técnicas y los algoritmos.

El formato del Diplomado en Python y Ciencia de Datos 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

  • 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

  1. Escribir programas de mediana complejidad usando el lenguaje Python.
  2. Interactuar con un motor de bases datos desde un programa Python.
  3. Diseñar y construir soluciones de ciencia de datos y Machine Learning usando las librerías disponibles en Python.

Desglose de cursos

Estructura curricular Diplomado en Python y Ciencia de Datos UC

Curso 1: Herramientas básicas de programación en Python

Nombre en inglés: Python programming basics.

Horas Totales: 75 horas (35 horas directas)

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 del 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)

 

Curso 2: Desarrollo de Software con Python 

Nombre en inglés: Software Development with Python  

Horas Totales: 75 horas (35 horas directas)

Descripción del curso

El curso comienza con una breve presentación de la sintaxis y tipos básicos, para posteriormente presentar 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:

  • Introducción al lenguaje de programación Python y su sintaxis.
  • 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 profesor a cargo de la impartición introducirá a los alumnos en las materias a abordar en el curso.

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)

 

Curso 3: Python y bases de datos

Nombre en inglés: Python and Databases  

Horas Totales: 75 horas (35 horas directas) 

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

Curso 4: Introducción a minería de datos y Machine Learning

Nombre en inglés: Introduction to Data Mining and Machine Learning  

Horas Totales: 75 horas (35 horas directas)

Descripción del curso

El curso comienza con la problemática de obtención, preparación y limpieza de los datos para pasar luego a las técnicas y algoritmos asociados a la minería de datos para clasificación, clustering, etc. además de algoritmos, técnicas y herramientas de machine learning.

Los alumnos de en este curso aprenderán los conceptos fundamentales asociados a Minería de Datos, entendiendo cuáles son las diferentes fuentes de información a utilizar, revisar un pre procesamiento de datos, y posteriormente entender y aplicar las diferentes técnicas de extracción de conocimiento de datos utilizando reglas de asociación, árboles de decisión, métodos de regresión, algoritmos de clasificación, evaluación de clasificadores y una introducción al aprendizaje de máquina.

El enfoque del curso es de tipo práctico, con oportunidades de aplicar los conocimientos en proyectos y casos concretos. Se entregan herramientas de extracción y análisis de información para que una organización pueda generar valor desde los datos para mejorar su posición competitiva.

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 y comprender las principales teorías y prácticas de la emergente área de Minería de Datos
  2. Aplicar reglas de asociación para encontrar relaciones en un set de transacciones.
  3. 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.
  4. 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 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)

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: 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

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: Ilimitados

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?

No