Bootcamp Junior Java Developer
Od podstaw Javy do zaawansowanego programowania. Wybierz opcję dla siebie!
Instrukcja zapisu na szkolenia
Nasz przewodnik krok po kroku przeprowadzi Cię przez proces rejestracji nowego konta lub logowania do Comarch Cloud w celu rezerwacji miejsca na kursie!
Poznaj program Bootcampu JAVA
- Co zyskasz dzięki szkoleniu ?
Cele szkolenia
Kurs ma na celu przygotowanie do roli Młodszego Programisty Java oraz podjęcia pracy w charakterze programisty. Podczas kursy uczestnik buduje pierwsze programy komputerowe, korzysta w stopniu zaawansowanym z narzędzi niezbędnych w codziennej pracy programisty, wybiera zaawansowane funkcje języka Java usprawniające produkowanie programów oraz korzysta wielu technologii pozwalających na tworzenie profesjonalnych projektów komercyjnych. Efektem kursu będzie przygotowanie samodzielne projektu o charakterze zaawansowanym.
Umiejętności
Dzięki szkoleniu uczestnik będzie:
- Tworzyć aplikacje w języku Java
- Korzystać z wielu bibliotek wbudowanych języka Java
- Korzystać z systemu kontroli wersji GIT
- Używać narzędzia Maven do zarządzania projektem.
- Stosować się do zasad programowania obiektowego
- Zastosować programowanie aspektowe
- Tworzyć aplikacje webowe przy użyciu Spring
- Wykorzystywać wzorzec odwrócenia zależności (IoC)
- Tworzyć i posługiwać się relacyjnymi bazami danych
- Używać Hibernate oraz JDBC do operacji bazodanowych z poziomu Java
- Tworzyć aplikacje okienkowe przy pomocy JavaFX
- Tworzyć testy automatyczne aplikacji Java
- Zarządza swoją pracą w metodyce Agile
- Tworzyć i konsumować Web Services REST oraz SOAP
- Tworzyć podstawowe diagramy UML
- Czy to szkolenie jest dla Ciebie ?
Profil uczestników
Bootcamp dedykujemy wszystkim, którzy chcą podjąć pracę jako programista JAVA.
- Ile kosztuje Comarch Bootcamp - Junior Java Developer ?
- Koszt kursu to 9800 zł
- Czas trwania
Liczba dni, liczba godzin szkoleniowych
- 25 dni, 196 godz
- Szczegółowy program szkolenia
Szczegółowy program szkolenia
Narzędzia deweloperskie:
Przed napisaniem jakiegokolwiek kawałka kodu niezbędne jest poznanie narzędzi i oprogramowania, dzięki któremu wytwarzanie oprogramowania będzie proste i przyjemne. Konieczne jest również zapoznanie się z zasadą działania aplikacji napisanych w języku Java i sposobie zamieniania kodu napisanego przez programistę w działający program.
● Środowisko programistyczne Intellij
- instalacja
- obsługa
● narzędzia języka Java
- JDK
- JRE
- JVM
Java – podstawy:
Programowanie w dowolnym języku składa się z pewnych podstawowych koncepcji i założeń, dlatego naukę programowania rozpoczynamy od zapoznania się właśnie z nimi.
● Pierwsza aplikacja
● struktura aplikacji w Java
- struktura i znaczenie katalogów
- pakiety
- External Libraries
- klasa startowa
● uruchamianie projektu
- kompilacja
- walidacja
- uruchamianie pliku .jar
● typy danych w Java
- liczbowe
- zmiennoprzecinkowe
- znaki i łańcuchy znaków
- wartości logiczne
● zmienne
- definicja zmiennych
- przypisywanie, odczytywanie i zmiana wartości
- inicjalizacja zmiennych
● operatory wbudowane w język Java
● instrukcje warunkowe
- if
- switch
● pętle
- for
- foreach
- while
- do-while
- instrukcje break i continue
● tablice
- definicja tablic
- inicjalizacja tablic
- iteracja po tablicach
- tablice dwuwymiarowe oraz wielowymiarowe
Obiektowość w Java:
Kiedy tworzone programy stają się coraz większe i bardziej skomplikowane podstawowe mechanizmy programowania przestają nam wystarczać. Tu do gry wchodzi idea programowania obiektowego. Musimy zapoznać się z tą techniką programowania, zasadami obiektowości w języku Java oraz narzędziami języka Java związanymi z obiektowością
● klasy i obiekty
- zawartość klas
- konstrukcja obiektów
- typy wyliczeniowe
- referencje
- typy niemutowalne
- klasy wewnętrzne
● metody
- definicja metod
- funkcje i procedury
- metody inline
- przekazywanie parametrów
- wartości zwracane
- przesłanianie metod
- przeciążanie metod
● enkapsulacja
- modifikatory dostępu
- getter’y
- setter’y
- ukrywanie metod
● dziedziczenie
● polimorfizm
● abstrakcja w języku Java
- interfejsy
- implementacja interfejsów
- klasy abstrakcyjne
- metody abstrakcyjne
- klasy anonimowe
● static oraz final
● konwersja i rzutowanie
Narzędzia wbudowane w Java:
Oprócz samego sterowania aplikacją niezwykle ważne są również sposoby przetwarzania i przechowywania danych w pamięci komputera. Z tego właśnie powodu musimy zapoznać się ze strukturami danych w języku Java, sposobami wielowątkowego, równoległego przetwarzania tych danych i sposobem zarządzania pamięcią w Java. Poza działającą aplikacją wymiernym efektem pracy programisty jest jakość kodu, który wytwarza -poznamy również mechanizmy pozwalające upraszczać, skracać i porządkować kod który piszemy.
● kolekcje
○ listy
○ zbiory
○ mapy
○ operacje na kolekcjach
○ sortowanie kolekcji
● wyjątki
○ przechwytywanie wyjątków
○ przekazywanie wyjątków
○ tworzenie własnych wyjątków
○ podział wyjątków
● wielowątkowość
○ thread
○ runnable
○ executor’y wątków
○ pule wątków
○ synchronizacja wątków
● strumienie wejścia/wyjścia
● obsługa plików
● typy generyczne
● interfejs funkcyjny
● strumienie oraz wyrażenia lambda
● wartości opcjonalne w Java
● zarządzanie pamięcią –GC
● debugowanie aplikacji
Wykorzystanie AI w programowaniu:
Sztuczna inteligencja zmienia sposób tworzenia oprogramowania automatyzując i przyspieszając pracę programistów. Na przykładzie Copilot - pionierskiego i najpopularniejszego asystenta kodowania - nauczymy się wykorzystywać AI w codziennej pracy programisty.
● inteligentna generacja kodu
○ szybkie podpowiedzi w czasie rzeczywistym
○ generacja pełnych funkcjonalności i komponentów
● wykorzystanie interaktywnego asystenta AI
● generowanie dokumentacji kodu
● Code Explanation
● planowanie wytwarzania kodu i realizacja planu przy pomocy AI
● zarządzanie kontekstem
● wykorzystanie różnych modeli językowych
● techniki promptowania, tworzenie precyzyjnych promptów
● code review przy pomocy AI
Bazy danych:
Oprócz danych przechowywanych w pamięci aplikacji, musimy również przechowywać wiele danych “na stałe”. Do tego wykorzystujemy bazy danych. Musimy zapoznać się z działaniem baz danych oraz ich obsługą. Nauczymy się również sposobów łączenia aplikacji napisanych w języku Java z bazami danych wykorzystując nowoczesne biblioteki i API języka Java.
● relacyjne bazy danych
○ uruchamianie serwera baz danych
○ zasada działania
○ tworzenie baz danych
○ relacje
● język SQL
○ wstawianie rekordów do bazy
○ zapytania
○ modyfikacja danych
○ usuwanie rekordów
○ JOIN
○ operacje na zbiorach danych
○ grupowanie wyników
○ sortowanie
○ zapytania zagnieżdżone
○ klucze prywatne
○ auto inkrementacja
○ wartości domyślne
● JDBC
○ połączenie Java z bazą danych
○ operacje na bazie danych przy użyciu Java
Technologie i narzędzia:
Będziemy również potrzebować narzędzi do utrzymywania i zarządzania projektami oraz kontroli wersji oprogramowania. Kiedy nasze aplikacje staną się bardziej skomplikowane sam język Java przestanie nam wystarczać. Nauczymy się wykorzystywać dodatkowe narzędzia zewnętrzne, nie wbudowane w język Java. Poznamy nowe idee i koncepcje tworzenia komercyjnych aplikacji. Aby zobaczyć efekty naszej pracy wprowadzimy interfejs użytkownika do aplikacji Java i napiszemy testy automatyczne sprawdzające poprawność ich działania.
● Maven
○ zarządzanie zależnościami
○ budowanie aplikacji
○ wtyczki do Maven
○ etapy budowania projektu
○ zdalne repozytorium Maven
● GIT
○ tworzenie repozytorium
○ inicjalizacja projektu git
○ dodawanie zdalnego repozytorium do projektu
○ tworzenie commit’ów
○ wrzucanie zmian do zdalnego repozytorium
○ pobieranie repozytorium
○ uaktualnianie lokalnych źródeł
○ gałęzie
● Spring Boot
○ uruchamianie kontenera HTTP
○ kontenery wbudowane w Spring
● Spring IoC
○ beany
○ konteksty
○ wstrzykiwanie zależności (Dependency Injection)
● Metody konfiguracji Spring
○ pliki XML
○ Klasy konfiguracyjne
○ Adnotacje
● Spring MVC
○ wzorzec MVC
○ kontrolery
○ szablony widoków
○ mapowanie zapytań
○ metody zapytań HTTP
○ przekazywanie modelu do widoków
● Thymeleaf
● Hibernate
○ konfiguracja hibernate
○ ORM
○ zapytanie w hibernate
○ HQL
○ zapytania przy pomocy kryteriów
○ sesje
○ transakcje
● XML i JSON
● Podstawy front-end’u
○ JS
○ HTML
○ CSS
○ Jquery
○ AJAX
● Testowanie aplikacji w Java
○ JUnit
○ Mockito
○ TDD
WebServices:
Kiedy aplikacje stają się ogromne chcemy zmienić podejście do ich wytwarzania. Korzystamy w metody “dziel i zwyciężaj”, czyli dzielimy nasz wielki projekt na kilka mniejszych programów. Żeby te mniejsze “moduły” naszego systemu mogły ze sobą współpracować musimy nauczyć się sposobów na zaimplementowanie komunikacji między nimi.
● REST
○ definicja API przy pomocy JSONSchema
○ generacja API przy pomocy Maven
○ klient REST API
○ provider REST API
Metodyki wytwarzania oprogramowania i dokumentacje:
Oprócz wytwarzania oprogramowania programista musi również dokumentować wytwarzany kod oraz projekty aplikacji. Nauczymy się, jakie dokumenty funkcjonują w świecie IT i dowiemy się jak przekładać nasz kod na formę papierową w postaci diagramów UML. Poznamy również strategie pracy podczas wytwarzania oprogramowania.
● Scrum
● Dokumentacje w IT
○ LLD
○ HLD
○ CR
○ PID
○ UM
○ DoR
○ DoD
● UML
○ diagramy przypadków użycia
○ diagramy klas
○ diagramy sekwencji
○ diagramy aktywności
Metoda realizacji szkolenia
W ramach naszego intensywnego kursu Java do zrealizowania będą wyznaczane przez prowadzących zadania domowe oraz jeden większy projekt (ok 50 roboczo godzin) wykorzystujący umiejętności zdobyte na całym szkoleniu.
Prace domowe- pozwolą na obycie się z kodem, środowiskiem i zdobyciem podstawowego doświadczenia w pisaniu i projektowaniu oprogramowania.
- pomogą w przyswojeniu dobrych praktyk programowania i zrozumieniu problemów wynikających z niestarannie pisanego kodu oraz nieprzemyślanego projektu.
- pozwalają na utrwalenie wiedzy zdobytej na zajęciach, lepsze zrozumienie poznanych technologii, rozwijają zdolności algorytmiczne oraz projektowe.
- część zadań będzie polegała na samodzielnym zgłębieniu konkretnego tematu i przedyskutowaniu go na zajęciach.
Projekt końcowy to w pełni działająca aplikacja tworzona w metodyce agile. Wymagane jest przygotowanie dokumentacji technicznej aplikacji oraz wykorzystanie jak największej ilości technologii. Projekt musi spełniać trzy główne założenia – gromadzenie danych, przetwarzanie danych oraz możliwość manipulacji danymi. Dzięki takiemu podejściu należy wykazać się umiejętnościami pisania przemyślanego kodu back-end’owego, front-end’owego oraz projektowania i implementowania prostych algorytmów. Skończony projekt jest również dobrym elementem składowym do portfolio przyszłego programisty. Temat projektu można wybrać z puli przygotowanej przez trenerów lub po konsultacji i zaakceptowaniu napisać wymyśloną samodzielnie aplikację. Podczas wykonywania zadań oraz projektu kursanci mogą liczyć na pomoc mentorów i konsultować napotkane problemy.
Podczas zajęć z Androida i Springa kursanci tworzą aplikacje od podstaw. Poznają specyficzne technologie, zapoznają się z metodami iteracyjnego rozwijania oprogramowania i realizują scenariusze, z którymi zetkną się w pracy na stanowisku programisty.
Aplikacje utworzone podczas tych modułów będą stanowić portfolio uczestnika, potwierdzające umiejętność korzystania ze zdobytej wiedzy, a mentoring trenerski przez doświadczoną osobę w programowaniu Java – odkrywanie i rozwijanie potencjału ucznia.- W ramach szkolenia zapewniamy
W ramach szkolenia zapewniamy
- materiały szkoleniowe
- certyfikat potwierdzający udział w kursie
- pełna obsługa cateringowa (dotyczy szkoleń stacjonarnych)
W cenę kursu ( dla uczestników Kierunek Kariera Zawodowa ) wliczony jest EGZAMIN: 1Z0 811 JAVA FOUNDATIONS
- Harmonogram spotkań
208 godzin + 4 godziny lekcyjne konsultacji HR
- 25-26.09.2021
- 02-03.10.2021
- 16-17.10.2021
- 06-07.11.2021
- 20-21.11.2021
- 04-05.12.2021
- 18-19.12.2021
- 08-09.01.2022
- 22-23.01.2022
- 29-30.01.2022
- 12-13.02.2022
- 26-27.02.2022
- 12-13.03.2022
- 19.03.2022 – konsultacje HR

