Diplomado en Programación y Aplicaciones de Python

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


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 (los alumnos deben traer su propio equipo a las sesiones presenciales).

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.

Prerrequisitos

-                 Licenciatura o título profesional.

-                 Se recomienda buen nivel de comprensión lectora de inglés.

Objetivo de aprendizaje

-                 Conocer y comprender el lenguaje Python y su potencial.

-                 Aplicar el lenguaje Python para expresar algoritmos y para leer, extraer y procesar información.

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

-                 Desarrollar aplicaciones de mediana complejidad nativas y web en Python. 

Desglose de cursos

Nombre del curso: Introducción a la programación en Python I: Aprendiendo a programar con Python (MOOC)
Horas cronológicas: 20 hrs; Créditos: 5
Resultados de Aprendizaje

  • Instalar el entorno de desarrollo PyCharm sobre un sistema operativo.
  • Utilizar el razonamiento algorítmico para generar una solución a un problema.
  • Desarrollar programas en el lenguaje de programación Python que permitan resolver problemas sencillos.
  • Utilizar los elementos de control de flujo y estructuras del lenguaje para ordenar la ejecución de un programa.
  • Desarrollar programas que permitan procesar datos a partir de archivos.

Contenidos:

  • Introducción: la programación y los sistemas computacionales.
  • Instrucciones básicas del lenguaje Python.
  • Control de flujo.
  • Funciones.
  • Strings y archivos.
  • Listas y diccionarios.

 

Metodología de enseñanza y aprendizaje:

  • Curso online, MOOC alojado en Coursera. Incluyen clases grabadas en videos, actividades interactivas, lecturas y evaluaciones en Coursera.

 

Evaluación de los aprendizajes:

  • Evaluaciones Online (6):                                100% 

Nombre del curso: Desarrollo de Software (Python)
Horas cronológicas: 24 hrs; Créditos: 5

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.

 

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
Horas cronológicas: 24 hrs; Créditos: 5

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.

 

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
Horas cronológicas: 24 hrs; Créditos: 5

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.

 

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 Web
Horas cronológicas: 24 hrs; Créditos: 5

Resultados de Aprendizaje

  • Conocer los protocolos y estándares que gobiernan la WWW.
  • Entender la arquitectura y el funcionamiento de una aplicación web.
  • Escribir páginas estáticas con html y css, y una aplicación web (server side) con ayuda de un framework.
  • Interactuar con una API desde un programa Python.
  • Escribir una API sencilla.
  • 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%
Equipo Docente

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

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.

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

Requisitos de aprobación

Nota final:
Curso: Python, una herramienta multipropósito para el siglo 21              Aprobación
Curso: Desarrollo de Software con Python                                                   25%
Curso: Interacción con Bases de Datos                                                          25%
Curso: Aplicaciones en Ciencia de Datos e Inteligencia Artificial              25%
Curso: Python y la Web                                                                                    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.

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
  • Learning Python 5th Ed, M. Lutz, O´Reilly 2013.
  • Advanced Computer Programming in Python, K. Pichara, C. Pieringuer, CreateSpace 2017.
  • Pandas for Everyone, D. Chen, Addison Wesley Professional 2018.
  • An Introduction to Database Systems C.J. Date, Addison Wesley 2003.
  • Essential SQLAlchemy, 2nd Edition, Rick Copeland, Jason Myers, O"Reilly Media 2015.
  • MongoDB and Python, N. O´Higgins, O´Reilly 2011.
  • Data Science from Scratch: First Principles with Python, Joel Grus, O´Reilly 2015.
  • Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, Wes McKinney, O"Reilly 2017.
  • Advanced Data Analytics Using Python,Sayan Mukhopadhyay, Apress, 2018.
  • Django for beginners, W. Vincent, Independent 2018.
  • Build a Website with Django 2, N., George, Independent 2019.
  • Flask Web Development 2nd Ed, Miguel Grinberg, O´Reilly 2018.
Proceso de Admisión

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

  • Fotocopia Carnet de Identidad.
  • Fotocopia simple del Certificado de Título o del Título.
  • Curriculum Vitae actualizado.

El postular no asegura el cupo, una vez aceptado en el programa, se debe cancelar o documentar el valor, para estar matriculado.
VACANTES: 40
“No se tramitarán postulaciones incompletas.

El Programa se reserva el derecho de suspender la realización del diplomado/curso 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.

imagen
SOLICITAR MÁS INFORMACIÓN
POSTULA AQUÍ