Máster en Full Stack Web Development

Full Stack Web Development

El Máster en Full Stack Web Development nace a raíz de la unión entre la amplia experiencia en formación e investigación, en el ámbito de la tecnología, que caracteriza a la UPC, avalada por el reconocimiento y las acreditaciones que posee, tanto a nivel nacional como internacional; y, la experiencia en formación online, con foco tecnológico y de negocios, de OBS.

El Máster en Full Stack Web Development está pensado para desarrolladores web que quieren obtener una visión integral de todo el proceso de desarrollo; profesionales expertos en UX/UI que quieren adquirir una nueva perspectiva en relación al desarrollo web; licenciados y graduados en ingenierías técnicas que quieren dedicarse al desarrollo web. En el Máster, los/las estudiantes profundizarán en cuatro grandes bloques:

  • Bloque I. Diseño web centrado en el usuario.
  • Bloque II. Front-End Development.
  • Bloque III. Back-End Development.
  • Bloque IV. Testing, Securización y DevOps

Es importante destacar que el carácter eminentemente práctico del programa permite al estudiante aplicar, de manera inmediata, los conocimientos adquiridos durante el máster.

Objetivos del programa

Ante el nuevo paradigma laboral, las empresas están orientando sus procesos hacia el cliente, adaptándolos con el fin de dar respuestas más rápidas y así evitar la obsolescencia de los productos.

En este contexto, el Máster en Full Stack Web Development ofrece, al/la estudiante, una visión integrada del proceso de desarrollo de una aplicación web, desde el diseño UX/UI, hasta el Front-End y Back-End.

Objetivo general

El Máster en Full Stack Web Development tiene como objetivo general ofrecer una visión integral de todo el proceso de desarrollo de una aplicación web, desde el análisis de los requerimientos de los usuarios hasta el monitoreo de la misma.

Objetivos específicos

El plan de estudios del Máster en Full Stack Web Development está diseñado para alcanzar, entre otros, los siguientes objetivos específicos:

  • Conocer los conceptos elementales referentes al desarrollo Full Stack.
  • Adentrarse en configuraciones de entorno, herramientas de desarrollo y Control de Versiones.
  • Identificar las necesidades y requerimientos funcionales de los usuarios.
  • Conocer metodologías modernas dentro del ciclo de vida Software.
  • Dominar el lenguaje de programación Javascript/Typescript y su aplicación en los diferentes Stacks.
  • Conocer las diferentes tecnologías y lenguajes vinculados al Front-End Development.
  • Introducirse en los diferentes frameworks de desarrollo Front-End, conocer el estado actual y formarse en frameworks orientados a componentes.
  • Determinar los principios básicos vinculados al diseño de la arquitectura de servidores.
  • Conocer e implementar los diferentes sistemas de gestión de bases de datos, como MySQL y Mongo DB.
  • Introducirse en el concepto de “Serverless” y las diferentes opciones que ofrecen las principales compañías de IaaS.
  • Formarse en conceptos de Testing y Desarrollo Seguro.
  • Introducir nociones orientadas a la Integración Continua, Despliegue Continuo y Monitorización.

Salidas profesionales

Una vez finalizado el programa, los estudiantes podrán ocupar posiciones como:

  • Full Stack Developer.
  • Desarrollador Front-End.
  • Desarrollador Back-End.
  • Gestor de proyectos.
  • Agile Coach.
  • Tech Lead.

Full Stack Web Development

BLOQUE I. Fundamentos de desarrollo web

Curso nivelador Full Stack Web Development

Los/las estudiantes dan inicio al Máster en Full Stack Web Development con este curso nivelador que los/las introduce en el Full Stack Development, a la vez que les proporciona los conocimientos técnicos necesarios para poder seguir adecuadamente el programa. En este curso, los/las estudiantes encontrarán recursos materiales que les permitirán profundizar en diferentes temas y realizarán exámenes tipo test que les servirán como guía para la evaluación de sus conocimientos. Concretamente, algunos de los temas que se abordarán son:

  • Instalación de herramientas requeridas.
  • Gestión de dependencias.
  • Editores de texto.
  • Introducción al control de versiones.
  • Gestores de paquetes.
  • Diferentes entornos de desarrollo.
  • Ciclo de vida del software.

Módulo 1. Introducción a Javascript/Typescript

Durante este módulo se introducirán, al/la alumno/a, los lenguajes que se emplearán a lo largo del Máster: Javascript y Typescript. Al ser Typescript un superconjunto del primero, se introducirán conceptos con ejemplos en ambos lenguajes y posteriormente características exclusivas de Typescript.

  • Introducción al análisis de requerimientos: proceso y definiciones clave.
  • Técnicas de recolección de datos.
  • Análisis de los datos.
  • Planificación y fijación de objetivos.

Módulo 2. Diseño: UX y UI

En este módulo, los/las estudiantes verán de forma integrada todo el proceso vinculado al diseño UX, UI y de interacción, con el fin de establecer las características de la aplicación, servicio o sitio web que debe ser desarrollado durante las fases posteriores. Algunos de los temas que se verán en éste son:

  • Variables, tipos y built-in methods.
  • Control de flujo.
  • Funciones.
  • Scope.
  • Interators.
  • Clases y objetos.
  • Módulos.
  • Async/Await. Promesas.

Módulo 3. Metodología y gestión de proyectos

En este módulo, los/las alumnos/as adquirirán una visión íntegra de las principales metodologías y procesos vinculados a la gestión de proyectos. Así, el/la alumno/a verá temas como:

  • Agile: Scrum y Kanban.
  • Épicas, User Stories y Criterios de Aceptación.
  • Sprints.
  • Revisión de código.
  • Git y Gitflow.
  • Buenas prácticas de documentación.

BLOQUE II. Front-End Development

Módulo 4. Front-End principales tecnologías: HTML/CSS/Javascript

En este módulo, los/las alumnos/as profundizarán en el proceso vinculado al desarrollo web, se hará una introducción acerca del funcionamiento de las webs, la renderización de páginas en los navegadores y el paso de prototipos a maquetado web.

  • Introdución a UX, UI e IxD.
  • La estructura web: HTML y el DOM.
  • El diseño y formato web: CSS.
  • Funcionalidad de los elementos web: Javascript.
  • Interacción entre los lenguajes HTML/ CSS/Javascript.
  • Maquetación Web.
  • Flexbox, CSS Grid.
  • Diseño para múltiples dispositivos.

Módulo 5. Front-End Frameworks

A lo largo de este módulo, los/las alumnos/as incidirán en el uso de los frameworks como espacio de trabajo, verán las ventajas que les proporciona el uso de los mismos durante el proceso de desarrollo web, así como conocerán de forma práctica los principales frameworks que imperan en el Front-End Development. Algunos de los temas que se abordarán son:

  • Definición y beneficios de frameworks para el desarrollo web.
  • Gestión de paquetes y NPM.
  • Desarrollo orientado a componentes.
  • DOM vs Shadow DOM vs Virtual DOM.
  • React:
  • Componentes y props.
  • Hooks.
  • Contexto y estado.
  • Networking y navegación.

BLOQUE III. Back-End Development

Módulo 6. Arquitectura de servidores

Es imprescindible tener una visión clara de la estructura de un servidor y todos los elementos que lo componen para tener una base sólida en el Desarrollo Full Stack. Es por ello que en este módulo se presentan todos los conceptos asociados a la creación de un servicio en NodeJS como son:

  • Gestión de paquetes (II).
  • Arquitectura de servidores.
  • Patrones asíncronos: Callbacks, Promises y Async/Await.
  • Event loop/ Event emitter.
  • Buffer y Streams.
  • Sistema de ficheros.
  • Módulos Web.
  • Introducción a Express.
  • RESTul API y OpenAPI.
  • Logs y autenticación.

Módulo 7. Gestión de bases de datos

Conocer los diferentes lenguajes de programación y frameworks es esencial para un Back-End Developer, pero también lo es saber gestionar e implementar diferentes bases de datos, ya que cada aplicación, servicio y sitio web requiere de un sistema de persistencia de datos. El objetivo de este módulo es proporcionar, a los/las alumnos/as, los conocimientos necesarios sobre gestión de bases de datos, así como introducirle las principales tecnologías. Algunos de los temas que se verán son:

  • Conceptos básicos de gestión de bases de datos.
    • CRUD
    • Data Modeling
    • ACID
  • Creación de bases de datos e inserción de datos.
  • Bases de datos no relacionales: Mongo DB.
  • Bases de datos relacionales: MySQL.

Módulo 8. Infraestructuras en la nube

Cada vez es más normal que un desarrollo software se mueva a la nube, ya que proporciona múltiples ventajas frente a un despliegue tradicional como abstracción de la infraestructura, rápido escalado vertical y horizontal y aprovisionamientos y despliegues automáticos. En esta asignatura el/la alumno/a verá información acerca de:

  • Introducción a IaaS.
  • Principales servicios que aportan las IaaS:
    • Máquinas virtuales.
    • Contenedores y registro de contenedores.
    • Funciones Cloud.
    • Control de redes.
  • Introducción a BaaS.
  • AWS Amplify vs Firebase.

BLOQUE IV. Testing, Securización y DevOps

Módulo 9. Principios del Testing y Seguridad

Un desarrollo software sin una buena planificación de seguridad y una batería de tests que comprueben el correcto funcionamiento del producto es muy probable que tenga problemas una vez se realice el despliegue en producción. Estos problemas se pueden traducir en pequeños bugs en el comportamiento o en grandes fallos del comportamiento de nuestra página, que puede traducirse en cuantiosas pérdidas para nuestra empresa. Para profundizar en este tema, este módulo tratará temas como:

  • Test Driven Development.
  • Test Unitarios.
  • Test Funcionales.
  • Test de Integración.
  • Mock Data.
  • Desarrollo seguro.
  • Principales vulnerabilidades web.

Módulo 10. Introducción a Contenedores y Orquestación

Cada vez es más frecuente que los Contenedores sean un componente fundamental en el desarrollo software. La capacidad de crear entornos de producción auto contenidos que funcionen de forma indistinta al entorno donde se despliegan y que tengan mecanismos de gestión sencillos han hecho que sea cada vez más imprescindible conocer estas tecnologías. En éste módulo los/las alumnos/as verán los siguientes conceptos:

  • Máquinas Virtuales.
  • Contenedores.
  • Docker y Docker Compose.
  • Orquestación de contenedores.
  • Configuración y aprovisionamiento.

Módulo 11. Integración Continua, Despliegue Continuo y Monitorización

En el ámbito del desarrollo software, es cada vez más común emplear técnicas que favorezcan la comunicación entre desarrolladores y profesionales de las operaciones de IT. Es por ello que cada vez es más común usar nuevos métodos y técnicas que garanticen la máxima calidad del software y eviten riesgos o costes superfluos atacando la manera de desarrollar y desplegar el producto. Los/as alumnos/as de este módulo trabajarán los siguientes temas:

  • Introducción a CI/CD/CD.
    • CI: Build, Test, Merge.
    • CD: Despliegue al repositorio.
    • CD: Despliegue a producción.
  • Automatización con Jenkins.
  • Monitorización.

 

PROYECTO FINAL DE MÁSTER

Durante el Proyecto Final de Máster (PFM), el estudiante trabajará mano a mano con una empresa real en el desarrollo de un proyecto.  Éste tendrá la opción de realizarlo para su propia empresa o bien escoger entre las opciones planteadas por la escuela.

 

Talleres

Durante el Máster en Full Stack Web Development, el/la estudiante tendrá la oportunidad de realizar 2 talleres prácticos.

Taller 1. Taller transversal: Proyecto Web

En este taller se aplicarán todos los conocimientos impartidos en las asignaturas para crear un proyecto web desde su fase inicial, siguiendo todas las etapas del ciclo de vida del desarrollo software.

Taller 2. Soft Skills para el Full Stack Developer

En este taller, los/las alumnos/as desarrollarán de la mano de un docente las soft skills más valoradas en los profesionales que ocupan posiciones de full stack developer. 

 

Herramientas

A lo largo del programa los estudiantes utilizarán, entre otras, las siguientes herramientas:

Visual Studio Code

Editor de Código gratuito, creado y mantenido por Microsoft. Este IDE incluye una serie de características muy útiles para el desarrollador Full Stack como soporte para debug, resaltado de sintaxis, auto-completado de código, múltiples plugins… Además tiene soporte multiplataforma para Windows, Linux y macOS

Git / Github

Git es un sistema de versionado para monitorizar cambios en el código fuente dentro del desarrollo software. Por otro lado, Github es una corporación que ofrece hosting para desarrollo software y control de versiones.

Javascript / Typescript

Javascript es un lenguaje de programación que conforma la especificación ECMAScript. Junto con HTML y CSS es una de las tecnologías fundamentales de la World Wide Web, y la mayoría de navegadores web lo soportan. Typescript por otro lado es un superconjunto sintáctico de Javascript que aporta mejoras como el fuerte tipado.

HTML y CSS

Es el lenguaje marcado usado para la elaboración de páginas web. Es un estándar que se apoya en el CSS (Cascading Style Sheet) y Javascript para el Desarrollo Web.

React

Librería open-source para el Desarrollo front-end. Se caracteriza por estar orientado al desarrollo de componentes y ser muy rápido gracias a su DOM Virtual.

NodeJS

Es un Proyecto open-source, multi-plataforma, orientado al Backend implementado con Javascript. Este entorno en tiempo de ejecución permite ejecutar JavaScript fuera del navegador, muy útil para servicios web.

MongoDB

Sistema de Base de Datos no relacionales orientadas a documentos y de código abierto. En lugar de tablas, MongoDB guarda BSON (similares a los JSON).

AWS  / AWS Amplify

Amazon Web Service es una infraestructura de Amazon que facilita plataformas y APIs para usuarios con los que se paga por los recursos que se están utilizando.

NPM

Gestor de paquetes para Javascript. Permite mantener y controlar las versiones de todas las dependencias de un proyecto.

Jest

Framework Javascript dedicado al testing. Se caracteriza por estar orientado a la simplicidad, funcionando en pocos minutos en cualquier proyecto.

Docker

Plataforma que permite Virtualización a nivel de Sistema Operativo a través de paquetes Software llamados Contenedores.

Kubernetes

Herramienta Open-Source dedicada a la orquestación de Contenedores, automatizando el proceso de despliegue, escalado y mantenimiento.

Google Analytics

Página web de analíticas ofrecida por Google que permite monitorizar distintos aspectos de una web.

Jenkins

Herramienta Open-Source y gratuita que permite la automatización de procesos dentro del desarrollo software.

Metodología

STUDENT ON

 

Una metodología donde el core es el estudiante. Un estudiante conectado siempre con la actualidad, líder del mundo empresarial y en constante búsqueda de la excelencia. Un estudiante activo y conectado para crecer e inspirar a la sociedad.

Siempre avalado por docentes practitioners de prestigio internacional, que comparten sus conocimientos y experiencia, impulsando el desarrollo profesional del estudiante. Con un método ágil, flexible y colaborativo que permite la conciliación de la vida laboral y personal.

Esta metodología se basa en un modelo pedagógico innovador que permite a los alumnos aprender en un entorno 100% online simulando el complejo mundo profesional que afrontan  día a día dentro de las empresas. La didáctica se focaliza en la realización de diferentes módulos consecutivos que abordan las diversas asignaturas del plan de estudios para poder avanzar en el proceso de aprendizaje de una manera flexible y organizada.

Una de las bases principales que hace posible el proceso de aprendizaje de STUDENT ON es el claustro docente de OBS Business School. Formado por profesores practitioners de prestigio, con perfil internacional, innovador, en activo, con amplia experiencia en su sector y conocedores del mercado actual y de las innovaciones tecnológicas.

STUDENT ON tiene como pilar fundamental al alumno. Es por ello, que desde OBS Business School se realiza un seguimiento personalizado durante todo el curso académico en el que los estudiantes podrán contar con el apoyo de su Program Manager, una figura académica que acompaña al alumno durante toda su formación.

Este método ofrece una experiencia educativa única y diferente que proporciona la asimilación de conocimientos de una forma práctica. Se simulan situaciones de la vida empresarial real relacionadas con el mundo laboral en las que se desarrollarán: capacidades directivas, de liderazgo y de trabajo en equipo. Un método de gestión de habilidades y competencias personales y profesionales en management a través de diferentes elementos de aprendizaje (consultar los elementos específicos del máster en el plan de estudios):

  • CASE STUDIES: Se estudian y analizan situaciones reales del entorno empresarial para que los alumnos puedan aplicar todos los conocimientos adquiridos en la toma de decisiones.
  • TALLERES DE DESARROLLO DE HABILIDADES: Se realizan talleres en los que los alumnos descubren y desarrollan las diferentes habilidades que poseen tanto a nivel comunicativo, como directivo o de negociación para su crecimiento profesional. Algunos de los workshops que se hacen son: mindfulness y gestión del estrés, competencias directivas, habilidades y competencias coaching, storytelling y comunicación corporativa, desarrollo directivo, comunicación efectiva, habilidades y técnicas de negociación, coaching aplicado a la CEM: empatía, etc.
  • DEBATES: Además de potenciar sus habilidades profesionales, los estudiantes desarrollan su pensamiento crítico a través de la participación en debates de calidad. En ellos, se potencian las sinergias entre los diferentes conocimientos y experiencias de los alumnos y docentes.
  • SIMULADORES: Uso de programas y herramientas que recrean de manera real situaciones empresariales para poder valorar las consecuencias de la toma de decisiones y los resultados de las mismas. 
  • SOFTWARES: Los conocimientos tratados en los diferentes Másters se ponen en práctica mediante el uso de diferentes softwares destacados en el mundo empresarial.
  • TRABAJO FINAL DE MÁSTER / BUSINESS PLAN: Todos los alumnos de OBS realizan el Trabajo de Final de Máster dentro del marco de una empresa real y actual, mediante el cual culminan su proceso de aprendizaje aplicando todos los conocimientos adquiridos.

Director del Programa del Máster en Full Stack Web Development

Lucas Fernández

  • Desarrollador e investigador de herramientas de ciberseguridad y de aplicaciones de machine learning en Telefónica.
  • Máster en Seguridad de la Información por la Universidad Europea de Madrid.
  • Grado en Ingeniería Informática por la Universidad de Alcalá de Henares.

Claustro de Profesores

Enrique Blanco

  • IT developer en Telefónica.
  • Tiene experiencia en proyectos internacionales de Data Science e Ingeniería de Sistemas dentro del sector aeroespacial.
  • Está involucrado en proyectos de investigación en Synergic Partners.
  • Licenciado en Ciencias Físicas por la Universidad Complutense.
  • Máster en Astrofísica por la Universidad Complutense.

Santiago Hernández Ramos

  • Security Architect en BBVA.
  • Máster en Seguridad de la Información de la Universidad Europea.
  • Docente en múltiples universidades en el ámbito de la Seguridad y Arquitectura.
  • Ponente en diversas conferencias a nivel nacional de Seguridad.

Josué Encinar García

  • Red Team en Telefónica.
  • Máster en Seguridad de la Información de la Universidad Europea.
  • Ha desarrollado múltiples herramientas orientadas a la seguridad Open Source.

Javier Gutiérrez Navío

  • Senior Security Analyst en Deloitte.
  • Grado en Ingeniería Informática en la Universidad Autónoma de Madrid.
  • Máster en Seguridad de la Información de la Universidad Europea.
  • Experto en arquitectura de servicios y despliegues.
  • Ponente en conferencias de Seguridad y Desarrollo.

Emma Salamanca Peral

  • Creadora de TalentoIT.
  • Licenciada en Psicología en la Universidad Autónoma de Madrid.
  • Tech recruiter en diversas compañías.

Laura González Navareño

  • Analista senior en Deloitte.
  • Grado en Ingeniería del Software en la Universidad de Extremadura.
  • Dedicada a herramientas de análisis de fraude.

Perfil de los estudiantes y requisitos de admisión

Los módulos del máster están diseñados pensando en aquellos profesionales, principalmente del sector tecnológico, que aspiren a especializarse en desarrollo Full Stack, quieran reciclarse profesionalmente o quieran adquirir una visión amplia de todas las fases de un proyecto software para una correcta gestión del mismo. Los requisitos para acceder al Máster en Full Stack Web Development son los siguientes:

  • Graduados y licenciados en ingenierías técnicas y ciencias (matemáticas y estadística).
  • Desarrolladores con experiencia previa que quieran adquirir conocimientos Full Stack.
  • Responsables y jefes de proyecto que quieran ampliar su capacidad de gestión dentro de proyectos software.

 

Titulación

Una vez finalizado el programa, los estudiantes obtendrán:

  • Un título propio de la escuela.
  • Un título propio acreditado por la UPC, si se cumplen los requisitos de la Universidad al finalizar el programa.

  • Dedicación60 ECTS
  • InicioMayo 2021
  • Duración12 meses
  • Precio7.200 €
  • MetodologíaOnline
  • Idioma de ImparticiónEspañol