← Especialidades formativas

Especialidad formativa

Programación java básico

IFCD0029 120 h
Ver contenido del curso

Qué aprenderás

Adquirir conocimientos sobre los conceptos de la programación Java, diseñar aplicaciones orientadas a objetos con Java y crear programas Java.

Contenido del curso

01

SINTAXIS BÁSICA DEL LENGUAJE JAVA

  • OBJETIVO
  • Implementar aplicaciones Java de escritorio orientadas a texto que emplee todos los recursos del lenguaje Java.
  • CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Configuración del entorno en Windows.
  • Introducción a Java.
  • Declaración de variables de tipo primitivo.
  • Operadores y operaciones sobre los datos.
  • Palabras reservadas, caracteres de escape y comentarios.
  • Control de flujo. Sentencias, bloques y bucles.
  • Arrays y matrices.
  • Clase Math.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Interés por la utilización de las herramientas que permitan seguir el proceso de desarrollo en equipos multidisciplinarios y con diversos desarrolladores/ implementadores.
  • Desarrollo de actitudes responsables sobre los procesos tecnológicos y buenas prácticas en la información técnica de los procesos de configuración realizados, así como en la documentación de uso y gestión que se genera, para el correcto funcionamiento de las aplicaciones.
  • Desarrollo de una actitud responsable sobre todo el proceso IT considerando aspectos de eficiencia y seguridad en las acciones realizadas.
02

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

  • OBJETIVO
  • Utilizar las técnicas de programación orientación a objetos.
  • CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Los 4 pilares de la OOP (abstracción, encapsulación, herencia y polimorfismo).
  • Clases en Java.
  • Métodos equals,
  • hashCode
  • toString.
  • Modificadores de encapsulación
  • private
  • "default"
  • protected
  • public
  • Modificador static.
  • Atributos de la clase. IS-A (herencia) frente a HAS-A (composición débil/fuerte).
  • Constructores para la instanciación de objetos.
  • Referenciación de las instancias.
  • Constructor implícito y super implícito.
  • Encadenamiento de constructores.
  • Sobrecarga de constructores.
  • Organización de la memoria en Java.
  • Zonas Grub, Heap y Stack.
  • Reciclado de memoria. Hilo Garbage-Collector.
  • Métodos para encapsular la funcionalidad de la clase.
  • Dinámicos o de instancia/objeto
  • Estáticos o de clase.
  • Paso de parámetros a un método.
  • Valores primitivos y referenciados.
  • Modificador final.
  • Conceptos de bajo acoplamiento y alta cohesividad.
  • Implementación y Herencia.
  • Interfaces. Supertipos para un bajo acoplamiento.
  • Clases abstractas. Supertipos para reutilización de funcionalidad.
  • Polimorfismo. Lazy binding o la resolución dinámica de métodos de instancia.
  • Múltiples comportamientos.
  • Tipos enumerados simples y compuestos.
  • Bloques de inicialización estáticos y de instancia.
  • Importación estática.
  • Control de errores en ejecución. Excepciones y aserciones.
  • Colecciones de datos.
  • List, Set y Map.
  • Interfaces Comparable y Comparator.
  • Programación genérica o de tipo.
  • Java I/O
  • Encapsulación de texto mediante String, StringBuffer y StringBuilder.
  • Elementos mutables e inmutables.
  • Programación en entornos multi-concurrentes. Threads y sincronización por cerrojos.
  • Clases internas y anidadas.
  • Programación funcional mediante expresiones lambda y otras novedades de Java 8.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Interés por la utilización de las herramientas que permitan seguir el proceso de desarrollo en equipos multidisciplinarios y con diversos desarrolladores/ implementadores.
  • Desarrollo de actitudes responsables sobre los procesos tecnológicos y buenas prácticas en la información técnica de los procesos de configuración realizados, así como en la documentación de uso y gestión que se genera, para el correcto funcionamiento de las aplicaciones.
  • Desarrollo de una actitud responsable sobre todo el proceso IT considerando aspectos de eficiencia y seguridad en las acciones realizadas.
03

BASES DE DATOS SQL/JDBC

  • OBJETIVO
  • Identificar cómo funciona SQL, JDBC, el uso de transacciones y el pools de conexiones.
  • CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Bases de datos y el modelo entidad-relación.
  • RDBMS MySql. Instalación y configuración.
  • Creación de tablas, índices y sus posibles relaciones.
  • Operaciones C-R-U-D
  • Claves primarias y claves foráneas. Uso de join para resolver consultas ante 2 o más tablas relacionadas.
  • El API de programación Java JDBC.
  • El elemento DriverManager.
  • Instrucciones Statement, PreparedStatement y CallableStatement.
  • Consultas simples y parametrizadas mediante el uso del operador
  • Externalización de las consultas o queries en un fichero de propiedades. La clase Resource Bundle.
  • Gestión de excepciones.
  • Interfaces ResultSet y ResultSetMetaData.
  • Uso del Patrón Fachada – DAO. Interfaces de negocio y factorías de objetos. Desacoplamiento con el cliente.
  • Atomicidad y transaccionalidad. Gestión de la conexión mediante el patrón Thread-Local.
  • Introducción a la persistencia de objetos.
  • Modos conectado y desconectado.
  • Visión de los ORM Jpa
  • Hibernate.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Interés por la utilización de las herramientas que permitan seguir el proceso de desarrollo -en equipos multidisciplinarios y con diversos desarrolladores/ implementadores.
  • Desarrollo de actitudes responsables sobre los procesos tecnológicos y buenas prácticas en la información técnica de los procesos de configuración realizados, así como en la documentación de uso y gestión que se genera, para el correcto funcionamiento de las aplicaciones.
  • Desarrollo de una actitud responsable sobre todo el proceso IT considerando aspectos de eficiencia y seguridad en las acciones realizadas.
04

GESTION DEL PROYECTO. MAVEN Y JUNIT

  • OBJETIVO
  • Utilizar las herramientas relacionadas con la gestión de proyectos java con Maven y con la realización de pruebas de software.
  • CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Instalación de las herramientas.
  • Ficheros POM, arquetipos y repositorios de dependencias en Maven.
  • Ciclo de vida. Compilación, ejecución y empaquetado.
  • Pruebas unitarias con JUnit.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Interés por la utilización de las herramientas que permitan seguir el proceso de desarrollo en equipos multidisciplinarios y con diversos desarrolladores/ implementadores.
  • Desarrollo de actitudes responsables sobre los procesos tecnológicos y buenas prácticas en la información técnica de los procesos de configuración realizados, así como en la documentación de uso y gestión que se genera, para el correcto funcionamiento de las aplicaciones.
  • Desarrollo de una actitud responsable sobre todo el proceso IT considerando aspectos de eficiencia y seguridad en las acciones realizadas.

Especialidad formativa

¿Quieres esta formación para tu organización?