ITA0824JF Java Fundamentals
24 octombrie @ 09:00 - 25 octombrie @ 17:00
€599Scopul principal al acestui curs este de a oferi participanților o înțelegere profundă a fundamentelor Java. Cursul urmărește să reducă diferența dintre conceptele teoretice și aplicarea practică, permițând participanților să implementeze cele mai bune practici în dezvoltarea de aplicații Java.
Obiective de Învățare
Până la sfârșitul cursului, participanții vor fi capabili să:
- Înțeleagă istoricul și evoluția limbajului Java.
- Utilizeze caracteristicile cheie ale Java, precum independența platformei și natura orientată pe obiecte.
- Configureze mediul de dezvoltare Java și să înțeleagă rolurile JDK și JRE.
- Scrie și să înțeleagă programele Java de bază.
- Aplice conceptele de programare orientată pe obiecte (OOP) în Java.
- Folosească bibliotecile de bază Java pentru manipularea șirurilor de caractere, colecții și clase wrapper.
- Gestioneze excepțiile și să implementeze handling-ul acestora.
- Lucreze cu fluxurile de intrare/ieșire (I/O) și să manipuleze fișiere.
- Utilizeze uneltele de dezvoltare Java și să gestioneze dependențele proiectului.
- Înțeleagă și să aplice conceptele de multithreading și concurență.
- Utilizeze API-urile Java Standard Edition (SE).
- Înțeleagă conceptele de bază ale rețelelor și să implementeze programarea cu socket-uri.
- Aplice cele mai bune practici și standarde de codare în Java.
- Realizeze aplicații practice și proiecte pentru a consolida cunoștințele învățate.
Agenda Programului
Cursul va acoperi următoarele subiecte principale:
Ziua 1: Introducere în Java, Sintaxa de Bază și OOP
- Introducere în Java
- Istoric și Evoluție
- Caracteristici ale Java: Independenta platformei, orientarea pe obiecte și robustețea
- Java Development Kit (JDK) și Java Runtime Environment (JRE)
- Sintaxa și Structura de Bază a Java
- Programul Hello World: Scrierea și înțelegerea unui program simplu în Java
- Sintaxa de Bază: Cuvinte cheie, tipuri de date, variabile, operatori și expresii
- Controlul Fluxului: if-else, switch-case, bucle (for, while, do-while), și break/continue
- Programare Orientată pe Obiecte (OOP) în Java
- Clase și Obiecte: Definirea claselor, crearea obiectelor și conceptul de încapsulare
- Metode: Declarație, invocare, tipuri de return și transmiterea parametrilor
- Constructori: Scopul, tipurile de constructori și supraîncărcarea constructorilor
- Moștenire: Înțelegerea moștenirii, cuvântul cheie extends, suprascrierea metodelor și cuvântul cheie super
- Polimorfism: Supraîncărcarea și suprascrierea metodelor, polimorfism la runtime
- Abstracție și Interfețe: Clase abstracte, interfețe și utilizarea cuvântului cheie implements
Ziua 2: Bibliotecile de Bază Java, Gestionarea Excepțiilor, I/O și Multithreading
- Bibliotecile de Bază Java
- Manipularea Șirurilor de Caractere: Clasele String, StringBuilder și StringBuffer
- Framework-ul Colecțiilor: List, Set, Map și implementările acestora (ArrayList, HashSet, HashMap etc.)
- Clase Wrapper: Autoboxing și unboxing, și lucrul cu tipuri de date primitive într-un wrapper
- Gestionarea Excepțiilor
- Tipuri de Excepții: Checked și unchecked exceptions
- Blocate Try-Catch-Finally: Sintaxa și utilizarea blocurilor try, catch și finally
- Throw și Throws: Aruncarea excepțiilor și declararea excepțiilor în semnăturile metodelor
- Excepții Personalizate: Crearea și utilizarea excepțiilor definite de utilizator
- Intrare/Ieșire (I/O)
- Fluxurile I/O în Java: Înțelegerea fluxurilor de octeți și fluxurilor de caractere
- Manipularea Fișierelor: Citirea și scrierea în fișiere folosind clase precum FileInputStream, FileOutputStream, BufferedReader, BufferedWriter etc.
- Serializare: Salvarea și recuperarea obiectelor folosind serializarea
- Multithreading și Concurență
- Fire de Execuție: Crearea și gestionarea firelor de execuție folosind clasa Thread și interfața Runnable
- Sincronizare: Înțelegerea metodelor și blocurilor sincronizate pentru a gestiona accesul concurent la resurse
- Utilitare de Concurență: Introducere în pachetul java.util.concurrent, framework-ul Executor și colecțiile concurente comune
- Unelte de Dezvoltare Java
- Medii de Dezvoltare Integrate (IDEs): Introducere în IDE-uri populare pentru Java precum IntelliJ IDEA, Eclipse și NetBeans
- Unelte de Build: Introducere în unelte de build precum Maven și Gradle pentru gestionarea dependențelor și build-urilor proiectului
- Java Standard Edition (SE) APIs
- Pachetul Java.util: Clase utilitare precum Arrays, Collections, Date, Calendar etc.
- Pachetul Java.lang: Clase de bază precum Object, Math, System și Runtime
- Pachetul Java.time: API pentru manipularea datelor și orelor
- Introducere în Rețele
- Concepte de Rețea: Introducere în rețelele în Java folosind pachetul java.net
- Programare cu Socket-uri: Aplicații client-server de bază folosind socket-uri
- Cele Mai Bune Practici și Standardele de Codare
- Convenții de Codare: Convenții de denumire, formatarea codului și practicile de documentare
- Controlul Versiunilor: Introducere în sistemele de control al versiunilor precum Git pentru gestionarea codului sursă
- Aplicații Practice și Proiecte
- Exerciții și Sarcini: Exerciții practice de codare pentru a consolida învățarea
- Proiecte Mici: Proiecte mici pentru aplicarea conceptelor învățate pe parcursul cursului
- Proiect Final: Un proiect cuprinzător care integrează multiple concepte și demonstrează aplicarea practică
Durată
Cursul este conceput pentru a fi desfășurat pe durata a 2 zile a cate 8 ore in clasa sau timp de 4 zile a cate 4 ore in mediu online ( folosind Microsoft Teams).
Conținut Teoretic vs. Practic
Raportul dintre conținutul teoretic și cel practic va fi de aproximativ 40% teoretic și 60% practic. Acest echilibru asigură că participanții obțin o înțelegere solidă a conceptelor, având în același timp oportunități ample de a aplica cunoștințele lor prin exerciții hands-on și simulări.
Metodologia de Implementare
Cursul va utiliza o combinație de metode de instruire pentru a maximiza rezultatele învățării:
- Prelegeri și Prezentări: Pentru a introduce și explica conceptele teoretice.
- Exerciții Practice de Codare: Pentru a aplica cunoștințele teoretice în scenarii practice.
- Discuții de Grup și Sesiuni de Întrebări și Răspunsuri: Pentru a încuraja învățarea interactivă și a clarifica diverse teme.
- Studii de Caz și Exemple Reale: Pentru a ilustra aplicarea conceptelor Java în dezvoltarea aplicațiilor.
Suport pentru Curs
Participanții vor primi materiale de curs cuprinzătoare, incluzând:
- Materiale de Curs Electronice: Note detaliate, exemple de cod și resurse suplimentare.
- Acces la Resurse Online: Materiale suplimentare și link-uri pentru lecturi suplimentare.
Diploma de participare: studentii vor primi la finalul cursului un certificat care atesta participarea in cadrul cursului : ITADVISER Certificate of Achievement.