Java para Principiantes
De algoritmos básicos a patrones de diseño: domina Java con buenas prácticas profesionales
Roadmap del cursoEl camino de aprendizaje recomendado: expandí cada módulo para ver sus lecciones.
Lecciones (25)
- Lección 11
Conceptos Básicos y Tu Primer Programa en Java
Comprendé la plataforma Java (JDK, JRE, JVM), la arquitectura WORA, la estructura del método main y escribí tu primer programa interactivo.
- Lección 22
Variables, Tipos de Datos y Operadores
Dominá los tipos primitivos, tipos por referencia, conversión de tipos (casting) y operadores en Java.
- Lección 33
Control de Flujo y Estructuras Repetitivas
Aprendé a tomar decisiones con condicionales y a repetir tareas con bucles en Java.
- Lección 44
Arrays y Manejo de Strings en Java
Dominá arreglos unidimensionales, matrices y arrays irregulares, la clase java.util.Arrays, el modelo de memoria de String, el String Constant Pool y StringBuilder.
- Lección 55
Métodos y Funciones en Java
Comprendé la modularización de código, firmas de métodos, retorno de valores, pasaje por valor vs referencia, sobrecarga y la pila de llamadas (Call Stack).
- Lección 66
Algoritmos: Especificación, Verificación y Complejidad
Aprendé a diseñar, verificar y comparar algoritmos mediante contratos, pruebas y análisis de complejidad temporal y espacial.
- Lección 77
Programación Orientada a Objetos y sus Pilares
Comprendé qué es el paradigma de POO, sus ventajas frente a la programación estructurada y sus 4 pilares fundamentales explicados en Java.
- Lección 88
Fundamentos de POO: Clases, Objetos y Atributos
Dominá los pilares prácticos de la POO en Java: el concepto de clase como molde, instanciación con el operador new, estado, comportamiento y la referencia memoria this.
- Lección 99
Constructores, Modificadores de Acceso y Getters/Setters
Aprendé a garantizar que todo objeto nazca válido usando constructores, sobrecarga y this(), y a blindar su estado interno con encapsulamiento, modificadores de acceso y copias defensivas.
- Lección 1010
Arrays de Objetos: Guardar y Recorrer Muchas Instancias
Combiná arrays con clases: creá arrays de objetos, evitá el NullPointerException de las casillas vacías, recorrelos, buscá, ordená a mano por un criterio, y manejá capacidad contra cantidad real.
- Lección 1111
Herencia, Polimorfismo y Sobrecarga de Métodos
Dominá la herencia con extends y super, la sobrescritura con @Override, la diferencia entre sobrecarga y sobrescritura, el despacho dinámico y cuándo conviene componer en lugar de heredar.
- Lección 1212
Clases Abstractas, Interfaces y Organización del Código
Entendé cuándo usar una clase abstracta y cuándo una interfaz, implementá varios contratos a la vez, dominá el concepto de namespaces y paquetes en Java, y modelá asociación, agregación y composición.
- Lección 1313
Manejo de Excepciones y Robustez
Entendé la jerarquía Throwable, la diferencia entre checked y unchecked, cómo se propaga una excepción por la pila, try-with-resources, excepciones personalizadas y los antipatrones que hay que evitar.
- Lección 1414
Colecciones en Java y Genéricos (JCF)
Recorré el Java Collections Framework completo, entendé por qué existen los genéricos, aprendé cómo funciona un HashMap por dentro y adquirí el criterio para elegir la colección correcta.
- Lección 1515
Iteradores, Ordenamiento y Contrato equals/hashCode
Entendé qué hay detrás del for-each, por qué salta ConcurrentModificationException, cómo ordenar con Comparable y Comparator, y por qué romper el contrato equals/hashCode hace que tus objetos desaparezcan.
- Lección 1616
TAD Lista: Estáticas, Dinámicas y Enlazadas
Comprendé qué es un Tipo Abstracto de Dato, por qué un arreglo y una lista enlazada resuelven lo mismo con costos opuestos, e implementá listas simples, dobles y circulares desde cero.
- Lección 1717
TAD Pila y TAD Cola: Estructuras Lineales
Dominá las estructuras LIFO y FIFO, implementalas desde cero sobre nodos y sobre arreglos, entendé la cola circular y resolvé el clásico problema del balanceo de paréntesis.
- Lección 1818
TAD Árbol: Recorridos y Árbol Binario de Búsqueda
Pasá de las estructuras lineales a las jerárquicas: vocabulario de árboles, los tres recorridos en profundidad, el recorrido por niveles con una cola, el ABB y por qué se degenera.
- Lección 1919
Árboles N-arios y representación con vectores
Modelá jerarquías con cantidad variable de hijos, transformalas mediante primer hijo y siguiente hermano, y almacenalas con índices validados.
- Lección 2020
Grafos: Matriz, Lista de Adyacencia, BFS, DFS y Dijkstra
Modelá redes con grafos, elegí entre matriz y lista de adyacencia, implementá BFS y DFS con la estructura correcta, y entendé cómo Dijkstra encuentra el camino más barato.
- Lección 2121
Archivos, Serialización y Empaquetado JAR
Aprendé a persistir datos con la API moderna de Files y Path, entendé el patrón decorador de los streams, serializá objetos con sus trampas, y empaquetá tu aplicación en un JAR ejecutable.
- Lección 2222
Programación Concurrente: Hilos, Sincronización y Pools
Dominá la concurrencia en Java: ciclo de vida de hilos, sincronización de memoria compartida, condiciones de carrera, ExecutorService y Virtual Threads.
- Lección 2323
Acceso a Bases de Datos con JDBC y SQL Seguro
Conectá tu aplicación a una base relacional con JDBC, entendé por qué PreparedStatement elimina la inyección SQL, manejá transacciones con commit y rollback, y organizá el acceso a datos con el patrón DAO.
- Lección 2424
Testing con JUnit y Tu Primera App en Spring Boot
Escribí pruebas unitarias con JUnit 5, entendé la pirámide de tests y el patrón AAA, usá mocks para aislar dependencias, y construí un servicio REST CRUD en tres capas con Spring Boot.
- Lección 2525
Depuración, código limpio y refactorización
Aprendé a depurar con breakpoints y watches, reconocer code smells en tu código Java y refactorizarlo de forma segura respaldado por tests JUnit.