JAVA Web Developer SYLLABUS
Información General:
Duración: 16 semanas / 600 horas
Modalidad: Tiempo completo
Días y horarios: Lunes a Viernes de 9 a 18hs
Mentores: Ferran Maylinch (ferran@ubiqum.com)
Ignasi Lopez Luna (ignasi@ubiqum.com)
Página Web: http://www.ubiqum.com/es/courses/java-web-developer-es/
Idioma: Los contenidos de la plataforma online son en inglés.
Los mentores hablarán en español, pero habrán
algunas conversaciones técnicas en inglés.
Ubicación: Barcelona
Descripción:
Los servidores web son la columna vertebral de Internet. Cuando se utilizan
aplicaciones webs o la mayoría de las aplicaciones móviles, éstas utilizan servidores
webs para guardar datos, comunicarse con otros usuarios, buscar en la web, y
realizar otras actividades que necesitan almacenamiento datos de manera
persistente y ancho de banda de red.
Los servidores web pueden ser implementados en muchos idiomas, incluyendo
Python, PHP, Ruby on Rails y Java. Java es particularmente común para grandes
sitios web, y de hecho, Java sigue siendo el lenguaje de programación más popular
en el mundo. También es el idioma que se utiliza para crear aplicaciones nativas de
Android.
El desarrollo de servidores webs normalmente implica escribir código del lado
del cliente (llamado front-end) que se ejecuta en aplicaciones móviles y
navegadores, y también código del lado del servidor (también llamado back-end).
JAVA Web Developer SYLLABUS
En este curso, usted aprenderá cómo desarrollar una aplicación web moderna,
utilizando HTML, CSS y JavaScript para manejar todos los aspectos de la
presentación de la interfaz de usuario, y un servicio web REST Java para manejar el
acceso de múltiples usuarios y sus comunicaciones, almacenamiento de datos
persistentes e implementación lógica de negocio compleja.
Tu equipo de desarrolladores ha sido contactado por una empresa de
videojuegos que busca utilizar su marca reconocida en el mercado de los
videojuegos en línea con un toque retro. Principalmente, quieren a tu equipo para
crear una versión en línea para múltiples jugadores. Salvo era un juego de lápiz y
papel que fue la base para el juego popular llamado Batalla Naval. La idea básica
consiste en adivinar donde otros jugadores han ocultado sus barcos. Esto puede
variar para crear diferentes juegos con diferentes interfaces de usuario.
Tu trabajo consistirá en crear una aplicación front-end web para dispositivos
móviles para múltiples jugadores con un servidor de juegos para administrar el
juego, la puntuación y los perfiles de los jugadores. Deberás utilizar la biblioteca
JavaScript AngularJS para el lado del cliente (front-end) y Spring JAVA Framework
para el lado servidor (back-end).
JAVA Web Developer SYLLABUS
Objetivos:
Este programa fue diseñado por expertos en desarrollos de software para
asegurar que los proyectos y sus tareas complementarias reflejan verdaderos
desafíos que se presentarán durante el desarrollo de las modernas aplicaciones
web utilizando Java.
Al finalizar este programa, usted será capaz de:
● Escribir código AngularJS, una de las librerías más populares y
demandadas para la creación de interfaces web dinámicas en Javascript.
● Programar en Java utilizando conceptos básicos a todos los lenguajes de
programación orientada a objetos modernos, incluyendo: variables,
funciones, bucles, cadenas, matrices, estructuras de datos complejas,
clases, archivos y bases de datos.
● Utilizar la suite de herramientas Spring JAVA Framework para crear y
probar sofisticados servicios web basados e
n Java.
● Implementar una interfase REST para el servidor.
● Utilizar estructuras de datos JSON para enviar datos HTML hacia y desde
una aplicación móvil o de escritorio.
Este programa Java te dará las habilidades y conocimientos necesarios para
trabajar como desarrollador de software back-end. También te ayudará a construir
una cartera de proyectos de trabajo de calidad profesional a lo largo del programa.
Prerrequisitos:
● Nivel básico a intermedio de lectura y escritura en inglés.
● Se valorará algo de experiencia en el desarrollo de aplicaciones web utilizando
HTML, CSS y JavaScript pero no es requerido.
JAVA Web Developer SYLLABUS
Puntuación:
La calificación final será determinada por:
● Asistencia (40%)
● Programación de los ejercicios y sus resultados finales (40%)
● Presentación final (20%)
El formato de evaluación está sujeto a cambios con aviso previo. El control de
asistencia será controlado regularmente. Faltas consecutivas a clase
automáticamente dejará al estudiante fuera de la clase.
Debido a nuestra metodología no habrá exámenes ni lecciones magistrales. El
estudiante estará comprometido a asistir a clase y trabajar en sus asignaciones a
través de nuestra plataforma online y realizar sus entregas de acuerdo a la
planificación.
JAVA Web Developer SYLLABUS
Programa detallado:
Módulo 1: Introducción al Desarrollo Web
Semana En este módulo, serás un contratista independiente que
1-2
desarrolla sitios web personalizados para organizaciones
pequeñas. La Northside Youth Soccer League (NYSL) te ha
contratado para desarrollar un sitio web para sus equipos de
fútbol. Trabajarás en este sitio web aprendiendo a usar HTML y
CSS para producir modernos, atractivos e informativos sitios
webs basándote en los requerimientos del cliente.
Aprenderás a:
● Crear un sitio web de varias páginas con HTML5.
● Controlar el aspecto de un sitio web utilizando CSS.
● Dar formato a una página web para mostrar información
compleja.
● Añadir elementos gráficos y mapas a un sitio web.
● Implementar formularios web para capturar la entrada del
usuario.
● Testear un sitio web para el cumplimiento de las normas de
W3C y garantizar su funcionamiento en una variedad de
navegadores.
JAVA Web Developer SYLLABUS
Módulo 2: Introducción al diseño adaptable web y aplicaciones móviles
Semana En este módulo, la Northside Youth Soccer League (NYSL) te ha
3-4
contratado para crear una aplicación web móvil para darle a sus
jugadores y padres un fácil acceso a los horarios de los juegos de
la liga. Para evitar las molestias de las aplicaciones nativas, les
gustaría que se tratara de una aplicación web para móviles.
Vas a diseñar y desarrollar la aplicación web móvil, y vas a añadir
características a la aplicación que son específicas para
dispositivos móviles, tales como funciones basadas en la
ubicación, para que los padres puedan ver dónde están en
relación con el campo de fútbol.
Para ello, trabajarás a través de una serie de tareas diseñadas por
expertos en programación y desarrollo de aplicaciones web para
móviles para ayudarte a crear una aplicación web móvil robusta y
moderno.
Aprenderás a:
● Entender los distintos diseños de pantallas de dispositivos
en forma horizontal y vertical para maximizar la experiencia
del usuario.
● Crear clases CSS específicas para distintos tamaños de
pantallas.
● Usar Firebase y jQuery para añadir elementos de interfaz de
usuarios para mejorar el diseño.
JAVA Web Developer SYLLABUS
Módulo 3: Javascript Pro
Semana En este módulo, serás un desarrollador de “Code of the Web”, una
5-7 pequeña tienda de software que crea aplicaciones web
personalizadas basadas en JavaScript. Transparent Government in
Fact (TGIF), una organización independiente sin fines de lucro que
trabaja para aumentar la participación del público en el gobierno,
te ha contratado para desarrollar un sitio web de seguimiento del
Congreso. Vas a trabajar en esta aplicación web utilizando
tecnologías modernas de JavaScript, incluyendo: Bootstrap,
jQuery, AJAX, JSON y RESTful APIs.
Aprenderas a:
● Programar aplicaciones WEB con JavaScript.
● Desarrollar y codificar algoritmos.
● Testear y depurar codigo JavaScript.
● Utilizar librerías JavaScript para implementar la interfase de
usuario.
● Acceder y mostrar información.
● Utilizar APIs para acceder a recursos de terceros.
JAVA Web Developer SYLLABUS
Módulo 4: Java I
Semana En este módulo, te sumergiras en el mundo Java del lado
8-11 servidor (back-end) para implementar la arquitectura principal
del juego realizando:
● Una interfase de juego que muestre gráficamente el estado
de los jugadores en el juego, incluidos la posición de los
buques, los daños sufridos y las puntuaciones.
Aprenderás a desarrollar una aplicación web moderna, utilizando
HTML, CSS y JavaScript para manejar todos los aspectos de la
presentación de la interfase de usuario, consumir servicios web
REST para manejar el acceso de múltiples usuarios y sus
comunicaciones, almacenar datos de manera persistente e
implementar la lógica de negocio compleja. Más
específicamente, aprenderás a:
● Usar la libreria JavaScript y jQuery para:
○ Obtener y recibir datos desde un servidor WEB
utilizando AJAX.
○ Construir pantallas en HTML.
● Utilizar las herramientas para Java de Spring Boot para:
○ Implementar RESTful APIs para bases de datos y
servicios de aplicaciones.
○ Aplicar conceptos de programación modernos, como
ser “lambdas”, “streams” y “dependency injection”.
● Utilizar estructuras de datos JavaScript Object Notation
(JSON) para:
○ Comunicar la parte de tu aplicación del lado servidor
con la parte del lado cliente.
○ Implementar el modelo en MVC (model-view-controller)
JAVA Web Developer SYLLABUS
Módulo 5: Java II
Semana En este último módulo del curso, se materializará la
12-16 funcionalidad de back-end y la aplicación de los algoritmos
necesarios para la realización del motor del juego y el soporte a
los jugadores para que:
● Los jugadores puedan crear nuevas partidas y unirse a las
partidas creadas por otros usuarios.
● Cuando una partida tenga dos jugadores, los mismos puedan
colocar sus naves en el tablero del juego.
● Cuando se han colocado los bardos, los jugadores
comenzarán a realizar sus disparos y ver los resultados (La
cantidad de barcos tocados, errados y barcos hundidos).
● Cuando todos los barcos de un jugador se han hundido,
poder terminar el juego y añadir en su clasificación la victoria
a las estadísticas del juego.
JAVA Web Developer SYLLABUS
Diseñado por:
Dr. Ray Bareiss
Doctor en Ciencias de la Computación y graduado en Comunicación por la
University of Texas en Austin. Es especialista en entornos de aprendizaje mediante
ordenador. Ha dirigido programas profesionales basados en la metodología
learning by doing en el Silicon Valley Campus de Carnegie Mellon. Como
co-fundador de la Cognitive Arts Corporation, ha participado en proyectos
estratégicos de eLearning a gran escala.
Dr. Chris Riesbeck
Doctor en Ciencias de la Computación por la Stanford University, es Profesor
en el Departamento de Ingeniería y Ciencias de la Computación de la
Northwestern University. Es especialista en razonamiento basado en casos y en la
memoria basada en lenguaje e interfaces inteligentes para la adquisición de
conocimientos y formación académica.
Metodología del Programa:
La metodología de este programa, denominada Story Centered Curriculum
(SCC), se basa en técnicas avanzadas de simulación de situaciones reales. Sin clases
teóricas ni sesiones de estudio por memorización para pasar un examen, el SCC te
sitúa en un escenario desarrollado a partir de una situación profesional real y
motivadora en la que ejecutas las mismas tareas que los profesionales, con sus
mismas herramientas, de modo que, llegado el momento, puedas integrarte en un
equipo de trabajo real, sin dificultad.
JAVA Web Developer SYLLABUS
El SCC es una metodología educativa que permite implantar el enfoque learning by
doing en toda su complejidad y extensión. Ha sido probado con éxito desde hace 10
años en la Universidad Carnegie Mellon en USA donde varias promociones han
completado programas desarrollados bajo esta metodología, tanto en el campus de
Pittsburg como en el de Mountain View en California.
Tutores:
Al iniciar el curso se te asignará un tutor que es un profesional experto. Sus
funciones serán facilitar el trabajo del equipo, fomentar discusiones sobre los
temas, ayudarte a buscar soluciones y a salvar las dificultades del proyecto por tus
propios medios. Te proporcionará feedback sobre los “entregables” de cada
proyecto, en cada una de las fases de elaboración de los mismos, de modo que
puedas ir perfeccionándolos, aprender de los errores y alcanzar el grado de
maestría requerida en cada tarea.