Java desde Cero: vuélvete profesional en este lenguaje
- Description
- Curriculum
- FAQ
- Reviews
Este es un curso de lenguaje de programación Java, el cual inicia desde cero en lo relativo a dicha tecnología, pero no es un curso de programación básica. Para llevarlo adelante ya debes tener conocimientos básicos de programación en cualquier otro lenguaje ya que aquí nos centraremos en que aprendas Java. Si no tienes ni idea de programación y quieres empezar desde la nada te recomendamos el curso “Programación profesional desde CERO“, el cual está pensado y diseñado para que justamente entres en este mundo del desarrollo de software sin tener ni la más mínima idea previa de nada.
La tecnología Java posee muchísimas ramas, siendo dos de las más conocidas Java SE (Standar Edition) y Java EE (Enterprise Edition). Java SE te permite aprender todo lo relativo a dicho lenguaje y crear aplicaciones de escritorio e inclusive para Android (salvando ciertas particularidades propias del desarrollo para SmarthPhones) siendo el punto de partida para toda persona que se aventura a conocer este lenguaje. Java EE extiende por mucho a Java SE permitiéndote crear aplicaciones Web completas con lenguaje Java, es decir, se orienta al desarrollo Web por completo. En este curso conocerás a fondo Java SE, que es lo que necesitas dominar a fondo para luego adentrarte en cualquier otra característica de este lenguaje. Por ejemplo, no puedes aprender Java EE si no sabes Java SE, así de simple.
Pasarás de forma progresiva por los distintos paradigmas de programación, aprendiendo:
- Programación estructurada
- Programación modular
- Memoria dinámica
- Programación Orientada a Objetos
- Programación de Interfaces Gráficas de Usuario
- Bases de Datos SQL
- Diseño y modelado de software
A través de este curso desarrollarás varios proyectos, diseñarás tus propios programas, resolverás problemas complejos con pocas herramientas, aprenderás a pensar y a dividir grandes retos en pequeñas partes. Aprenderás también la teoría profunda que todo/a programador/a necesita hoy día y la pondrás en práctica inmediatamente a través de los ejercicios y proyectos planteados, todo pensado para que aprendas Java al máximo nivel.
El curso se divide en 15 secciones (temas) progresivas a fin de que la curva de aprendizaje sea lo más asequible posible. En concreto, verás lo siguiente:
=== Tema 1: Entrada y salida estándar ===
Verás las bases mínimas del lenguaje Java para comenzar a comprender sus mecanismos de funcionamiento, trabajando con aplicaciones de consola de forma tal que puedas crear programas que interactúen con el usuario y realicen cálculos básicos con la información que éste ingresa:
- Salida estándar de datos
- Entrada estándar de datos
- Variables en Java
- Tipos primitivos de Java
- Constantes en Java
- Tipos de comentarios y documentación de código
- Cálculos matemáticos básicos
=== Tema 2: Selección===
Aprenderás cómo funcionan en Java las sentencias de selección IF y SWITCH, así como empezarás a trabajar a fondo con el uso de operadores condicionales, tablas de verdad y el tipo primitivo boolean.
- Sentencia IF
- Concatenación de IF
- Anidación IF
- Uso de SWITCH
- Operadores lógicos
- Diagramas de flujo
- Uso del depurador
=== Tema 3: Repetición iterativa===
La última estructura esencial para todo lenguaje de programación. Trabajarás en la creación de bucles y la gestión del flujo del código fuente. A partir de aquí inician los proyectos obligatorios.
- Sentencia FOR
- Anidación FOR
- Generación de números aleatorios
- Importación de clases
- Repetición condicional WHILE
- Repetición condicional DO..WHILE
- Proyectos obligatorios
=== Tema 4: Arreglos ===
A partir de este punto comenzarás a trabajar con estructuras lineales de datos, en concreto, los arreglos y, en consecuencia, iniciarás con un diseño de clases básico para comenzar a estructurar tus programas.
- Declaración de arreglos en Java
- Algoritmos de búsqueda
- Algoritmos de ordenación
- Arreglos bidimensionales
- Uso de FOR..EACH
- Proyectos obligatorios
=== Tema 5: Procedimientos y funciones ===
El uso de procedimientos y funciones (métodos) en Java tiene sus particularidades, y en esta sección las descubrirás a fondo.
- Procedimientos
- Pasaje de parámetros por copia
- Pasaje de parámetros por referencia
- Funciones
- Alcance de identificadores
- Sobrecarga
- Proyectos obligatorios
=== Tema 6: Tipos Abstractos de Datos y la Orientación básica a Objetos en Java===
En Java todo son clases y objetos, por lo que se hace difícil avanzar en el curso si entrar de lleno en dichos tópicos. Comprenderemos a fondo que es un Tipo Abstracto de Datos (TAD) y cómo Java modela esta teoría con sus objetos.
- Modularización en Java
- TADs y Clases
- Caso de estudio completo
- El Juego de la Vida
- Diseño de TADs
- Buscaminas
- Liberación de memoria en Java
- Clases internas
- Listas encadenadas
- TADs Pila y Cola
- TAD Árbol Binario de Búsqueda
- Proyectos
=== Tema 7: Archivos ===
Guardar la información es extremadamente importante, y como todo lenguaje que se respete, Java posee mecanismos para crear archivos, guardar información en el disco duro, recuperarla y modificarla como se desee.
- Archivos de texto
- Archivos de tipos personalizados
- Serialización
- Creando un procesador de textos básico
- Creando una base de datos simple
- Proyectos
=== Tema 8: Recursión computacional ===
Es posible repetir código sin hacerlo de forma iterativa con FOR; WHILE o DO..WIHLE, lo cual se logra con recursividad (métodos que se invocan a sí mismos). Además, esto permite solucionar problemas complejos que de forma iterativa serían sumamente complicados de solucionar.
- Recursión directa
- Recursión indirecta
- Uso de la pila (stack) de llamadas a métodos
=== Tema 9: Programación Orientada a Objetos Avanzada ===
Extenderemos el concepto de orientación a objetos ahora tocando un sinfín de detalles complejos.
- Clases y paquetes
- Modificadores de acceso
- Alias
- Contenedor de desplazamiento y uso de interfaces predefinidas
- Miembros estáticos
- Patrón de diseño SINGLETON
- Expresiones regulares
- Proyectos
=== Tema 10: Herencia y Polimorfismo ===
La orientación a objetos no sería de mucha ayuda si no pudiera implementar justamente la Herencia y el Polimorfismo como parte de su abanico de herramientas. En esta sección conocerás cómo utilizarlos a fondo.
- Encapsulamiento y herencia
- Casteo y conversión de tipos
- Interfaces
- Genéricos
- Polimorfismo
- Clases abstractas
- Introducción a UML
- Captura de excepciones con TRY..CATCH
- Lanzamiento de excepciones
=== Tema 11: Interfaces gráficas de usuario con Swing ===
A lo largo del curso harás muchos proyectos con una GUI ya programada por el equipo docente para hacer tu experiencia más interesante, pero en este punto aprenderás a hacerlo por ti mismo/a.
- Componentes básicos
- Paneles
- Gestores de contenido
- Eventos
- Menús
- Multithreading básico
- Imágenes
- Tablas y componentes avanzados
- Patrón Observer
=== Tema 12: Interfaces gráficas de usuario con JavaFX ===
JavaFX es una tecnología que ha tomado mayor relevancia en los últimos años, tanto que muchos auguran que sustituirá a Swing como herramienta para crear GUIs. De este modo, es super importante que también domines esta herramienta al máximo.
- Creación de componentes
- Ventanas y cuadros
- Modelo de eventos
- JavaScript básico
=== Tema 13: Bases de datos SQL ===
Conectar una aplicación a una base de datos es super importante y casi obligatorio en el mundo de hoy. En esta sección aprenderás a conectar tus aplicaciones a MySQL y SQLite para manipular la información de forma robusta.
- Creación y diseño de bases de datos
- Sentencias INSERT
- Sentencias SELECT
- Actualización y borrado de registros
- Modificación de tablas y estructuras
- Claves foráneas
- Proyectos SQL
- Conexión de SQL a Java
- Creación de aplicaciones con gestión SQL
=== Tema 14: Caso de estudio complejo ===
En este apartado veremos paso a paso la creación de un software complejo.
=== Tema 15: Tesis final ===
-
1PresentaciónVideo lesson
Bienvenido/a al curso de Java SE.
-
2Descarga e instalación de JRE y JDKVideo lesson
En esta clase descargarás e instalarás JRE y JDK en tu sistema para comenzar con el proceso de desarrollo.
-
3Descarga e instalación de Apache NetBeansVideo lesson
Teniendo ya JRE y JDK en tu sistema, es hora de instalar Apache NetBeans como entorno de desarrollo.
-
4Primer programa: Hola mundoVideo lesson
Con todas las herramientas instaladas y listas para comenzar es momento de escribir el primer programa y verificar que todo funciona como es debido.
-
5Tipos de lenguajes de programaciónVideo lesson
Lenguajes compilados, interpretados y semi-interpretados. Entendamos qué significa cada cosa y en cuál de estas categorías está Java.
-
6Salida estándarVideo lesson
Verás en detalle cómo crear un programa que muestre información al usuario, compilarlo y ejecutarlo desde consola, tanto el archivo compilado .class como el archivo empaquetado .jar.
-
7Diferenciando print y printlnVideo lesson
En esta clase aprenderás a diferenciar las instrucciones print y println así como a ejecutar correctamente tus programas por consola.
-
8Primera variableVideo lesson
Haremos un pequeño programa que leerá desde la entrada estándar el nombre del usuario para mostrarlo luego. Con este simple ejercicio conocerás la clase Scanner y su método nextLine.
-
9Leyendo enterosVideo lesson
En esta clase leeremos de forma básica números enteros desde la entrada estándar, lo cual nos llevará a prestar atención a ciertas cosas importantes.
-
10Cálculos sencillosVideo lesson
Siguiendo con la lectura de enteros aprovecharemos dicha herramienta para calcular área y perímetro de un rectángulo, así como también el área de un triángulo. Prestaremos atención especial al comportamiento de la división en Java, ya que varía en función del tipo de los operandos.
-
11ConstantesVideo lesson
Como en todo lenguaje, las constantes son una parte importante de la programación. En esta clase verás cómo declararlas en Java y utilizarlas luego.
-
12División enteraVideo lesson
Es importante conocer en detalle la diferencia entre una división real y una entera, así como la diferencia entre división (cociente) y módulo (resto). En esta clase entraremos en ese detalle así como en la lectura de números en una sola línea de entrada.
-
13Inferencia de tiposVideo lesson
Java provee una sintaxis que permite declarar variables sin declarar explícitamente su tipo, sino que este se infiere automáticamente a través de asignación de un valor.
-
14Caracteres de escapeVideo lesson
Conocer los caracteres de escape es algo básico pero no menos importante.
-
15Tipos primitivos de JavaText lesson
He aquí la tabla de tipos primitivos de este lenguaje.
-
16Sentencia IFVideo lesson
Conoce aquí cómo funciona IF y cómo se realiza un diagrama de flujo básico.
-
17Caso práctico IF y diagrama de flujoVideo lesson
En esta clase veremos un ejemplo de programa utilizando IF siguiendo un diagrama de flujo previamente diseñado.
-
18Sentencia SwitchVideo lesson
En vez de concatenar IF, a veces es mejor estructurar todo en una sentencia SWITCH.
-
19Operadores lógicos booleanos y tablas de verdadVideo lesson
Conocer el uso de AND, OR y XOR, tanto en sus formas por circuito corto como por circuito largo, es algo crucial para todo/a programador/a.
-
20Operadores comparativosVideo lesson
Aunque es sumamente básico, no está de más echar un vistazo a los operadores comparativos de Java y su sintaxis.
-
21Operador ternarioText lesson
Describimos brevemente la sintaxis de operador ternario en Java.
-
22Sentencia FORVideo lesson
Conocerás el uso de FOR en Java y algunas variantes del mismo.
-
23Adivinador básicoVideo lesson
Trabajaremos en un pequeño juego donde el usuario ha de adivinar un número en 10 intentos.
-
24Proyecto: Adivinador 2.0Video lesson
Primer proyecto obligatorio del curso. Quizá bastante simple, pero no por eso menos importante.
-
25Bucle WHILEVideo lesson
Verás cómo utilizar WHILE en Java para iterar indefinidamente.
-
26Bucle DO-WHILEVideo lesson
Veremos aquí la contraparte de WHILE: el querido DO-WHILE.
-
27Ejemplo práctico: Adivinador autómata de númerosVideo lesson
En este caso veremos cómo hacer que el programa Adivinador sea quién adivina un número que nosotros como usuarios hayamos imaginado.
-
28ArreglosVideo lesson
Veremos aquí cómo se declaran, recorren y comparan arreglos en Java.
-
29El argumento args y la herramienta FOR-EACHVideo lesson
En esta clase veremos para qué sirve el parámetro args que se recibe en el procedimiento main, así como también conoceremos la sintaxis para utilizar el FOR-EACH y recorrer arreglos de forma más eficiente.
-
30Búsqueda lineal en un arreglo y ejemplo de diagramaVideo lesson
En esta clase haremos la búsqueda más básica en un arreglo y además trabajaremos en un pequeño diagrama de flujo.
-
31Arreglos de caracteresVideo lesson
En esta clase le prestaremos un poco de atención al tipo char así como a los arreglos de este tipo primitivo de datos. Trabajaremos con la clase Character y con la operación toCharArray de la clase String.
-
32Números aleatorios sin repetir en un arregloVideo lesson
Veremos el ejemplo práctico de creación de un arreglo numérico con valores al azar sin que se repita ninguno.
-
33Generación de letras aleatoriasVideo lesson
Vamos a ver cómo utilizar los índices de la tabla ASCII para obtener letras aleatorias.
-
34Arreglos bidimensionalesVideo lesson
Aprenderás cómo utilizar arreglos de dos dimensiones (tablas, matrices o grillas) en Java, y en consecuencia podrás manejar luego cualquier cantidad de dimensiones que desees, ya que es extremadamente simple.
-
35Proyecto 2: Truco de las 21 cartasVideo lesson
Proponemos aquí el segundo proyecto del curso, el cual supondrá un enorme salto en dificultad en comparación con el Adivinador propuesto anteriormente.
-
36Proyecto 3: MasteMind1Video lesson
Tercer proyecto obligatorio, esta vez haremos el juego de lógica MasterMind con una versión simplificada del mismo pero, no por eso, sencilla de realizar.
-
37Proyecto 4: MasterMind2Video lesson
Extendiendo el proyecto anterior subiremos un poco la dificultad del MasterMind.
-
38ProcedimientosVideo lesson
En esta clase veremos el concepto de procedimiento en Java, así como el de método.
-
39FuncionesVideo lesson
En esta clase veremos el uso y funcionamiento de funciones en Java.
-
40Alcance de identificadoresVideo lesson
Veamos qué pasa con las variables y parámetros locales frente a los componentes globales cuando los identificadores coinciden.
-
41Función booleanaVideo lesson
El tipo boolean, al poder ser usado como parte de una condición, resulta importante y particular en su tratamiento.
-
42SobrecargaVideo lesson
En Java, como en la mayoría de lenguajes, se admite la sobrecarga de identificadores. Veamos cómo funciona.
-
43Pasaje de parámetrosVideo lesson
Veremos en detalle el pasaje de parámetros.
-
44JavaDocVideo lesson
A partir de ahora será importante prestar atención a la documentación profesional del código, más aún al tener disponible la herramienta JavaDoc de Java.
-
45Pasaje de parámetros tipo arreglo y StringVideo lesson
Veremos en detalle como lograr el pasaje por referencia al utilizar arreglos y variables String.
-
46Proyecto 5: MasterMind 2.5Text lesson
Reimplementarás el proyecto anterior pero ahora utilizando subprogramas.
-
47EnumeracionesVideo lesson
Conoceremos el uso básico de la clase enum.
-
48RegistrosVideo lesson
Conocerás los Java records, utilizándolos de una manera bastante atípica pero muy provechosa para el aprendizaje.
-
49Enumeracoines, Registros y Rule-SwitchVideo lesson
Veremos un ejemplo práctico rediseñando el programa del Adivinador, pero esta vez utilizando una estructura más parecida a la orientación a objetos, utilizando solo enumerados y registros en vez de clases. También veremos un ejemplo de uso de la variante de switch llamada rule-switch.
-
50Arreglo con topeVideo lesson
Veremos cómo utilizar registros para crear un tipo de datos conocido como arreglo con tope.
-
51Proyecto de práctica opcional: TopArray ordenadoText lesson
Esta es una propuesta opcional que tiene como objetivo que practiques lo visto hasta ahora antes de enfrentar el siguiente proyecto obligatorio.
-
52Proyecto 06: MasterMind 3.0Text lesson
En esta oportunidad el programa MasterMind cambiará de rol y hará las veces de adivinador. Sin duda un reto extremadamente retador.
-
53ClasesVideo lesson
Veremos cómo se crea una clase en Java, objetos a partir de ella utilizando un constructor, y además contrastaremos dicho modelo con el mismo ejemplo en lenguaje Pascal, ya que utiliza un modelo que funciona como en C y C++.
-
54EncapsulamientoVideo lesson
Entender el encapsulamiento para determinar cuándo conviene tener componentes de una clase públicos o privados es crucial.
-
55Ejemplo práctico: Adivinador con clases y uso de THISVideo lesson
Entender el uso de la referencia this es un asunto crucial y clave. Reimplementaremos el programa del Adivinador cambiando el uso de registros por clases y objetos.
-
56Teoría de clasesVideo lesson
Entenderemos aquí como funcionan los objetos en Java, las clases y el significado de static.
-
57Constante NULL, uso de static y destrucción de objetosVideo lesson
Aplicando lo visto en la clase anterior, entenderemos de forma práctica el uso de static, conoceremos la constante null y veremos cómo Java destruye objetos.
-
58Tipos Abstractos de DatosVideo lesson
Comencemos a ver el concepto de TAD, que no es algo específico de Java, sino más bien es una "forma" de pensar o hacer las cosas.
-
59TopArray como TADVideo lesson
Veremos el arreglo con tope como un TAD creando específicamente un arreglo de objetos Persona.
-
60Probando el TAD TopArrayVideo lesson
Verás cómo usar un argumento variable y cómo hacer simples pruebas de las operaciones programadas para el TAD TopArray.
-
61El juego de la vida: presentaciónVideo lesson
Presentamos El juego de la vida como caso de estudio. En la siguiente clase lo llevaremos a cabo.
-
62El juego de la vida: implementaciónVideo lesson
Siguiendo la clase anterior, en esta oportunidad veremos cómo implementar la lógica del Juego de la Vida.
-
63Proyecto 07: BuscaminasVideo lesson
Te presentamos en esta clase el séptimo proyecto del curso, en el cual recibirás la interfaz gráfica ya preparada, encargándote de realizar el motor lógico del juego Buscaminas.
-
64Proyecto 08: MasterMind 4.0Text lesson
Finalizando con la "franquicia" MasterMind, en esta oportunidad haremos un programa que unirá las versiones anteriores en una sola, permitiendo al usuario elegir si quiere jugar en modo PENSADOR o en modo ADIVINADOR.
-
65Creación y escritura de un archivo de textoVideo lesson
-
66Apertura y lectura de un archivo de textoVideo lesson
Veremos cómo crear un flujo de entrada y leer un archivo de texto.
-
67Bloc de notasVideo lesson
Veremos el funcionamiento interno de un procesador de textos básico.
-
68Serialización de objetosVideo lesson
Verás cómo guardar objetos directamente en archivos.
-
69Des-serialización de objetosVideo lesson
Ahora que sabes guardar objetos también necesitas poder recuperarlos.
-
70Proyecto - Registro de Ventas - ArquitecturaVideo lesson
Veremos el proyecto que implementaremos en las siguientes clases para hacer uso de todo lo aprendido con archivos agregando ciertas cuestiones de gran importancia.
-
71Proyecto - Registro de Ventas - ComandosVideo lesson
En esta clase programaremos la API de comandos del sistema.
-
72Proyecto - Registro de Ventas - LógicaVideo lesson
Veremos el paquete con los componentes básicos de la lógica del sistema.
-
73Proyecto - Registro de Ventas - ControladorVideo lesson
En esta clase veremos el controlador del sistema, quién gestionará todo el contenido.
-
74Proyecto - Registro Ventas - Bucle principal y letra del proyectoVideo lesson
Veremos aquí la estructura final del proyecto enlazando todo a la clase principal e iniciando la ejecución en main, así como las pautas para continuar y finalizar el programa como proyecto de entrega obligatoria.
-
75Expresiones regularesVideo lesson
Si bien no tienen que ver con TADs específicamente, las expresiones regulares son una herramienta fundamental para todo/a progamador/a.
-
76Lista simple encadenada - Clases internasVideo lesson
Veremos cómo aplicar en Java el concepto de LinkedList usando clases internas.
-
77Listas encadenadas - VariacionesVideo lesson
Además de la lista simple encadenada hay otras variaciones que pueden resultar muy útiles para ciertos problemas y, por ende, es importante que las conozcas y puedas manipular.
-
78Pilas y colas (Stack y Queue)Video lesson
Las pilas y colas son una "forma" de listas encadenadas aunque se suelen separar de dicho TAD porque su funcionamiento y aplicación son muy diferentes.
-
79Árbol binario de búsquedaVideo lesson
Saliéndonos de las estructuras lineales es momento de conocer una estructura arborescente: el ABB o BST (en inglés). El árbol binario de búsqueda es extremadamente importante y ampliamente utilizado en casi cualquier sistema de software, desde juegos a sistemas de gestión de BIG DATA.
External Links May Contain Affiliate Links read more