Diplomado en Python y Ciencia de Datos - Online*

Este programa está orientado a entregar las competencias de programación y de manejo de datos necesarias para introducirse en las áreas de la Ciencia de Datos y Machine Learning. Al no requerir conocimientos previos de programación (se entregan en el primer curso), el diplomado está abierto no solo a personas con un background más técnico sino a todo tipo de profesionales. 


Descripción

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

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.
Prerrequisitos
  • 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).
Objetivo de aprendizaje
  • 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

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

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

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)

 

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

 

Equipo Docente

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.

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

Metodología

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.

 

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

a)              Calificación mínima de todos los cursos 4,0 en su promedio ponderado y

b)             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.

Bibliografía
  • Beaulieu, A. (2009). Aprende SQL, Anaya Multimedia-Anaya Interactiva. 2da Edición en español.
  • González, R. (2008). Python para todos. Creative Commons Reconocimiento 2.5 España. Descargable en http://mundogeek.net/tutorial-python/
  • González, P. (2014). Fundamentos de Bases de Datos con MySQL (Spanish Edition). Edición eBook Amazon Digital Services.
  • Hastie, T., Tibshirani, R., Friedman, J., The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd Ed.), Springer, 2009.
  • K. Pichara, C. Pieringuer,Advanced Computer Programming in Python, CreateSpace 2017.
  • Lukaszewski, A. (2010) MySQL for Python, Packt Publishing.
  • M. Lutz, Learning Python 5th Ed, O´Reilly 2013.
  • Tan Pang-Ning, Steinbach, M., Karpatne, A., Kumar, V. Introduction to Data Mining, 2nd Ed, Pearson 2019.
Proceso de Admisión

Las personas interesadas deberán enviar los documentos que se detallan más abajo al correo programas@ing.puc.cl.

  • Copia de carnet de identidad o DNI

-                 El postular no asegura el cupo, una vez aceptado en el programa, se debe cancelar o documentar el valor, para estar matriculado. 

“No se tramitarán postulaciones incompletas”.

El Programa se reserva el derecho de suspender la realización del diplomado si no cuenta con el mínimo de alumnos requeridos. En tal caso se devuelve a los alumnos matriculados la totalidad del dinero en un plazo aproximado de 10 días hábiles. 

A las personas matriculadas que se retiren de la actividad antes de la fecha de inicio, se les devolverá el total pagado menos el 10% del total del arancel.

* El programa se inicia con un quórum mínimo de participantes y se reserva el derecho a modificar las fechas y/o profesores, por razones de fuerza mayor.

SOLICITAR MÁS INFORMACIÓN
POSTULA AQUÍ

Mantente conectado a nuestras redes sociales