Diplomado en desarrollo web

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

Acerca del programa:

Los participantes aprenderán los principios básicos, estándares y tecnologías en que se fundan las aplicaciones Web y a diseñar y construir dichas aplicaciones en una plataforma moderna.

Diplomado en desarrollo web UC

Dirigido a:

Profesionales y técnicos de todo tipo que solo tienen conocimientos básicos de programación y que están interesados en aprender a construir páginas y aplicaciones Web. 


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, Universidad de Chile. Profesor Asociado del Departamento de Ciencia de la Computación de la Escuela de Ingeniería UC.
linkedin

Equipo Docente

keyboard_arrow_down

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.

Jorge Araneda Flores

Ingeniero de Software UC, Lead Software Developer en Flair - Air Analytics, CTO en Acofuz SpA.

Nicolás Gómez Espejo

Ingeniero Civil en Computación de la UC y Diplomado Emprendimiento e Innovación en Salud Digital (UDD). Cuenta con más de 9 años de experiencia desarrollando aplicaciones web. Actualmente se desempeña como Senior Software Engineer en Health Carousel.

Samuel Gleisner

Licenciado en Ciencias de la Ingeniería e Ingeniero Civil en Computación de la UC. Cuenta con amplia experiencia en la industria del desarrollo, en aplicaciones web, móviles y de escritorio. Actualmente se desempeña como Software Engineer en Ripley.

* 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; y de asignar al docente que dicta el programa según disponibilidad de los profesores.

Descripción

Hoy en día la gran mayoría del software que se desarrolla para ser utilizado por particulares o empresas corresponde a la modalidad de software como servicio (SaaS) que consiste en entregar todas las funcionalidades como una aplicación Web utilizando nada más que un navegador como Chrome o Safari. Asimismo, el gran avance del comercio electrónico, acelerado en gran medida por la pandemia mundial, he hecho necesario que muchas pequeñas y medianas empresas hayan tenido que mejorar su página Web de modo de ofrecer todos sus servicios a través de ella. Como resultado existe una gran demanda por profesionales capaces de construir estas aplicaciones.

Construir una página o aplicación Web no es difícil, pero exige ser capaz de manejar varias tecnologías y entender muy bien cómo se relacionan entre ellas. En este sentido, es muy distinto a escribir una aplicación tradicional para instalar en un notebook o un computador de escritorio. Cuál es la responsabilidad de las componentes que trabajan en el navegador del usuario, cuál es la responsabilidad de las componentes que trabajan en el servidor y cómo cooperan entre ellas, son las preguntas que constituyen el foco del diseño e implementación de este tipo de aplicaciones.

En este diplomado los alumnos aprenderán primero los elementos básicos de programación, luego la forma en que se desarrolla una aplicación clásica usando un framework moderno, en que la mayor parte del trabajo es realizada en el servidor, para terminar con los aspectos más nuevos en que utilizarán JavaScript y un framework del lado del cliente (React, View u otro). El primer curso es 100% online, mientras que los otros tres que componen el Diplomado se dictarán en formato sincrónico.

Requisitos de Ingreso

  • Licenciatura o título profesional o técnico.
  • Haber cursado alguna vez un curso de programación usando algún lenguaje como Python, C#, Java, Ruby, etc. Más importante que saber el lenguaje, es ser capaz de expresar en forma algorítmica una solución. Esto debe consignarse con un certificado o venir explícito en el CV.

Objetivos de Aprendizaje

  • Identificar las bases y los estándares que sustentan a una página o aplicación Web.
  • Construir una página o aplicación clásica (server based) sencilla usando un framework moderno.
  • Escribir código JavaScript capaz de interactuar con el modelo de objetos del documento (DOM).
  • Construir una aplicación Web moderna con un framework JavaScript de componentes.

Desglose de cursos

Curso 1: Herramientas Básicas de Programación en Python

Nombre en inglés: Python programming basics.

Horas cronológicas: 35; Créditos: 5

* curso existente en modalidad online, Clase Ejecutiva.

Descripción de curso:

Este curso enseña los elementos fundamentales que permiten escribir un programa usando el lenguaje de programación Python. Gradualmente se introducen los aspectos de programación (variables, input, ciclos, funciones), junto a su realización en el lenguaje Python (control de flujo, tipos de dato, manejo de archivos, etc.).

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
  • ¿Qué es la programación?
  • 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
  • Sentencias Condicionales
  • Ciclos While y For

Módulo 3: Tipos de datos y funciones

  • Tipos de datos: Enteros, decimales, textos y listas.
  • Manejo de Strings
  • Uso de Funciones
  • Manejo de Listas

Módulo 4: Procesamiento de datos

  • Manejo de Archivos
  • Procesamiento de datos

Módulo 5: Diccionarios y Tuplas

  • Listas y listas de listas
  • Diccionarios
  • Aplicaciones de 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
  • Importación y llamado de módulos
  • Invocación de funciones y scope
  • Parámetros con nombre y parámetros por defecto
  • Funciones recursivas

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: Python y la WWW

Nombre en inglés: Python and the WWW

Horas cronológicas: 24; Créditos: 5

*Curso perteneciente al Diplomado en Programación y Aplicaciones de Python.

Descripción del curso:

Este curso enseña lo necesario para construir una aplicación Web clásica. Aunque el curso utiliza el lenguaje Python, los conceptos y técnicas son suficientemente generales como para quedar preparados para aprender rápidamente a hacerlo en otras plataformas. Aunque el énfasis está en el lado del servidor se enseñan también los elementos de HTML y CSS necesarios para la presentación en el lado del cliente.

Resultados del Aprendizaje:

  1. Identificar los protocolos y estándares que gobiernan la WWW.
  2. Reconocer la arquitectura y el funcionamiento de una aplicación web.
  3. Escribir páginas estáticas con html y css, y una aplicación web (server side) con ayuda de un framework.
  4. Interactuar con una API desde un programa Python.
  5. Escribir una API sencilla.
  6. 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:

Se trabajará con clases sincrónicas a través de la plataforma Zoom, en la que se desarrollarán tanto clases teóricas como prácticas. Se contará además con soporte de Moodle para los alumnos, desde donde podrán revisar las clases y material descargable para el curso.

  • Sesiones expositivas, donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo.
  • Ejercicios prácticos aplicando conceptos vistos en clases.

Evaluación de los aprendizajes:

  • Evaluación escrita de conceptos    20%
  • Desarrollo de tareas de programación   80%

Curso 3: JavaScript el lenguaje de la Web

Nombre en inglés: JavaScript the language of the web

Horas cronológicas: 24

Créditos: 5

Descripción del curso:

Este curso se centra en el lenguaje JavaScript como una herramienta fundamental para el desarrollo de una aplicación Web moderna. El curso incluye los aspectos del lenguaje mismo, tanto en cuanto al paradigma funcional como de objetos, programación sincrónica y asincrónica, así como también la forma de manipular el modelo de documento del navegador.  

Resultados del Aprendizaje:

  1. Diseñar programas bajo el paradigma funcional usando el lenguaje JavaScript.
  2. Escribir funciones simples en lenguaje JavaScript moderno.
  3. Escribir funciones capaces de interactuar con el código HTML y CSS del documento visualizado.
  4. Construir aplicaciones de tipo SPA sencillas ya sea independientes o que usen solo una API en el backend.

Contenidos:

  • Introducción: historia, presente y futuro
  • Variables, tipo de dato, expresiones y operadores
  • Control de flujo
  • Arrays y Strings
  • Funciones
  • Introducción al paradigma funcional
  • Objetos y clases
  • Programación asincrónica, promesas, async y await
  • El modelo de objetos del documento (DOM y WOM)
  • Operaciones de acceso y manipulación del DOM
  • Aplicación en una aplicación SPA simple

Metodología de enseñanza y aprendizaje:

Se trabajará con clases sincrónicas a través de la plataforma Zoom, en la que se desarrollarán tanto clases teóricas como prácticas. Se contará además con soporte de Moodle para los alumnos, desde donde podrán revisar las clases y material descargable para el curso.

Cada clase consta de una parte expositiva donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo con participación de los estudiantes (canal de chat o a viva voz) y una parte de taller donde se ponen en práctica los conceptos y técnicas aprendidas. En esta segunda parte los alumnos trabajan en forma independiente, pero tanto el profesor como un ayudante se mantienen atentos a resolver dudas y dificultades que pudieran aparecer.

Evaluación de los aprendizajes:

  • Evaluación escrita de conceptos    20%
  • Desarrollo de tareas de programación   80%

Curso 4: Desarrollo en base a componentes con React

Nombre en inglés: Component-Based Development with React

Horas cronológicas: 24

Créditos: 5

Descripción del curso:

En este curso se aprende a construir una aplicación Web de interfaz enriquecida mediante la utilización de un framework JavaScript del lado del cliente. Para este fin se utiliza el popular y poderoso framework de componentes REACT pero las técnicas pueden ser llevadas más adelante por el propio alumno a otros escenarios.

Resultados del Aprendizaje:

  1. Identificar los elementos fundamentales de un framework moderno del lado del cliente.
  2. Escribir aplicaciones sencillas de tipo SPA usando el framework REACT.
  3. Escribir aplicaciones REACT que requieren manejar un estado complejo.

Contenidos:

  • Frameworks JS del lado del cliente
  • Componentes REACT
  • Introducción a JSX y relación con HTML
  • Construyendo una interfaz de usuario
  • Manejo del estado
  • Props
  • Captura y manejo de eventos del usuario
  • El ciclo de vida de una componente REACT
  • Desarrollo de una aplicación SPA

Metodología de enseñanza y aprendizaje:

Se trabajará con clases sincrónicas a través de la plataforma Zoom, en la que se desarrollarán tanto clases teóricas como prácticas. Se contará además con soporte de Moodle para los alumnos, desde donde podrán revisar las clases y material descargable para el curso.

Cada clase consta de una parte expositiva donde se presentan conceptos, aspectos teóricos y aplicaciones de ejemplo con participación de los estudiantes (canal de chat o a viva voz) y una parte de taller donde se ponen en práctica los conceptos y técnicas aprendidas. En esta segunda parte los alumnos trabajan en forma independiente, pero tanto el profesor como un ayudante se mantienen atentos a resolver dudas y dificultades que pudieran aparecer.

Evaluación de los aprendizajes:

  • Evaluación escrita de conceptos    20%
  • Desarrollo de tareas de tipo práctico     80%

Curso 5: Taller de Desarrollo de Aplicaciones

Nombre en inglés: Application Development Workshop

Horas cronológicas: 24

Créditos: 5

Descripción del curso

En este curso, en formato taller, con características integradoras, se aplican los conocimientos adquiridos en el resto de los cursos del diplomado para desarrollar una aplicación web moderna. 

Resultados del Aprendizaje:

  1. Desarrollar un diseño web inicial a partir de los requerimientos solicitados
  2. Identificar la relación entre los distintos componentes de una aplicación web
  3. Diseñar un modelo de datos
  4. Diseñar los componentes del frontend
  5. Diseñar una aplicación web completa que incluye tanto frontend como backend

Contenidos:

  • Requerimientos y setting inicial
  • Diseño de la arquitectura de la aplicación
  • Diseño del modelo de datos
  • Desarrollo del frontend (Javascript + React)
  • Desarrollo del backend (Python)
  • Pruebas

Metodología de enseñanza y aprendizaje:

Se trabajará con clases sincrónicas a través de la plataforma Zoom, en la que se desarrollarán las prácticas, siempre guiadas por un docente a cargo. Los alumnos trabajarán en grupos de dos o tres alumnos. Una parte del proyecto se realiza durante el tiempo de la clase lo que es complementado por trabajo adicional de los equipos. Se contará además con soporte de Moodle para los alumnos, desde donde podrán revisar las clases y material descargable para el curso. En este curso los alumnos trabajan en forma independiente, pero docente se mantiene atento a resolver dudas y dificultades que pudieran aparecer y entregas las pautas para organizar el trabajo.

Evaluación de los aprendizajes:

  • Nota de avance 1                            50%
  • Nota de avance 2                            50%

Requisitos Aprobación

Se espera un cálculo de la nota final del diplomado o curso. En el caso de los diplomados se deberá informar la ponderación de cada curso.

  • Curso: Herramientas Básicas de Programación en Python – 20%
  • Curso: Python y la WWW – 20%
  • Curso: JavaScript el lenguaje de la Web – 20%
  • Curso: Desarrollo en base a componentes con React – 20%
  • Curso: Taller de Desarrollo web 20%

Los alumnos deberán ser aprobados de acuerdo los criterios que establezca la unidad académica:

  • Calificación mínima de todos los cursos 4,0 en su promedio ponderado y
  • 75% de conexión o cifra superior a las sesiones sincrónicas.

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.

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.

*En caso de que un alumno repruebe un curso perteneciente a un diplomado, en Educación Profesional Ingeniería UC ofrecemos la oportunidad de realizar un nuevo intento. Para ejercer este derecho, 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, y es factible para un máximo de 2 cursos por diplomado.

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.
  • 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: 40

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