E TA PA 3 : E S P E C I A L I Z A C I O N E S
JAVA
Diseñado por Freepik
Especialización
PROGRAMA
Materia: Desarrollo de Aplicaciones Web
con Java y Spring Boot
ANALÍTICO
Profesor: Ian Fernandez
Correo Electrónico: ianstgo@[Link]
Año 2025
JAVA | PROGRAMA ANALÍTICO
Descripción de la Asignatura
Esta asignatura ofrece una completa introduc- La asignatura introduce a los estudiantes en
ción al desarrollo web utilizando Java y el fra- el uso del framework Spring. Comenzando con
mework Spring, diseñada para equipar a los la configuración e instalación del entorno de
estudiantes con los conocimientos y habilida- desarrollo Spring, los estudiantes aprenderán
des esenciales para crear aplicaciones web ro- sobre los principios de Inversión de Control
bustas y eficientes. El curso parte del supuesto (IoC) y la Inyección de Dependencias (DI). Se
de que los alumnos ya tienen conocimientos explorarán temas clave como la arquitectura
de SQL y conceptos básicos de programación. MVC con Spring MVC y el acceso a datos me-
diante Spring Data JPA para la persistencia de
El curso comienza con una sólida base en datos.
Java, donde los estudiantes aprenderán sobre
la historia y las características del lenguaje, El curso culmina con el desarrollo de una apli-
además de configurar el entorno de desarrollo. cación web completa, donde los estudiantes
Se abordarán los conceptos básicos de sinta- aplicarán todos los conocimientos y habilida-
xis, incluyendo tipos de datos, operadores, es- des adquiridos. A través de la planificación,
tructuras de control y manejo de excepciones. diseño, implementación, pruebas y despliegue
Los estudiantes explorarán los principales pa- de la aplicación, los estudiantes ganarán expe-
radigmas de programación: imperativo, estruc- riencia práctica y comprensiva en el desarrollo
turado y orientado a objetos, profundizando de aplicaciones web modernas y escalables.
en conceptos como clases, objetos, herencia,
polimorfismo y encapsulamiento. Desde el ini- Este curso está diseñado para aquellos que
cio del curso, se enseñará el uso de diagramas buscan una carrera en el desarrollo web y de-
de clases como principal herramienta para el sean adquirir una comprensión profunda de
buen diseño de una aplicación, permitiendo Java y Spring, así como las habilidades prácti-
a los estudiantes visualizar y planificar la es- cas necesarias para construir aplicaciones web
tructura del software de manera efectiva. innovadoras y eficientes. No solo se pretende
enseñar una herramienta específica, sino tam-
A lo largo del curso, se enfatizarán las buenas bién impartir el conocimiento de cómo estu-
prácticas de desarrollo. Se enseñarán princi- diar un lenguaje desde cero, proporcionando
pios fundamentales como SOLID, que promue- a los estudiantes la capacidad de aprender y
ven un código limpio y mantenible, y se im- adaptarse a cualquier tecnología en el futuro.
plementarán patrones de diseño comunes en
el desarrollo de software.
Java es un lenguaje de programación versátil, robusto, segu-
ro y ampliamente utilizado en el desarrollo de aplicaciones
web, móviles y empresariales. Su enfoque multiplataforma
permite escribir el código una vez y ejecutarlo en cualquier
sistema. Durante esta especialización, aprenderás sus funda-
mentos y cómo aplicarlo en proyectos reales.
Informatorio Chaco 1
JAVA | PROGRAMA ANALÍTICO
Objetivos del Curso:
• Desarrollar aplicaciones web utilizando Java • Implementar y consumir servicios RESTful.
y Spring Boot. • Utilizar Spring Data JPA para operaciones
• Implementar servicios RESTful y controlado- CRUD con bases de datos.
res web. • Utilizar diagramas de clases para el diseño y
• Manejar bases de datos relacionales median- planificación de aplicaciones.
te JPA/Hibernate. • Aplicar principios de diseño orientado a ob-
• Proveer una sólida comprensión de los fun- jetos en el desarrollo de software.
damentos de Java y su aplicación en el desa- • Integrar Spring Boot con otras tecnologías y
rrollo web. frameworks.
• Enseñar la importancia de las buenas prácti- • Optimizar el rendimiento de aplicaciones
cas de desarrollo para la creación de software web utilizando Spring Boot.
de alta calidad. • Gestionar dependencias y configuraciones
• Capacitar a los estudiantes en el uso del utilizando Maven y Gradle.
framework Spring para el desarrollo de aplica- • Implementar control de versiones y colaborar
ciones web modernas y seguras. en proyectos con Git.
• Facilitar la aplicación práctica de los conoci- • Comprender y aplicar conceptos de arquitec-
mientos adquiridos a través del desarrollo de tura de software en proyectos web.
un proyecto real. • Resolver problemas comunes de desarrollo
• Comprender los conceptos fundamentales de web y depuración en aplicaciones Spring Boot.
Spring Boot.
• Configurar y utilizar Spring Boot para crear
aplicaciones web.
Contenidos
Capítulo 1: Presentación del curso (2 horas)
Bienvenida al curso e introducción a Java
» Presentación de la dinámica de las clases, temarios y formas de evaluación
» Historia de java
» ¿Por qué Java fue tan exitoso?
» Características del lenguaje y diferencias con otros
» Características del lenguaje en cuanto a su ejecución
» Características del lenguaje en cuanto a paradigmas
Capítulo 2: Paradigmas de programación con Java (12 horas)
Programación imperativa
Informatorio Chaco 2
JAVA | PROGRAMA ANALÍTICO
» ¿Que es la programación imperativa?
» Tipos de datos
» Operadores
» Operador ternario
» Convenciones en variables y constantes
» Tipos de conversiones
» Expresiones
Programación estructurada
» ¿Qué es la programación estructurada?
» ¿Qué resuelve la programación estructurada?
» Estructuras de control de flujo if, else, while y for, entre otros
Programación estructurada : Aplicación con arreglos
» ¿Qué son los arreglos?
» Características de los arreglos
» Acceso a los arreglos
» Declaración de los arreglos
» Ejercicios con arreglos
» Presentación de las colecciones.
Programación orientada a objetos
» ¿Qué es la programación orientada a objetos?
» ¿Qué resuelve la programación orientada a objetos?
» Clases, Objetos, Métodos y Atributos
» Modificadores de acceso
» Constructores
» Presentación de diagramas de clases
Programación orientada a objetos : Ejercicios y práctica con un escenario
» Práctica con un escenario aplicando un diagrama de clases
Programación orientada a objetos : Finalizando escenario
» Finalizado del escenario
Capítulo 3: Principios de la programación orientada a objetos (2 horas)
Abstracción, Herencia, Polimorfismo y Encapsulamiento
» Teoría
Informatorio Chaco 3
JAVA | PROGRAMA ANALÍTICO
» Aplicación de principios en el escenario del capítulo 2
» Presentacion de ejercicio de tarea
» Presentación del escenario del primer Trabajo práctico final
Capítulo 4: Introducción a lambda (2 horas)
Primeras expresiones
» Predicates & BiPredicates
» Supplier
» Consumer & BiConsumer
» Function & BiFunction
» Unary & Binary Operator
Capítulo 5: Refactorización (2 horas)
Introducción a la refactorización
» Sencillez
» Sin miedo a refactorizar
Capítulo 6: Presentación de Spring (2 horas)
Introducción a Spring Framework
» ¿Qué es Spring Framework? ¿Qué es Spring Boot? Diferencias
» Spring Context
Capítulo 7: Arquitectura Web y Spring (2 horas)
API Rest
» ¿Qué es API REST?
» Verbos e información
» Request y Response
» Códigos de respuesta
» Patrón DTO
Capítulo 8: Profundizando Spring (10 horas)
Aplicación de Spring
» Retomando capítulo 6 y 7
» Practica con un escenario
» Creación de la capa modelo
Informatorio Chaco 4
JAVA | PROGRAMA ANALÍTICO
» Creación del controlador
» Creación de la capa servicio
Conexión con la base de datos
» ¿Qué es Spring JPA?
» Presentación del escenario del segundo Trabajo práctico final
Relaciones entre tablas
» Relación uno a uno
» Relación uno a muchos
» Relación Muchos a muchos
Validaciones en Spring
Centralización de captura de excepciones
Informatorio Chaco 5