COMPUTACIÓN EN LA NUBE CON JAVA
1. Objetivos del curso El participante adquirirá capacidades para analizar y definir los requerimientos del cliente, planificar, diseñar, implementar y mantener aplicaciones para la nube de acuerdo con procedimientos de programación de las tecnologías Microsoft; aplicando buenas prácticas y demostrando conductas positivas en las actividades laborales 2. Fechas y horarios Mayo Junio Julio L M X J V S D L M X J V S D L M X J V S D 1 2 3 4 5 6 1 2 3 1 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 30 31 Agosto Septiembre Octubre L M X J V S D L M X J V S D L M X J V S D 1 2 3 4 5 1 2 1 2 3 4 5 6 7 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14 13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21 20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28 27 28 29 30 31 24 25 26 27 28 29 30 29 30 31 El curso constará de 550 horas lectivas. El curso se impartirá en las siguientes fechas: 28/05/2018-26/10/2018 Con un horario de mañana de: 8:00-14:30
3. Temario 1. Introducción a BBDD y SQL Introducción a BBDD Introducción a SQL 2. Ciclo de vida de Desarrollo Software Introducción a SDLC Metodologías de Desarrollo Agile / Scrum 3. Cómo trabaja la Web? Web Essentials Cyber Securidad Cloud Computing 4. DevOps Introducción a DevOps Integración continua (CI) Entrega continua (CD). DevOps en el Cloud Introducción a Git Introducción a Maven Introducción a Jenkins Concepto Pipeline Introducción a Selenium Introducción a SonarQube 5. Programación Java Básico 5.1. Herramientas de Desarrollo (4 horas) JDK JVM Iniciación al desarrollo de aplicaciones con Eclipse Maven 5.2. Programación Orientada a Objetos (10 horas) Qué es la Programación Orientada a Objetos? Conceptos básicos de la Programación Orientada a Objetos (clases, objetos, interfaces, etc..) Características y beneficios de la Programación Orientada a Objetos Herencia
Encapsulación Polimorfismo Principios SOLID 5.3. Introducción al lenguaje Java 8 (10 horas) Fundamentos del Lenguaje Java Expresiones, operadores y estructuras de control Clases, paquetes e interfaces (incluyendo métodos default y static). Control de Flujo, Arrays y Métodos 5.4. Manejo de Excepciones en Java (2 horas) 5.5. Enumeraciones y Anotaciones (3 horas) 5.6. Genéricos (1 hora) 5.7. Librería estándar de Java Colecciones (3 horas) Streams/Lambdas (Java 8) (4 horas) Concurrencia (no es necesario pero si se imparte debería incluir las nuevas características: Executor Framework, Futures y Callables, CompletableFuture, Fork-Join Java 7. 6. Testing Diseño de pruebas unitarias (2 horas) Iniciación al framework JUnit (10 horas) Introducción a JaCoCo y EclEmma (2 horas) Pruebas Integradas (2 horas) Introducción a Selenium (4 horas) 7. Calidad de Código Estándares de programación (1 hora) Técnicas de Optimización de Código (6 horas) Principios de Desarrollo Seguro (2 horas) 8. Formatos de intercambio de Información XML JSON 9. Desarrollo Web entorno Cliente 9.1. HTML5 (14 horas) 9.2. CSS3 (7 horas) 9.3. Introducción a JavaScript y Ajax (7 horas) 9.4. Librerías y Frameworks
jquery (7 horas) Bootstrap (7 horas) Entorno de desarrollo (2 horas) o node.js y uso de npm Angular (21 horas) Introducción a React (3 horas) 10. Desarrollo Web entorno Servidor 10.1. Introducción a Java EE (5 horas) Modelo de Aplicaciones Java EE Aplicaciones multicapa distribuidas Frameworks y especificaciones Java EE Introducción a Servlets Introducción a EJB 10.2. Tecnologías Web Java EE (Presentación) (6 horas) Introducción a JSP Introducción a las librerías de etiquetas estándar(jstl) Introducción a JSF 11. Frameworks Java 11.1. JPA (15 horas) Arquitectura JPA Contexto de Persistencia y Unidad de Persistencia Mapeo de Entidades y JPQL 11.2. Spring (35 horas) Introducción al framework Spring Spring Core Spring MVC Spring Data y JPA 12. Introducción a la programación en Scala 12.1. Introducción a Scala Role de Scala en el procesamiento de datos distribuidos Motivación para Scala Programación funcional 12.2. Básicos de Scala Conceptos clave Programación en Scala Poniendo Scala a trabajar
12.3. Tipos de datos en Scala Variables Operando con tipos numéricos. Construyendo expresiones booleanas Trabajando con Strings 12.4. Flujo de Control y Funciones en Scala Bucles Iteradores Funciones Pasar funciones como argumentos Métodos para iterar sobre colecciones Pattern Matching Procesamiento de datos con funciones parciales. 12.5. Trabajando con datos agrupados Almacenando elementos del mismo tipo Introducción a las colecciones en Scala o Creación de colecciones de elementos únicos o Acceso rápido al Head de la colección o Acceso rápido a elementos arbitrarios o Acceso rápido mediante clave o Conversiones de Tipos más comunes 12.6. Utilizando y Creando librerías Clases y Objetos Paquetes Importación de paquetes