El present curs es basa en la versió actual de suport a llarg termini Java SE 11 i està dissenyat per a alumnes que vulguin aprendre i aprofundir els seus coneixements en el llenguatge de programació Java i en el desenvolupament d'aplicacions en la plataforma Java SE.
Els assistents aprendran a dissenyar aplicacions robustes mitjançant l'ús de la programació modular a la plataforma Java, alhora que coneixen i posen en pràctica els components nadius claus de l'API de Java (Java Stream API, Java NIO.2, Java Collections Framework, JDBC, Java Concurrency, ...)
Cal destacar, com a valor afegit, que el present curs prepara els estudiants per a la superació de la prestigiosa certificació oficial d'Oracle OCP: Java SE 11 Developer.
Aquest curs està dirigit a persones que volen aprendre i aprofundir els seus coneixements en el llenguatge de programació Java i en el desenvolupament d'aplicacions en la plataforma Java SE, incloent entre altres els seus components i conceptes principals, les construccions principals del llenguatge, la utilització de les APIs fonamentals de la plataforma, la gestió de col·leccions, l'ús d'expressions lambda i l'API de Streams, l'accés a base de dades i sistema de fitxers, la concurrència i la modularització, entre d'altres.
És recomanable tenir coneixements previs de programació en altres llenguatges i sobre el paradigma de programació orientada a objectes. Encara que no es tracta d'un requisit imprescindible per a realitzar el curs, serà recomanable per part de l'alumne fer un esforç en obtenir aquestes nocions per poder seguir el ritme del curs amb garanties.
Un cop finalitzat el curs, l'alumne haurà adquirit els coneixements i habilitats per:
- Desplegar i executar aplicacions Java modulars.
- Manipular valors numèrics, de text, de data i hora utilitzant tipus primitius i classes de Java.
- Implementar la lògica d'un programa utilitzant variables, arrays, construccions condicionals i bucles.
- Organitzar el codi Java mitjançant classes, interfícies i enumeracions.
- Crear aplicacions que aprofitin les característiques de la programació orientada a objectes de Java com l'encapsulació, l'herència i el polimorfisme.
- Implementar propagació i gestió d'errors.
- Utilitzar l'API de Java Collections.
- Utilitzar expressions Lambda.
- Processar informació mitjançant l'API de Streams.
- Manipular arxius, directoris i sistemes de fitxers.
- Implementar funcionalitat d'entrada/sortida (E/S) per llegir i escriure dades binaris i de text.
- Utilitzar l'API JDBC per a l'accés a base de dades.
- Utilitzar l'API de Java Concurrency.
- Utilitzar i definir les nostres pròpies anotacions en Java.
Després de la realització del present curs oficial, l’alumne estarà preparat per superar l’examen de certificació oficial:
La superació d'aquest examen és un requisit imprescindible per obtenir la certificació OCP: Java SE 11 Developer
Informació important: Aquest examen de certificació oficial està inclòs per als membres del programa PUE Alumni que finalitzin el curs amb aprofitament. Es realitzarà l’examen oficial a través de l’opció Online Proctored, que permet atendre l’examen de certificació des de qualsevol ubicació amb una simple connexió a internet.
Un cop hagis realitzat la preinscripció al curs:
1r rebràs un correu electrònic amb els passos a seguir per accedir a realitzar la corresponent prova de nivell en modalitat online.
2º realitzada aquesta prova de nivell rebràs un correu on et recordarem, perquè puguem formalitzar i validar la teva candidatura, la següent documentació exigida per l'expedient que ens hauràs de facilitar:
- Fotocòpia del DNI.
- Títol de formació reglada oficial (Batxillerat, CFGS, CFGM, Diplomatura, Llicenciatura, Grau…). En cas de titulacions extrangeres, és necessària la homologació de la titulació.
- Informe de Vida Laboral, en cas d’estar treballant.
- Fotocòpia de la demanda d’ocupació (DARDO) actualitzada, en cas d’estar desocupat.
Podeu contactar amb nosaltres mitjançant el següent formulari de sol·licitud d’informació o trucant-nos al 93.206.02.49 indicant que el motiu de la vostra trucada és en relació a un projecte de formació subvencionada.
A continuació, es mostra el calendari de sessions previstes en modalitat Live Virtual Class (LVC). En algunes situacions excepcionals, aquest calendari podria tenir algunes modificacions puntuals respecte a la seva previsió inicial.
Mòdul 1: Tecnologia Java i el seu entorn
- Desenvolupament i tecnologies en Java.
- Característiques clau del llenguatge Java.
- Java Development Kit (JDK) vs Java Runtime Environment (JRE).
- Components de la programació orientada a objectes.
- Components d'un programa Java bàsic.
- Compilació i execució d'un programa a Java.
Mòdul 2: Creació d'un programa Java simple
- Creació d'un programa executable a Java amb una classe principal.
- Convencions a seguir en un programa Java.
- Comentaris en Java.
- Paraules reservades de Java.
- Compilació i execució d'un programa Java des de la línia d'ordres.
- Creació de paquets.
- Importació de paquets a Java.
- El paquet java.lang.
Mòdul 3: Java Platform Module System (JPMS)
- JDK Modular.
- Declaració de mòduls.
- Configurar accés entre mòduls.
- Compilació i execució d'un projecte modular.
Mòdul 4: Migració a una Aplicació Modular
- Migració d'una aplicació desenvolupada amb una versió anterior a Java SE 9.
- Migració de tipus top-down i bottom-up.
- Divisió d'una aplicació Java SE 8 en mòduls per a la migració.
- Ús de ideps per determinar dependències.
Mòdul 5: Tipus de dades a Java
- Declaració i inicialització de variables.
- Variables de tipus final.
- Conversions entre tipus de dades.
- Automatic vs Manual promotion.
- Declaració i inicialització de variables de tipus String.
Mòdul 6: Operadors en Java
- Operadors aritmètics bàsics.
- Operadors d'increment i decrement.
- Operadors relacionals.
- Operadors d'assignació aritmètica.
- Operadors condicionals.
- Precedència d'operadors i ús de parèntesis.
Mòdul 7: Sentències de decisió a Java
- Sentències de presa de decisió (if-then i if-then-else).
- La sentència switch.
- L'operador == amb tipus primitius i objectes.
- Comparació d'objectes String usant els mètodes compareTo() i equals().
Mòdul 8: Sentències d'iteració a Java
- Sentències d'iteració a Java.
- Bucles de tipus for.
- Bucles de tipus for millorat.
- Bucles de tipus while.
- Bucles de tipus do-while.
- Comparació i ús dels bucles for, while i do-while.
- Les instruccions break i continue.
Mòdul 9: Arrays vs ArrayLists
- Declaració i ús d'arrays unidimensionals.
- Declaració i ús de ArrayList.
- Recorregut d'elements d'un Array i ArrayList.
- Comparació entre Arrays i ArrayLists.
Mòdul 10: Definició i ús de classes/objectes en Java
- Estructura d'una classe a Java.
- Declaració i instanciació d'objectes a Java.
- Cicle de vida d'un objecte en memòria.
- Accés als atributs o camps d'un objecte.
Mòdul 11: Definició i ús de mètodes en Java
- Definició i ús de mètodes.
- Definició i ús de constructors.
- Definició i invocació de mètodes sobrecarregats.
- Ús del modificador static en mètodes i atributs.
Mòdul 12: Encapsulació en Java
- Ús de modificadors d'accés.
- Principis d'encapsulació en una classe.
Mòdul 13: Herència en Java
- Definició i ús de subclasses i superclasses.
- Definició i ús de classes abstractes.
- Polimorfisme a Java.
- Sobreescriptura de mètodes en Java.
- Object type vs Reference type.
- Overloading vs Overriding vs Hiding.
Mòdul 14: Gestió d'excepcions i assercions
- Avantatges del maneig d'excepcions.
- Checked Excepcions vs Unchecked Exceptions vs Errors.
- Blocs try-catch.
- Definició i invocació de mètodes que llancen excepcions.
- Ús de la sentència try-with-resources.
- Definició i ús d'excepcions personalitzades.
- Avaluació d'invariants usant assercions.
Mòdul 15: Nested Classes i Enumeracions en Java
- Definició i ús de classes internes, imbricades i anònimes.
- Definició i ús de classes finals.
- Definició i ús d'enumeracions.
Mòdul 16: Interfícies en Java
- Definició i ús d'interfícies amb default methods.
- Definició i ús d'interfícies amb mètodes privats.
- Interfícies funcionals i expressions lambda.
- Definició i ús d'interfícies funcionals.
- Definició i ús d'expressions lambda.
Mòdul 17: Interfícies funcionals natives
- Ús d'interfícies del paquet java.util.function.
- Interfícies funcionals base: Predicate, Consumer, Function i Supplier.
- Variants disponibles de les interfícies base del paquet java.util.function.
Mòdul 18: Java Stream API
- La interfície java.util.stream.Stream.
- Definició i ús d'expressions lambda.
- Definició i ús de method references.
Mòdul 19: Operacions Lambda a Streams
- Ús dels mètodes map, peek i flatMap a Streams.
- Ús dels mètodes findFirst, findAny, anyMatch, allMatch i noneMatch a Streams.
- Ús de la classe Optional.
- Ús d'operacions de count, max, min, average i sum a Streams.
- Ordenar una col·lecció usant expressions lambda.
- Ús de Collectors a Streams.
- Ús d'operacions de groupingBy i partitioningBy a Streams.
Mòdul 20: Paral·lel Streams
- Ús de Streams paral·lels.
- Implementació de descomposició i reducció amb Streams.
Mòdul 21: Java Collections Framework i Generics
- Classes wrapper, autoboxing i autounboxing.
- Definició i ús de classes genèriques.
- Mètodes amb notació de tipus diamond i wildcards.
- Col·leccions base de l'API de Java Collections Framework.
- Interfícies clau a l'API de Java Collections Framework.
- Les interfícies java.util.Comparator i java.lang.Comparable.
Mòdul 22: Java I/O API (Fundamentals i NIO2)
- Lectura i escriptura de dades des d'arxius i consols mitjançant I/O Streams.
- Ús de fluxos d'E/S per a lectura i escriptura de fitxers.
- Lectura i escriptura d'objectes mitjançant serialització.
- Ús de la interfície Path per operar en rutes de fitxers i directoris.
- Utilitzeu la classe Files per verificar, eliminar, copiar i moure fitxers i/o directoris.
- Ús de l'API de Streams amb fitxers.
Mòdul 23: JDBC API (Java Database Connectivity)
- Connexió a bases de dades mitjançant URL de JDBC i DriverManager.
- Ús de PreparedStatement per realitzar operacions CRUD.
- Ús de PreparedStatement i CallableStatement per fer operacions d'accés a dades.
Mòdul 24: Java Annotations
- Propòsit de les anotacions i patrons dús típics.
- Ús d'anotacions a classes i mètodes.
- Anotacions d'ús comú a la JDK.
- Definició i ús d'anotacions personalitzades.
Mòdul 25: Localització en Java
- Ús de la classe Locale.
- Definició i ús de resource bundles.
- Formateig de missatges, dates i números a Java.
Mòdul 26: Java Concurrency i Multithreading
- Creació de worker threads per executar tasques de manera concurrent.
- Runnable, Callable i ExecutorService.
- Ús de col·leccions i classes del paquet java.util.concurrent.
- Escriptura de codi de tipus thread-safe.
- Problemes típics: deadlocks i livelocks.