Curso de programación en java web, sin misterios, paso a paso y desde cero

Al pasar los años el lenguaje de programación Java es uno de los más utilizados a nivel mundial.Crear sistemas de misión crítica, robustos, flexibles y confiables ha sido uno de los grandes retos en el desarrollo de software a la medida. Al día de hoy Java sigue demostrando ser una plataforma en la cual apoyarnos para crear este tipo de sistemas.
Además, Java tiene una de las comunidades más grandes a nivel mundial y es TOTALMENTE LIBRE DE USO.
Java tiene un crecimiento impresionante, generando bastantes de ofertas laborales nacionales e internacionales.
Al ser relativamente complejo, aún no está saturado por la competencia y este es el momento ideal para abrirte las puertas.


Fundamentos de Java: Conoce Java desde los fundamentos. Aprenderás la sintaxis básica, tipos de Datos, Sentencias de Control y la creación de Clases y Objetos.
¿Qué es Java? Este es la base de. Lo que estudiaremos desde un punto de vista práctico y desde cero.
1. Elementos Básicos del Lenguaje desde los tipos primitivos hasta tipos ya definidos en Java (Estos elementos y varios de los que estudiaremos, son la base para temas como programador en Java)
2. Sentencias Java tales como if, else, switch, for, while, do-while. Veremos ejemplos prácticos para dejar claro cuando usar cada una de estas estructuras.
3. Métodos en Java desde métodos de instancia y métodos estáticos, veremos como declarar y las mejores prácticas para crear métodos en nuestras clases Java.
4. Clases y Objetos y cómo entenderlos realmente. Utilizaremos distintos métodos didácticos, tales como blueJ, Netbeans, entre otros, para explicar qué es una Clase yun Objeto, y la diferencia entre ellos, de tal manera que nunca más tendrás ninguna confusión para definirlos adecuadamente.
5. Manejo de Arreglos tanto arreglos de una dimensión como arreglos de múltiples dimensiones. Aprenderás a crear, instanciar y manipular cualquier tipo de arreglo en Java, tanto arreglos de tipos primitivos como de cualquier tipo Object en Java.

Programación Java: Aprende a detalle las características de la Programación Orientada a Objetos, el manejo de Colecciones, el concepto de Herencia y Polimorfismo.
6. Modificadores de Acceso y su uso en Java. Con esto garantizaremos que nuestras clases estén correctamente configuradas y con la seguridad adecuada para evitar modificación de información no deseados en nuestras clases Java.
7. Herencia es el tema central en la programación orientada a Objetos, y la explicaremos de tal manera que no volverás a tener confusión cuando debas aplicar el concepto de Herencia en el diseño de tus clases..
8. Polimorfismo es un tema te permitirá reutilizar código y aplicar las mejores prácticas de la Programación Orientada a Objetos (POO)
9. Manejo de Excepciones. Revisaremos cómo manejar las excepciones, como crear nuestras propias excepciones y finalmente las mejores prácticas para propagar las excepciones en nuestras aplicaciones Java..
10. Clases Abstractas e Interfaces. Veremos qué es cada uno de estas clasificaciones, cómo aplican en Java y veremos la diferencia entre ambos conceptos para que nunca más tengas confusión de cuando utilizar un concepto u otro.
11. Colecciones en Java. Estudiaremos las distintas clasificaciones existentes en Java, tales como List, Set y Map. Además veremos varios ejemplos prácticos para observar las ventajas que este tipo de estructuras de datos tienen sobre los arreglos en Java

SQL con Java JDBC: Aprende a diseñar correctamente una aplicación Java para comunicarte con cualquier Base de Datos Relacional vía JDBC, utilizaremos MySQLy Oracle
12. ¿Qué es JDBC? Estudiaremos la tecnología JDBC, la cual nos permitirá conectarnos hacia prácticamente cualquier base de Datos relacional, como puede ser MySql y Oracle.
13. Cómo realizar una conexión a una Base de Datos. Veremos los pasos necesarios para establecer una comunicación exitosa y simple entre Java y cualquier base de datos.
14. Ejemplos con Mysql. Crearemos varios ejemplos para demostrar cómo realizar consultas, inserciones, modificaciones y eliminación de datos sobre una base de datos de MySql.
15. Ejemplos con Oracle. Utilizaremos el motor de bases de datos más popular al día de hoy, a su vez veremos cómo utilizar JDBC para llamar correctamente a funciones, procedimientos almacenados y cursores de Oracle.
16. Patrones de Diseño en la creación de la Capa de Datos. Aplicaremos las mejores prácticas y patrones de diseño para la creación de una capa de datos efectiva con JDBC. Los patrones de diseño que estudiaremos son DAO (Data Access Object) y DTO (Data Transfer Object)

HTML, CSS y JavaScript: Domina la programación Web, utilizando HTML, CSS y JavaScript, y sienta las bases para crear aplicaciones Web Dinámicas con Java.
17. ¿Qué es HTML? Este es el lenguaje base para crear páginas Web, a su vez sentaremos las bases para crear aplicaciones Web dinámicas..
18. Componentes Básicos de HTML. Estudiaremos desde el punto de vista de programador (y no de diseñador gráfico) el uso del lenguaje HTML para la creación de aplicaciones Web.
19. ¿Qué es CSS y dónde se aplica? Mostraremos el uso de las Hojas de Estilo CSS y su uso dentro de una aplicación Web .
20.Componentes CSS. Veremos el uso básico de los elementos CSS y crearemos ejemplos prácticos aplicando las mejores prácticas en el uso de las hojas de estilo.
21. ¿Qué es JavaScript y dónde aplica? Aprenderemos a utilizar JavaScript con varios ejemplos prácticos y no volverás a tener dudas respecto a las diferencias entre Java y JavaScript, ya que estudiaremos el rol de cada una de estas tecnologías.
22. Ejemplo de Integración de HTML, CSS y JavaScript. Al finalizar este módulo crearemos algunas páginas Web para que puedas integrar correctamente las 3 tecnologías descritas.

Servlets y JSPs: Desarrolla Web dinámicas utilizando Servlets y JSPs, aplicando patrones de diseño como el MVC y las mejores técnicas en aplicaciones Web Java.
23. ¿Qué es una aplicación dinámica?. Veremos la diferencia entre una simple página Web estática, y la necesidad de crear aplicaciones Web dinámicas.
24. Qué son los Servlets y dónde aplican. Estudiaremos los componentes Web Java que nos permitirán procesar una petición HTTP, utilizando Apache Tomcat como servidor Web Java.
25. Proceso de Petición / Respuesta HTTP. Aprenderemos a procesar una petición Web, y veremos como mostrar de vuelta la respuesta hacia el cliente desde nuestra aplicación Web Java utilizando Servlets.
26. Manejo de Sesiones. Estudiaremos el concepto de las Sesiones HTTP y veremos cómo Java resuelve fácilmente el manejo de sesiones.
27. Qué son los JSPs y dónde aplican. Estudiaremos los componentes Web Java que nos permitirá desplegar más fácilmente la información HTML al usuario. Veremos las características, similitudes y diferencias entre los Servlets y los JSPs.
28. Despliegue de información con Expression Language (EL) y JSTL. Al utilizar JSPs existe la necesidad de simplificar el despliegue de información, para ello se utilizarán las tecnologías Expression Language (EL) y JSTL.
29. Patrón de Diseño MVC. Estudiaremos como integrar los componentes de los Servlets y JSPs y la información de nuestro sistema, normalmente obtenida de una Base de Datos. Aplicaremos las mejores prácticas y para ello estudiaremos el patrón de diseño MVC (Model - View - Controller).
30. Creación de una aplicación Java Web. Al finalizar nuestro curso, crearemos una aplicación Web aplicando las mejores prácticas e integrando TODOS los temas vistos en este taller, incluyendo conexión a Bases de Datos, manejo de seguridad, mejores prácticas y patrones de diseño.
31. En el laboratorio final aplicaremos una arquitectura multicapas con el objetivo de que esta aplicación sirva de base para tus proyecto Java Web aplicando estas tecnologías.