Diplomado en Desarrollo Web
¡Prepárate para la creciente demanda de profesionales capaces de construir aplicaciones Web para empresas y particulares!
Este diplomado aborda los elementos básicos de programación, luego la forma en que se desarrolla una aplicación clásica usando un framework moderno, y finalmente, los aspectos más nuevos en que utilizarán JavaScript y un framework del lado del cliente (React, Vue u otro).
Dirigido a profesionales y técnicos de cualquier sector que tengan conocimientos básicos de programación y quieran aprender a construir páginas y aplicaciones Web.
Antecedentes Generales
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, Vue u otro). El primer curso es en modalidad online mixta, mientras que los otros tres que componen el Diplomado se dictarán en formato sincrónico.
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.
Construir aplicaciones web «full stack» incluyendo el desarrollo tanto el lado del servidor como del lado del cliente en base a una arquitectura de componentes.
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.
Contenidos del Programa
Al final del curso podrás:
– 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:
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.
Control de flujo: Control de flujo: If, Else, Elif, uso en conjunto. Ciclos: While, For.
Tipos de datos y funciones: Tipos de datos: enteros, decimales, textos y listas. Strings: ¿qué es un string?, funciones básicas y 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.
Procesamiento de datos: Listas de listas. Archivos: cómo se interactúa con archivos y para qué sirven, leer y escribir archivos. Procesamiento de datos: carga y edición masiva, ejemplos prácticos.
Diccionarios y tuplas: Listas y listas de listas. Manipulación de listas. Funciones sobre listas. Diccionarios. Operaciones y aplicaciones de diccionarios. Aplicaciones con listas y diccionarios. Tuplas como tipo de dato inmutable. Operaciones sobre tuplas. Combinando listas, tuplas y diccionarios.
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.
Al final del curso podrás:
– Identificar los protocolos y estándares que gobiernan la WWW.
– Reconocer 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.
Al final del curso podrás:
– Diseñar programas bajo el paradigma funcional usando el lenguaje JavaScript.
– Escribir funciones simples en lenguaje JavaScript moderno.
– Escribir funciones capaces de interactuar con el código HTML y CSS del documento visualizado.
– 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.
Al final del curso podrás:
– Identificar los elementos fundamentales de un framework moderno del lado del cliente.
– Escribir aplicaciones sencillas de tipo SPA usando el framework REACT.
– 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.
Al final del curso podrás:
– Desarrollar un diseño web inicial a partir de los requerimientos solicitados.
– Identificar la relación entre los distintos componentes de una aplicación web.
– Diseñar un modelo de datos.
– Diseñar los componentes del frontend.
– 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.
Cuerpo Docente
Jefe de Programa
Jaime Navón Cohen
Profesor Asociado del Departamento de Ciencia de la Computación UC
Jorge Araneda Flores
CTO en Acofuz
Samuel Gleisner
Software Engineer en Ripley
Nicolás Gómez Espejo
Senior Software Engineer en Health Carousel
Jaime Navón Cohen
Profesor Asociado del Departamento de Ciencia de la Computación UC