- Descripción
- Currículum
- Reseñas
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 ===
-
1Introducción
¿Qué verás en el curso y cómo trabajaremos?
-
2Instalación de JRE y JDK
Instalaremos herramientas neceasrias para programar en JavaScript utilizando el IDE Apache NetBeans.
-
3Instalación de Apache NetBeans
Instalaremos aquí el IDE Apache NetBeans que nos servirá para trabajar con Java, JavaScript, HTML y CSS.
-
4Creación del primer programa en Java
Ya lo hiciste en Pascal, luego en C++ y ahora lo harás en Java: ¡Hola mundo!
-
5Tipos de lenguajes de programación
Comprende las diferencias estructurales de los distintos lenguajes de programación.
-
6Certificación en programación Java y Orientación a Objetos
Dos certificaciones en una.
-
7Salida estándar en Java
Comencemos aprendiendo a mostrar información por consola.
-
8Salida multilínea en Java SE
Aprende a imprimir varias líneas de información por consola.
-
9Variables y entrada en JavaSE
Leer información del usuario es imprescindible, de otro modo los programas no servirían de mucho.
-
10Lectura de enteros en JavaSE
Leer números enteros tiene sus particularidades.
-
11Números reales en JavaSE
Los números de punto flotante son otro tema, como en cualquier lenguaje.
-
12Constantes en JavaSE
Las constantes, llamadas variables finales en Java, son una forma de almacenar valores fijos.
-
13División entera y división real en JavaSE
Veamos cómo Java maneja la división entera, el módulo y la división real.
-
14Inferencia de tipos en JavaSE
Java puede inferir los tipos de las variables a partir de su valor.
-
15Secuencias de escape en JavaSE
Hay caracteres que podemos usar para formatear el texto.
-
16Tipos primitivos de datos en JavaSE
Conocer los tipos de datos más básicos del lenguaje es imprescindible.
-
17Sentencia IF JavaSE
Empecemos a lograr que los programas tengan opciones al ejecutarse.
-
18Diagrama de flujo básico
Diagramar, o sea, planificar, es clave. Veamos cómo dibujar el flujo de nuestro programa.
-
19Diagrama de concatenación IF
Dibujemos ahora un diagrama de flujo más complejo.
-
20IF concatenado en JavaSE
A veces necesitamos más que dos caminos de ejecución.
-
21Selección múltiple en JavaSE
Conozcamos la sentencia SWITCH.
-
22Boolean y operadores lógicos en JavaSE
Empezar a crear condiciones tiene sus complejidades.
-
23Operadores comparativos JavaSE
Las comparaciones son también condiciones.
-
24Operador ternario en JavaSE
Una forma compacta de IF.
-
25Repetición con FOR en JavaSE
Repetir código es imprescindible. Comencemos conociendo el bucle más simple: FOR.
-
26Números aleatorios en JavaSE
Aprendamos cómo generar números al azar.
-
27Proyecto: Adivinador 2.0 en JavaSE
Crearás tu primer proyecto completo.
-
28Bucle WHILE en JavaSE
La siguiente forma de iteración es el bucle WHILE.
-
29Bucle DO-WHILE en JavaSE
DO-WHILE es una variación de WHILE, que resulta más útil en ciertos contextos.
-
30Caso práctico: Adivinador 3.0 en JavaSE
Trabajemos sobre la base del proyecto anterior.
-
31Arreglos en JavaSE
Los arreglos son estructuras lineales de datos. Veamos para qué sirven.
-
32El argumento args y el uso de for-each en JavaSE
El procedimiento main contiene un argumento String args[], que es un arreglo. Veamos, ahora que sí podemos entenderlo, para qué sirve.
-
33Búsqueda lineal en arreglos JavaSE
Encontrar elementos en un arreglo no es tan simple como puede parecer.
-
34Arreglos de caracteres en JavaSE
Los caracteres son un tema interesante de ser tratado.
-
35Números sin repetir en un arreglo JavaSE
Completa un arreglo con números aleatorios no repetidos.
-
36Generar letras aleatorias en JavaSE
Las letras no son números ¿Cómo puedes crearlas aleatoriamente?
-
37Arreglos bidimensionales en JavaSE
Trabajar con tablas o matrices es importante.
-
38Proyecto: Truco de las 21 cartas en JavaSE
Trabajarás en un proyecto complejo aplicando todo lo visto hasta ahora.
-
39Proyecto: MasterMind 1.0
Continúa tu entrenamiento con un nuevo y retador proyecto.
-
40Proyecto: MasterMind 2.0
Finaliza esta sección consagrando tu entrenamiento con el proyecto MasterMind 2.0, que es una mejora del anterior.
-
41Procedimientos en JavaSE
Aprende a crear procedimientos.
-
42Funciones en JavaSE
Aprende a crear funciones.
-
43Alcance y sombreado de identificadores JavaSE
Ahora los identificadores tienen alcance fuera y dentro de los subprogramas. Entiende esto a la perfección.
-
44Función booleana JavaSE
Trabajemos con un ejemplo de función booleana ya que puede incluida dentro de las condiciones de un IF o un bucle.
-
45Sobrecarga básica en JavaSE
Tener subprogramas con el mismo nombre se conoce como sobrecarga.
-
46Pasaje de parámetros en JavaSE
Todo parámetro en Java se pasa por copia, a diferencia de lo que ocurre en lenguajes como Pascal o C++. Sin embargo hay que entender los detalles de esto.
-
47JavaDoc
Los comentarios JavaDoc son de lo mejor que hay para documentar los proyectos.
-
48Parámetros Array y String en JavaSE
Veamos los detalles de estos dos tipos de datos particulares.
-
49Proyecto: MasterMind 2.5
Aplica ahora lo aprendido con un nuevo proyecto.
-
50Enumeraciones JavaSE
Aprende a crear tipos enumerados.
-
51Registros de JavaSE
Los registros de Java son tipos inmutables, pero comprende qué es esto.
-
52Rule-Switch JavaSE
Veamos una variación de switch.
-
53Arreglos con tope en JavaSE
Un ingenioso tipo de arreglos.
-
54Práctica: TopArray JavaSE
Crea tu propio TopArray y entrena lo aprendido.
-
55Proyecto: MasterMind 3.0
Programa un avanzado algoritmo para crear la versión Pensador de este juego de lógica.
-
56Clases en JavaSE
Comencemos a entender los objetos y las clases.
-
57Encapsulamiento JavaSE
Restringir el acceso a miembros de una clase es algo esencial.
-
58Práctica: el Adivinador con clases JavaSE
Modernicemos nuestros primeros proyectos.
-
59Teoría de clases en JavaSE
Sin teoría no hay práctica posible.
-
60Constante null, modificador static y destrucción en JavaSE
Veremos varios conceptos juntos.
-
61Tipos abstractos de datos en JavaSE
La abstracción es clave en cualquier lenguaje.
-
62El TAD TopArray en JavaSE
Ya lo conocemos, pero ahora lo mejoraremos.
-
63El juego de la vida: presentación en JavaSE
Un autómata interesante.
-
64El juego de la vida: implementación en JavaSE
Llevemos a cabo este autómata de simulación de vida.
-
65Proyecto: Buscaminas JavaSE
Crearás el juego del buscaminas.
-
66Proyecto: MasterMind 4.0
Llevarás el MasterMind a su última versión aplicando todo lo aprendido hasta ahora en el curso.
-
67Creación de archivos de texto plano en JavaSE
Los archivos de texto plano son los más fáciles de trabajar.
-
68Apertura y lectura de archivos de texto plano JavaSE
Continuemos aprendido sobre archivos de texto.
-
69Bloc de notas en JavaSE
Crearemos un bloc de notas.
-
70Serialización de objetos en JavaSE
Veamos cómo guardar objetos en archivos.
-
71Des-serialización de objetos en JavaSE
Aprendamos a leer los objetos guardados en archivos.
-
72Proyecto: JRegistro de Ventas - Arquitectura
Veremos el proyecto que implementaremos en las siguientes clases para hacer uso de todo lo aprendido con archivos agregando ciertas cuestiones de gran importancia.
-
73Proyecto: JRegistro de Ventas - Comandos
Veamos los comandos de este proyecto.
-
74Proyecto: JRegistro de Ventas - Lógica
Veamos la lógica de negocios de este sistema.
-
75Proyecto: JRegistro de Ventas - Controlador
El controlador es la base de todo programa.
-
76Expresiones regulares en JavaSE
Las expresiones regulares permiten analizar cadenas de caracteres.
-
77Clases internas en JavaSE
Una clase dentro de otra clase.
-
78Listas encadenadas a fondo en JavaSE
Trabajemos a fondo con las variaciones de listas encadenadas.
-
79Pilas y colas en JavaSE
Las pilas (stack) y colas (queue) son estructuras muy importantes de conocer y dominar.
-
80Árbol binario de búsqueda en JavaSE
Una estructura no lineal. Ahora las cosas se vuelven interesantes.
-
81Casteo y protección de miembros en JavaSE
Aprende a preguntar si un objeto es de cierta clase o no, a protejer miembros de ellas y a castear o utilizar enlazamiento dinámico.
-
82La clase base de todas: Object en JavaSE
Existe una clase que es de la que toda clase hereda automáticamente.
-
83Polimorfismo en JavaSE
Una misma operación puede cambiar de forma de un objeto a otros que lo heredan.
-
84Interfaces en JavaSE
Las interfaces son imprescindibles en Java, ya que este lenguaje no admite herencia múltiple, pero se emula a través de esta herramienta.
-
85Iterable e Iterator en JavaSE
Cómo lograr que tus estructuras sean automáticamente iterables.
-
86Clases abstractas en JavaSE
Clases de las cuales no se pueden instanciar objetos.
-
87Genéricos en JavaSE
Tener tipos de datos generalizados o estructuras que admiten varios tipos de datos distintos es muy provechoso.
-
88Excepciones en JavaSE
Prevenir errores en el código es importante ¿no crees?
-
89Proyecto: Veterinaria Simple en JavaSE
Crearás un pequeño sistema de gestión de una veterinaria.
-
90JOptionPane
Comencemos usando los cuadros de diálogo predefinidos de Java.
-
91Primera ventana con JFrame
Creemos la primera ventana.
-
92Eventos de botón y de campos en JavaSE
Comencemos a trabajar con eventos.
-
93Eventos de foco en JavaSE
A veces resulta útil activar eventos cuando un elemento adquiere o pierde foco.
-
94Creando un formulario básico en JavaSE
Que un usuario complete datos es tarea super habitual.
-
95RadioButtons y ChecksBox en JavaSE
Componentes muy comunes en toda interfaz gráfica.
-
96Listas múltiples y combobox en JavaSE
Las listas desplegables o múltiples son importantes.
-
97Iconos y recursos internos en Swing de JavaSE
Veamos cómo usar recursos internos en un proyecto, como imágnes, iconos y más.
-
98Tablas en JavaSE
Cuando hay mucha información que mostrar las tablas son esenciales.
-
99Manipulación y gestión de tablas en JavaSE
Las tablas tienen sus particularidades.
-
100Filtros de tablas en JavaSE
Entiende cómo filtrar información en una tabla.
-
101Layout managers en Swing de JavaSE
Cómo disponer elementos en las ventanas y cuadros es importante.
-
102Diseñador gráfico para Swing en NetBeans
NetBeans permite dibujar las interfaces gráficas arrastrando y soltando elementos en el acto.
-
103Cuadros de diálogo personalizados en JavaSE
JOption pane se quedará corto rápidamente, es importante aprender a crear cuadros de diálogo personalizados.
-
104Ejercicios con cuadros de diálogo en JavaSE
Usemos algunos cuadros de diálogo para entrenarnos.
-
105Barras de menús y menús contextuales en JavaSE
Aprende a crear menús.
-
106Acciones en JavaSE
Un modo interesante de gestionar eventos.
-
107Instalar y configurar JavaFX
JavaFX permite crear interfaces gráficas de un modo distinto a Swing.
-
108Estructura de un programa JavaFX
Veamos cómo funciona un programa JavaFX.
-
109Creación dinámica de componentes
Veamos cómo generar componentes dinámicamente.
-
110Creando un JAR ejecutable en JavaFX
Veamos cómo crear un ejecutable.
-
111Combobox y listas JavaFX
Veamos cómo usar listas.
-
112Cierre de JavaFX
Finalicemos el módulo de JavaFX.
-
113Introducción al módulo JDBC
Las bases de datos son un componente crucial en todo sistema.
-
114Conectar MySQL con JavaSE
Veamos cómo establecer la conexión a la base de datos.
-
115Ejecutar sentencias SQL desde JavaSE
Veamos cómo crear tablas, registros y actualizar campos.
-
116Realizar consultas SQL desde JavaSE
Al obtener los resultados de una consulta SQL debemos poder manipularlos en nuestra aplicación.
-
117Sentencias SQL preparadas en JavaSE
Por mayor practicidad y, más aún, por mayor seguridad, usar sentencias preparadas es importante. Veamos cómo lograrlo.