Java para Principiantes

De algoritmos básicos a patrones de diseño: domina Java con buenas prácticas profesionales

Java Beginner
Roadmap del cursoEl camino de aprendizaje recomendado: expandí cada módulo para ver sus lecciones.
  1. 1Fundamentos del lenguaje

    Sintaxis, tipos de datos y estructuras de control básicas de Java.

  2. 2Funciones y pensamiento algorítmico

    Métodos, recursión y las bases para especificar y analizar algoritmos.

  3. 3Programación orientada a objetos

    Clases, objetos, herencia y manejo de errores con el modelo de objetos de Java.

    1. 3.1Clases y objetos
    2. 3.2Herencia, abstracción y errores
  4. 4Estructuras de datos

    Colecciones del JDK y los TAD lineales y no lineales construidos sobre ellas.

    1. 4.1Colecciones de Java
    2. 4.2Estructuras lineales (TAD)
    3. 4.3Estructuras no lineales
  5. 5Java profesional

    Persistencia, concurrencia, bases de datos y las prácticas de calidad para llevar código a producción.

    1. 5.1Persistencia y concurrencia
    2. 5.2Calidad de software

Lecciones (25)

  1. 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.

  2. 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.

  3. Lección 33

    Control de Flujo y Estructuras Repetitivas

    Aprendé a tomar decisiones con condicionales y a repetir tareas con bucles en Java.

  4. 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.

  5. 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).

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. 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.

  21. 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.

  22. 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.

  23. 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.

  24. 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.

  25. 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.