Kurs Java Developer

K-JAVA

Nauka programowania od podstaw

  • obiekty
  • algorytmy
  • AI
  • Spring
  • Jakarta
  • SOAP
  • REST
Warszawa
  • 03.10 zaoczny (sob-niedz., średnio co 2 tygodnie)
  • 08.10 dzienny (bloki 3- lub 4-dniowe, średnio co 2 tyg.)
Zdalnie
  • 03.10 zaoczny (sob-niedz., średnio co 2 tygodnie)
  • 08.10 dzienny (bloki 3- lub 4-dniowe, średnio co 2 tyg.)

Tryb zdalny: online na żywo z trenerem i grupą (→ więcej o kursach zdalnych). Można: zrezygnować do 15 dni przed startem; w każdej chwili przejść na tryb zdalny; w razie potrzeby skorzystać z nagrań. W cenie:
- stanowisko komputerowe i poczęstunek (dla zajęć stacjonarnych)
- dla chętnych dodatkowe, bezpłatne warsztaty HR
- dostęp do nagrań z zajęć w razie potrzeby
Kursy dostępne również na zamówienie, w terminie i lokalizacji do uzgodnienia , dla grup od 6 osób .

4,7/5 (1278)
Stars
Pakiet Standard:

dla tych, którzy chcą wejść do świata IT, porządnie nauczyć się programowania i wykorzystać to w małych projektach

4790 PLN

lub 958 PLN miesięcznie (5 rat)

80 godzin zajęć na żywo
+40h pracy samodzielnej

Pakiet XL:

dla tych, którzy chcą osiągnąć poziom junior developera aplikacji webowych

8990 PLN

lub 1798 PLN miesięcznie (5 rat)

160 + 80 godzin

icon percent first minute (30+ dni do startu) - 3%

Wersja podstawowa


  1. Wstęp do programowania
    • Czym jest program, co to znaczy programować?
    • Java i inne popularne języki
    • Narzędzia, biblioteki, frameworki
  2. Konfiguracja środowiska pracy
    • Instalacja i konfiguracja platformy Java
      • Podstawy pracy w wierszu poleceń
      • Interaktywny interpreter jshell
    • Instalacja i konfiguracja wybranego środowiska deweloperskiego (IDE)
  3. Pierwsze kroki w Javie
    • Uproszczona składnia Java 25
    • Komunikacja z użytkownikiem za pomocą klasy IO
    • Pierwsze programy ze zmiennymi i obliczeniami
    • Tradycyjna pełna składnia języka Java – pakiety, klasy, metody
    • Konwencje dot. nazw i formatowania kodu
  4. Podstawowe techniki programistyczne
    • Zmienne i typy
    • Liczby i wyrażenia arytmetyczne
    • Instrukcje sterujące języka Java
      • Instrukcja warunkowa if
      • Warunki i spójniki logiczne
      • Instrukcja switch i jej nowe możliwości
      • Pętle while, do-while, for
    • Tworzenie sparametryzowanych funkcji (metod statycznych)
    • Tablice
    • Pisanie prostych algorytmów
  5. Programowanie obiektowe w Javie
    • Obiekty, klasy, pola, metody
    • Dziedziczenie i interfejsy
      • Rozszerzanie klas i nadpisywanie metod
      • Polimorfizm, zasada podstawiania
      • Interfejsy i klasy abstrakcyjne
    • Enkapsulacja (hermetyzacja)
      • Modyfikatory widoczności
      • Techniki i korzyści z enkapsulacji
    • Typy wyliczeniowe
    • Rekordy
    • Wyjątki i ich obsługa
  6. Najważniejsze klasy platformy Java
    • Napisy
      • Klasa String: możliwości i ograniczenia
      • Budowanie napisów
      • Przetwarzanie tekstu, w tym podstawy wyrażeń regularnych
    • Kolekcje: listy, zbiory, słowniki; Java Collections Framework
      • Wykorzystanie w algorytmach i schematach przetwarzania danych
      • Wpływ właściwego doboru struktur danych na wydajność aplikacji
    • Funkcyjne techniki programowania:
      • Wyrażenia lambda i referencje do metod
      • Strumienie: zasada działania, operacje pośrednie i terminalne
      • Filtrowanie, mapowanie, redukcja, kolektory
    • Obsługa daty i czasu
    • Obsługa plików
      • Pliki binarne i tekstowe, bajty i znaki, kodowania znaków, strumienie wejścia/wyjścia
      • Praktyczne przykłady pracy z plikami tekstowymi
      • Klasa Files – operowanie na całych plikach i katalogach
  7. Sztuczna inteligencja w pracy programisty
    • Zadania, które można realizować za pomocą AI:
      • Uzupełnianie kodu podczas pisania, sygnalizacja błędów, refaktoryzacja
      • Generowanie całych klas i metod, rozwiązywanie zadań za pomocą modeli językowych
      • Generowanie testów i kontrola jakości
      • Automatyzacja powtarzalnych czynności
      • Generowanie kodu HTML i SQL (kurs XL)
    • Przegląd dostępnych narzędzi i wykorzystanie niektórych z nich
      • Wtyczki i narzędzia wyspecjalizowane w kodowaniu: Cursor, CLine, GitHub Copilot
      • Ogólne modele LLM z dobrym wsparciem dla programowania: Claude, Gemini, ChatGPT
    • Jak weryfikować kod generowany przez AI — poprawność, bezpieczeństwo, pułapki
    • Dostęp przez REST API do usług LLM (na przykładzie ChatGPT lub analogicznej usługi)
  8. Praktyczne zastosowania Javy Standard Edition
    • Dołączanie zewnętrznych bibliotek za pomocą Maven lub Gradle
    • Testy jednostkowe, biblioteka JUnit
    • Wysyłanie zapytań HTTP, pobieranie danych z sieci, dostęp do zdalnych usług przez Web API
    • Obsługa formatów CSV, XML, JSON
    • Przetwarzanie i analiza danych
    • Aplikacje z graficznym interfejsem użytkownika (Swing lub Java FX)

Wersja XL - dodatkowe tematy


  1. Java – elementy zaawansowane
    • Model pamięci JVM – stos, sterta, obiekty i referencje
    • Wątki i synchronizacja
      • Elementy wielowątkowości wbudowane w język Java
      • Klasy biblioteki standardowej wspierające wielowątkowość, w tym pule wątków
    • Strumienie sekwencyjne i równoległe
    • Dobre i złe praktyki pod względem wydajności
  2. Dodatkowe narzędzia w projektach Java – używamy ich przy okazji rozwijania naszych przykładów
    • Budowanie projektów
      • Maven – klasyka konfiguracji i budowania projektów Java
      • Gradle – młodszy i bardziej zwinny konkurent
      • Zależności do własnych modułów oraz bibliotek programistycznych
      • Możliwości automatycznego budowania na serwerze: Jenkins, GitLab Pipelines, GitHub Actions
      • Koncepcja CI/CD
    • Git i kontrola wersji kodu
    • Testy i kontrola jakości
    • Wykorzystanie narzędzi AI do generowania kodu
  3. Obsługa baz danych w Javie
    • Wprowadzenie do baz danych i SQL – w razie potrzeby
    • JDBC i bezpośrednie zadawanie zapytań SQL z aplikacji Java
      • Parametry i zabezpieczanie aplikacji przed SQL Injection
      • Modyfikacja danych i praca z transakcjami
      • Techniki zaawansowane
      • Zalety i wady bezpośredniego dostępu do baz danych
      • Wzorzec DAO
    • Obiektowy dostęp do baz danych (ORM) w technologii JPA/Hibernate
      • Klasy encji; tworzenie od zera oraz generowanie na podstawie tabel
      • Operacje odczytu i modyfikacji danych
      • Mapowanie kluczy obcych na świat obiektowy – różne podejścia
      • Zadawanie własnych zapytań JPQL oraz natywnych
  4. Tworzenie aplikacji webowych na platformie Java
    • Czym jest “Jakarta EE” (dawniej “Java Enterprise Edition”)?
      • Specyfikacje, implementacje, serwery aplikacji
    • Zasada działania aplikacji webowej strony serwera
    • Podstawy technologii serwletów w Javie
      • Obsługa żądań i generowanie odpowiedzi
      • Parametry zapytań i obsługa formularzy
      • Utrzymywanie sesji i atrybuty w różnych zakresach
    • Wprowadzenie do technologii Java Server Pages (JSP)
      • Różne podejścia do podziału odpowiedzialności między JSP a Javę
  5. Usługi sieciowe („web services”)
    • Koncepcja SOA i rodzaje usług sieciowych
    • Usługi sieciowe typu SOAP
      • Technologia JAX-WS i tworzenie serwera SOAP w ramach Jakarta EE
      • Generowanie i rola WSDL
      • JAXB i automatyczne mapowanie Java↔XML
      • Tworzenie klienta i architektura klient/serwer
    • Usługi typu REST
      • Zasoby, URL-e i metody HTTP
      • Technologia JAX-RS i tworzenie serwera REST w ramach Jakarta EE
      • Parametry, nagłówki, odnośniki i przekierowania
      • Rozszerzanie JAX-RS o własne typy zawartości na przykładzie generowania PDF
      • Dostęp do usług REST od strony klienta
    • Aplikacja typu Enterprise jako wielomodułowy projekt Mavena
  6. Framework aplikacyjny Spring
    • Tworzenie i uruchamianie projektu w oparciu o Spring Boot
    • Aplikacja webowa w technologii Spring MVC
      • Kontroler: rola, zasada działania, mapowanie URL-i i wybór metody na podstawie zapytania
      • Obsługa parametrów i nagłówków
      • Warstwa widoku i technologie szablonowe (JSP / Thymeleaf)
      • Model: przekazywanie danych z aplikacji do widoku
      • Obsługa formularzy
    • Usługi REST w technologii Spring
      • Automatyczne tłumaczenie obiektów Java na formaty JSON i XML
      • Moduły automatycznie generujące proste „CRUDowe” usługi REST
    • Zasada działania aplikacji Spring
      • Warstwy typowego projektu
      • Adnotacje i wstrzykiwanie zależności; rola interfejsów w projektach Spring
      • Różne sposoby inicjalizacji i wstrzykiwania komponentów („beanów”)
    • Dostęp do baz danych z aplikacji Spring
      • Warstwa danych („repository”) w aplikacji Spring
      • Automatyczne instancjonowanie interfejsu przez technologię Spring Data
    • Zabezpieczanie aplikacji – podstawy Spring Security