Curs programare java

Organizare curs Programare Java

Cursul Programare Java poate fi organizat in format Corporate sau grupa colectiva. Contacteaza-ne pentru detalii.

Curriculum

Este creat de Crystal Mind Academy si urmareste obiectivele certificarii internationale OCA (Oracle Certified Associate Java SE) si partial pe cele ale certificarii OCP (Oracle Certified Professional Java SE)

obiectiv

La acest curs de programare Java vei invata notiuni teoretice si practice de programare Java, iar la sfasitul cursului vei putea aplica pentru un post de Java Junior Developer.

Diploma/Certificare

Dupa promovarea examenelor online si realizarea unui proiect practic vei primi un certificat de absolvire in Limba Engleza care detaliaza cele invatate si contine un calificativ.
De asemnea vei putea sustine examenul pentru certificarea internationala OCA.

Curriculum Curs Programare Java

– istoricul si caracteristicile generale ale limbajului Java

– instalare software necesar:

– JDK, JRE si IDE (Eclipse Neon si NetBeans)

– creare workspace si creare de proiect empy „Hello World!“

– masina virtuala Java (JVM)

– tipuri de aplicatii Java

– tipuri de date in Java

– variabile, scopul variabilelor

– metoda main()

– creare obiecte utilizand constructori, citire si scriere de atribute

– distrugere de obiecte: concept Garbage collector

– expresii si operatori:

– operatori binari: aritmetici, promovarea numerica

– operatori unari: logic si de negare, de incrementare si de decrementare

– alti operatori: de atribuire simplu si compus, conversie explicita, relationali, logici, egalitate.

– instructiuni Java simple:

– instructiuni decizionale: if-then, if-then-else, switch

– instructiunea repetitive (bucle): while, do-while, for

– instructiuni Java complexe:

– instructiuni imbricate (nested loops) si etichete optionale (labels)

– utilizarea instructiunilor break si continue

– definirea de metode, semnatura metodei si functionalitate

– tablouri

– unidimensionale

– sortare, cautare, varargs

– multidimensionale

– intelegerea clasei ArrayList

– notiunea de clasa, elementele dintr-un fisier .java, obiecte

– modificatori de acces aplicati atributelor unei clase

– structura unei clase

– constructori:

– constructorul default

– supraincarcare de operatori

– atribute final

– incapsulare: getter si setter

– membrii unei clase de instanta vs. statici

– equals, hashCode si toString

– pachete Java

– importuri simple si statice

– apelare de membrii mosteniti

– metode si variabile mostenite

– tipuri de pachete Java: .jar

– creare si manipulare de Strings:

– concatenare, immutability, String Pool, metode specifice

– utilizarea clasei StringBuilder:

– mutabilitate (mutability)

– inlantuire (chaining)

– metode specifice

– StringBuilding vs StringBuffer

– clase are impacheteaza primitive (Wrapper classes)

– introducere in mostenirea claselor:

– conceptul de mostenire

– aplicarea modificatorilor de acces

– instantiere de obiecte

– constructori

– clase mostenite si explicarea conceptului de polimorfism:

– obiect vs referinta

– conversia explicita a obiectelor (Cast)

– metode virtuale

– parametrii polimerfici

– polimorfism si suprascrierea metodelor

– clase abstracte: definire, creare si extindere

– interfete: definire, mostenire, metode default si statice

– utilizarea operatorului instanceof

– lucrul cu tipul de date Enum

– clase imbricate:

– clase inner

– clase anonymous

– clase statice vs. clase finale

– operatorul diamond <>

– interoperatibilitatea tipurilor Raw si tipurilor Generics

– lucrul cu generics: tipul de date generic <T> aplicat claselor, interfetelor si metodelor

– parametrii Wildcard

– tipuri de date parametrizare: parametrul ?, lipsa acestuia si utilizari

– API-ul interfetelor colectie:

– interfata Collection

– colectii de tip lista: interfata List

– colectii de tip multime: interfetele Set, SortedSet, NavigableSet

– colectii de tip coada: interfetele Queue si Deque

– colectii de tip Map: interfetele Map, SortedMap, NavigableMap

– parcurgerea colectiilor:

– utilizand instructiunea for (pentru colectii de tip List)

– utilizand instructiunea for-each

– utilizand iteratori

– adaugiri in Java 8

– introducere: interfete grafice, JFC

– Principii de baza MVC, UI Delegate, Look-and-feel, Swing versus AWT

– clasificarea componentelor Swing

– componente Swing:

– desenarea componentelor grafice

– containere de baza, intermediare

– componente atomice simple si complexe

– meniuri si bare de unelte

– dialoguri

– componente pentru progres si derulare

– ferestre interioare.

– fundamente Swing: evenimente si ascultatori

– evenimente si ascultatori

– alinierea la JavaBeans (concept si practici)

– gestionarea „focusului“

– introducere in fire de executie (Threads): fire de executie in Swing

– diferentierea tipurilor de thread-uri

– prezentarea executiei concurente

– interfata Runnable

– crearea thread, metodei sleep(), crearea thread cu ExecutorService, oprire thread

– procesare de task-uri – exemplificare

– interfata Callable

– planificare de task-uri (scheduling)

– sincronizarea accesului la date:

– protejarea datelor cu clase atomice

– imbunatatirea accesuli utilizand blocuri sincronizate

– sincronizarea metodelor

– colectii concurente:

– lucrul cu clase concurente

– obtinerea de colectii concurente

– introducere in gestionarea proceselor concurente

– identificare probleme in threading.

– utilizare variabilelor in Lambda

– lucrul cu interfetele functionale built-in:

– implementare Supplier

– implemetare Consumer si BiConsumer

– implementare Predicate si BiPredicate

– implementare Function si BiFunction

– implementare UnaryOperator si BinaryOperator

– verificarea interfetelor functionale, returnare unui rezultat de tip Optional

– stream-uri:

– creare surse de Streams

– operatiuni terminale: allMatch(), collect(), count(), findAny(), forEach(), etc.

– operatiuni intermediare comune: filter(), distinct(), limit(), skip(), map(), flatMap(), sorted()

– alaturarea operatiunilor (pipeline)

– printarea unui Stream

– lucrul cu primitive.

– tratarea exceptiilor:

– rolul exceptiilor

– intelegerea tipurilor de exceptii

– aruncarea unei exceptii

– utilizarea instructiunilor try-catch-finally

– prinderea mai multor exceptii si multi-catch

– recunoasterea tipurilor de exceptii: exceptii runtime, exceptii checked, erori

– apelarea metodelor care arunca exceptii: throw vs. throws

– exceptii custom

– instructiunea assert:

– activare din linia de comanda

– utilizare.

– Fisiere si Directoare:

– intelegerea organizarii fisierelor in sistemul de operare

– clasa File

– stream-uri I/O:

– fundamente: conceptul de stream, operatiuni pe stream-uri

– API-ul java.io: clase utilizate pentru creare, accesarea si manipularea stream-urilor

– lucrul cu stream-uri:

– clasele FileInputStream si FileOutputStream

– clasele FileReader si FileWriter

– clasele ObjectInputStream si ObjectOutputStream

– interactiunea cu utilizatorii: java.io.Console

– inlocuirea clasei java.io.File si interactiunilor cu aceasta utilizand NIO2:

– interfata java.nio.file.Path

– interactiunea cu Paths si Files:

– metode pentru manipulare

– manipulare cu atribute (metadata)

– imbunatatirea accesului utilizand Views

– lucrul cu directoare: parcurgere, cautare, listare continut, printare fisiere continute

– comparare I/O si NIO2.

– introducere in baze de date de date si SQL

– conectarea la baza de date:

– divere: tipuri, instalare driver

– creare URL pentru crearea conexiunii la baza de date

– creare obiect Statement

– operatiuni CRUD pe baza de date (optional tipuri de date SQL):

– interogare: SELECT – folosire ResultSet, preluarea unei coloane, parcurgere ResultSet

– creare obiect PreparedStatement

– inserare: INSERT

– modificare: UPDATE

– stergere: DELETE

– exemplu utilizare CallableStatement (pentru parte tranzactionala – optional)

– tratarea warning-urilor si erorilor

– utilizarea obiectelor de tip RowSet:

– creare si populare

– lucrul in mod online: JbdcRowSet

– lucrul in mod off-line: CachedRowSet

– alte actiuni efectuate in interactiunea cu baza de date: filtrare, join-uri.

Intrebari frecvente (faq)

Daca depui mult efort si pasiune poti deveni un programator foarte bun. Vei pasi intr-o lume cu somaj zero la nivel mondial, vei avea un job universal pe care-l poti practica in orice tara, vei fi independent si vei depinde doar de propriile cunostinte, iar salariul va fi mereu peste medie. Se preconizeaza ca programarea este jobul viitorului, iar viata noastra va fi din ce in ce mai legata de aplicatii. Java este in prezent cel mai folosit limbaj de programare din lume. Crezi ca merita ?

Da. Java este cel mai folosit limbaj de programare din lume in 2019. Este limbajul de programare al mediului de afaceri.

Pentru a te inscrie la cursul de Programare Java nu trebuie sa ai cunostinte initiale de programare sau Java. Cursul incepe de la zero. Trebuie sa ai insa cunostinte foarte bune de folosire a calculatorului in general precum si cunostinte medii de limba engleza.