
El alumno sabrá las bondades de este curso
Conocerás la experiencia y trayectoria del profesor
Aprenderás el temario del curso y el orden de estudio
Crear, editar y eliminar Clases
Crear nuestro método main
Mostrar mensajes en consola
Comentarios en Java
Tipos de dato en Java
Declarar variables de la forma tradicional
Declarar variables de la forma moderna
Declarar constantes
¿Cuándo declarar una constante y cuándo una variable?
Mostrar datos con sout
Mostrar datos y mensajes con sout
Mostrar datos con printf
Suma
Resta
Multiplicación
División
Resto
Potencia
Raíz cuadrada
Generar números tipo int de forma aleatoria
Generar números tipo double de forma aleatoria
Teoría sobre la declaración de métodos personalizados en Java
Ejercicios sobre la declaración de métodos personalizados en Java
Leer tipos de dato usando el Scanner
Resolución al problema de leer un número y luego un String
¿Qué es un Wrapper Class?
Convertir datos en Java
Aumentar valores en 1 en Java
Aumentar valores en n en Java
Decrementar valores en 1 en Java
Decrementar valores en n en Java
Se enseñará a comparar números con las siguientes operaciones:
Igualdad
Desigualdad
Menor
Menor Igual
Mayor
Mayor Igual
Se enseñará a saber si un número es múltiplo de otro
Se enseñará a unir booleans con:
Operador and
Operador or
Se enseñara a negar condiciones booleanas con el operador negación
Se enseñará:
If/else
If/else anidado
Operador ternario
Se enseñará:
Switch antiguo
Switch moderno
Enums
Se enseñará teoría genérica sobre los bucles
¿Qué es un bucle?
¿Qué es una iteración?
¿Qué es un iterador?
¿Cuándo entre los bucles for o bucle while/do-while
Partes y declaración de un bucle for
Generar secuencia de números
Contar valores en una secuencia
Sumar valores en una secuencia
Multiplicar valores en una secuencia
Ejercicios aplicativos del bucle for
Diferencias entre while & do-while
Menúes infinitos con do-while
Fibonacci
Invertir número & número capicúa
Número primo
Declaración de arrays
Rellenar un Array
Tamaño de un array
Recorrer un array con for
Recorrer un array con foreach
Pasar un array por parámetro y como tipo de retorno de un método
Declaración de arrays aleatorios
Ejercicios de arrays
Aprenderás a ordenar un array usando el algoritmo de ordenamiento Bubble Sort
Declaración de listas
Añadir un elemento
Editar un elemento
Tamaño de la lista
Preguntar si un elemento es parte de la lista
Mostrar la lista en consola
Recorrer una lista
Pasar una lista por parámetro y como tipo de retorno de un método
Declaración de sets
Agregar valores a un set
Pasar un set como parámetro y como tipo de retorno de un método
Tamaño de un set
Intersección entre conjuntos
Union entre conjuntos
Diferencia entre conjuntos
Declaración de maps
Añadir un par key,value
Obtener el valué a través del key
Mostrar el map en consola
Recorrer un map
Pasar un map por parámetro y como tipo de retorno de un método
Excepciones
Excepciones comunes
Throws
Try/Catch
Finally
Stderr
Thread sleep
Strings como array de Char
Métodos para manipular Strings:
length
charAt
indexOf
String.format
String multilinea
equals & equalsIgnoreCase
contains
toUpperCase & toLowerCase
replace
compareTo & comparetoIgnoreCase
split
Ejercicios de manipulación de Strings
Creación, edición y eliminación de paquetes
Nomenclatura de paquetes
Modificadores de acceso:
private
default
public
Obtener el path relativo de un file
Leer de un file csv & txt
Escribir en un file txt
Teoría general:
Clases & objetos
Atributos & métodos
Constructor de una clase
Principio 1: Encapsulamiento
Setters & Getters
Principio 2: Abstracción
POO en Java:
Declaración clases
Instanciar objetos con el constructor por defecto y con parámetros
Nomenclatura de objetos
Palabra reservada this
Palabra reservada final para atributos en una clase
Ejercicios básicos aplicando lo aprendido de la sesión anterior
Palabras reservada static
Palabra reservada null
Ejercicios Aplicativos
Pasar Objetos como parámetro en métodos
Retornar Objetos en métodos
Método toString
Ejercicios Aplicativos
Array de objetos
Lista de objetos
Maps de objetos
Ejercicios de POO Avanzados
Herencia
Modificadores de acceso parte 2: private, default, protected & public
Ejercicios de herencia
Principio de polimorfismo
Overload
Override
Métodos abstractos & Métodos concretos
Clases abstractas e Interfaces
Implementación de métodos abstractos
Ejercicios de Polimorfismo
Aprenderás a alto nivel qué es lo que aprenderás a lo largo de este capítulo
Aprenderás qué es la terminal y los comandos más relevantes para poder navegar, crear/editar/eliminar archivos, listar archivos y abrirlos con diferentes programas
Aprenderás la creación de shell scripts para encapsular comandos de la terminal
Aprenderás a alto nivel qué es lo que aprenderás a lo largo de este capítulo
Se explicará al alumno el proceso de compilación y ejecución de un programa de Java
Compilación con javac
Ejecución de un programa con JVM
Se guiará al alumno a compilar y ejecutar un programa de Java por terminal
Se enseñará al alumno para qué sirve el parámetro String[] args del método main y cómo pasar parámetros desde la terminal a nuestros programas de Java
Aprenderás a alto nivel qué verás y aprenderás en este capítulo
Proceso de instalación de Maven para Windows
Proceso de instalación de Maven para MacOS
Definición de Maven
Creación proyecto de Maven con IntelliJ
Estructura de un proyecto de Maven
Archivo pom.xml
Maven Wrapper
Instalación del Maven Wrapper
Compilación & ejecución de un proyecto de Maven por terminal usando el Maven Wrapper
Build Lifecycle
Clean Lifecycle
Site Lifecycle
Ejecución de fases de lifecycle con el maven wrapper
Pasar 1 o más parámetros desde la terminal a nuestros proyectos
Leer variables del sistema
Definición de dependencias en Maven
Composición de una dependencia en Maven
Proceso de instalación de Dependencias
Definición de un plugin
Composición de un plugin en Maven
Definición de Logs
Niveles de Logs
Uso de logs
Generación de data aleatoria con la librería Faker
Lectura de Excel con la librería Poiji
Lectura de JSON con la librería Jackson Databind
Tienen todo lo que un alumno esperaría de un curso sin necesidad de experiencia previa:
Explicación Directa? No lo dudes, Los videos están editados y la explicación es concisa
Temas paso a paso? No lo dudes, te enseñaré desde la instalación de Java hasta armar tu framework con Selenium BDD!
Ejercicios resueltos? Of course, varios ejercicios por sesión ya que sin ejercicios la teoría queda a medias!
Temas y tecnologías modernas? Se usa Java 17, IntelliJ y Selenium 4 para sacarle el máximo provecho a las versiones modernas
Ejercicios para practicar? Claro que sí, cada sesión tiene ejercicios para que ustedes resuelvan para poder practicar lo aprendido
Cuestionarios por sesión con nivel de tipo entrevista? Exacto! cada sesión tiene un cuestionario con preguntas de entrevista para que puedas practicar cada tema a nivel teórico
El curso está estructurado para que tengas metas y logros constantes en Java
Comenzaremos instalando el entorno de trabajo con Java 17 e IntelliJ
A continuación aprenderás todo lo relacionado de Java desde un hola mundo hasta la programación orientada a objetos
Aprenderás el uso de la terminal tanto en Windows como en MacOs para su posterior uso con Maven
Usarás lo aprendido en la terminal para poder entender el proceso de compilación y ejecución de tus programas de Java
Conocerás la importancia de Maven y podrás entender cómo ejecutar tus proyectos por terminal
Podrás crear logs, generar data aleatoria, leer de Excel y leer de un archivo JSON usando las dependencias de Maven
Podrás a crear test unitarios con TestNG y JUnit5
Aprenderás a crear tests usando BDD con Gherkins, Cucumber & JUnit5
Conocerás los métodos básicos de Selenium y cómo automatizar una página web
Aprenderás métodos avanzados propios de versiones modernas de Selenium tales como la clase Actions, Shadow Dom, Localizadores Relativos, entre otros!
Utilizarás page object model para poder organizar tu framework con Selenium además de poder parametrizar el browser e inclusive ejecutarlo con headless mode
Finalmente, aprenderás a organizar tus tests automatizados de Selenium usando BDD con Gherkins, Cucumber y JUnit5