Wybierz swój język
Kurs programowania Java
Ponad 2 miliony studentów na całym świecie

Kurs programowania Java

4,3

Opanuj Javę od podstaw i zdobądź umiejętności, których faktycznie szukają pracodawcy. Ten kurs prowadzi cię od podstawowej składni i projektowania obiektowego przez współbieżność, optymalizację wydajności i profesjonalne przepływy pracy. Każda koncepcja jest poparta praktycznym kodem, który sam piszesz. Zacznij pisać produkcyjny kod Java już dziś.

Dedika dla firm

Czego się nauczysz:

Nauczysz się konfigurować profesjonalne środowisko programistyczne Java i od pierwszego dnia pisać czysty, dobrze zorganizowany kod. Kurs obejmuje programowanie obiektowe, Collections Framework, typy generyczne, lambdy oraz Streams API. Będziesz prawidłowo obsługiwać wyjątki, pracować z plikami i sieciami oraz budować aplikacje wielowątkowe z użyciem nowoczesnych narzędzi współbieżności. Oprócz samego języka poznasz Maven i Gradle, napiszesz testy automatyczne z JUnit 5 i Mockito oraz połączysz aplikacje Java z relacyjnymi bazami danych za pomocą JDBC i JPA. Zgłębisz także wzorce projektowe, profilowanie wydajności oraz profesjonalne praktyki, które czynią programistów Java skutecznymi w rzeczywistych zespołach.

Jak uczysz się w praktyce Kurs programowania Java

Jak ćwiczysz Kurs programowania Java

Dla firm, które chcą szkolić swój zespół

W Dedika dla firm kurs zawiera ćwiczenia i przykłady dostosowane do Twojego biznesu i potrzeb Twojej firmy.

Kliknij tutaj

Treść kursu

8 Rozdziały • 40 LekcjeCzas trwania od 4 do 360 godzin (Ty decydujesz)

Rozdział 1Zobacz szczegóły

Podstawy Javy i konfiguracja środowiska

  • Lekcja 1 • Platforma Java i przegląd ekosystemu

    Obejmuje role JVM, JDK i JRE oraz sposób, w jaki Java osiąga niezależność platformową. Wprowadza studentów w architekturę przed napisaniem jakiegokolwiek kodu.

  • Lekcja 2 • Typy danych pierwotnych i zmienne

    Wyjaśnia osiem typów pierwotnych, deklarację zmiennych i reguły rzutowania typów. Studenci zyskują precyzyjną kontrolę nad reprezentacją danych w pamięci.

  • Lekcja 3 • Składnia Javy i struktura programu

    Wprowadza klasy, metody i główny punkt wejścia jako szkielet każdego programu w Javie. Buduje podstawy składniowe, na których opierają się wszystkie kolejne rozdziały.

  • Lekcja 4 • Instalacja i konfiguracja środowiska programistycznego

    Prowadzi przez instalację JDK i nowoczesnego IDE, a następnie weryfikuje konfigurację poprzez pierwszą kompilację. Zapewnia, że każdy student ma działające środowisko pracy od pierwszego dnia.

  • Lekcja 5 • Operatory i wyrażenia

    Obejmuje operatory arytmetyczne, relacyjne, logiczne i bitowe wraz z priorytetem operatorów. Studenci uczą się tworzyć poprawne wyrażenia do obliczeń i podejmowania decyzji.

Rozdział 2Zobacz szczegóły

Przepływ sterowania i metody

  • Lekcja 1 • Podstawy rekurencji

    Wprowadza myślenie rekurencyjne z przypadkami bazowymi i wywołaniami rekurencyjnymi. Przygotowuje studentów do omawiania w późniejszych rozdziałach wzorców takich jak przechodzenie drzew i dziel i zwyciężaj.

  • Lekcja 2 • Konstrukcje pętli

    Obejmuje pętle for, while i do-while wraz z instrukcjami sterującymi pętli. Studenci uczą się iterować po danych i unikać typowych pułapek związanych z nieskończonymi pętlami.

  • Lekcja 3 • Definiowanie i wywoływanie metod

    Wyjaśnia sygnatury metod, typy zwracane i mechanikę wywołania. Ustanawia możliwość ponownego użycia jako podstawową zasadę projektowania stosowaną w całym kursie.

  • Lekcja 4 • Zakres, czas życia i przesłanianie zmiennych

    Definiuje zakres bloku, zmienne lokalne i ryzyko przesłonięcia. Zapobiega subtelnym błędom wynikającym z kolizji nazw zmiennych w zagnieżdżonych zakresach.

  • Lekcja 5 • Instrukcje warunkowe

    Uczy łańcuchów if-else i instrukcji switch dla logiki rozgałęzień. Bezpośrednio łączy się z wiedzą o operatorach z rozdziału 1, tworząc kompletne struktury decyzyjne.

Rozdział 3Zobacz szczegóły

Podstawy programowania obiektowego

  • Lekcja 1 • Polimorfizm i dynamiczne wiązanie metod

    Demonstruje polimorfizm w czasie wykonania poprzez typy referencyjne i rozsyłanie metod. Studenci piszą elastyczny kod, który działa na rodzinach powiązanych typów.

  • Lekcja 2 • Klasy, obiekty i konstruktory

    Definiuje szablony klas, tworzenie instancji obiektów i przeciążanie konstruktorów. Przekłada byty ze świata rzeczywistego na projekty klas w Javie.

  • Lekcja 3 • Enkapsulacja i modyfikatory dostępu

    Obejmuje poziomy dostępu public, private i protected wraz ze wzorcami getterów i setterów. Wymusza ukrywanie danych jako pierwszy filar OOP.

  • Lekcja 4 • Klasy abstrakcyjne i interfejsy

    Porównuje klasy abstrakcyjne z interfejsami i wyjaśnia, kiedy użyć każdego z nich. Uzupełnia podstawy OOP potrzebne do zrozumienia wzorców projektowych i frameworków.

  • Lekcja 5 • Dziedziczenie i hierarchia klas

    Wyjaśnia extends, przesłanianie metod i słowo kluczowe super do ponownego wykorzystania zachowania rodzica. Buduje drugi filar OOP na koncepcjach enkapsulacji.

Rozdział 4Zobacz szczegóły

Tablice, łańcuchy znaków i podstawowe struktury danych

  • Lekcja 1 • Listy i klasa ArrayList

    Wprowadza interfejs List i ArrayList jako najczęściej używaną kolekcję. Stanowi pomost między surowymi tablicami a pełnym Collections Framework, który zostanie wprowadzony w następnej kolejności.

  • Lekcja 2 • Tablice i tablice wielowymiarowe

    Obejmuje deklarację tablic, inicjalizację i przechodzenie, w tym tablice 2D. Zapewnia podstawową strukturę danych niskiego poziomu przed wprowadzeniem kolekcji.

  • Lekcja 3 • Sortowanie i wyszukiwanie w kolekcjach

    Stosuje Comparable, Comparator i metody narzędziowe Collections do porządkowania. Przygotowuje studentów do myślenia na poziomie algorytmicznym używanego w zaawansowanych rozdziałach.

  • Lekcja 4 • Manipulacja łańcuchami znaków i niemutowalność

    Wyjaśnia niemutowalność łańcuchów znaków, pulę stringów i kluczowe metody API String. Studenci poprawnie i wydajnie obsługują zadania przetwarzania tekstu.

  • Lekcja 5 • Mapy, zbiory i struktury kolejkowe

    Obejmuje HashMap, HashSet, LinkedList jako kolejkę i ich przypadki użycia. Studenci wybierają odpowiednią kolekcję w zależności od wzorca dostępu i wymagań dotyczących unikalności.

Rozdział 5Zobacz szczegóły

Obsługa wyjątków i debugowanie

  • Lekcja 1 • Try-Catch-Finally i wielokrotny catch

    Obejmuje bloki try-catch, składnię wielokrotnego catch i klauzulę finally do sprzątania. Studenci obsługują wiele trybów awarii bez powielania kodu odzyskiwania.

  • Lekcja 2 • Try-With-Resources i AutoCloseable

    Wprowadza automatyczne zarządzanie zasobami dla operacji wejścia/wyjścia i połączeń z bazami danych. Eliminuje wycieki zasobów wynikające z ręcznego wywoływania close w blokach finally.

  • Lekcja 3 • Tworzenie niestandardowych wyjątków

    Prowadzi przez projektowanie klas wyjątków specyficznych dla domeny z znaczącymi komunikatami. Umożliwia API-om jasne komunikowanie kontekstu awarii do wywołujących.

  • Lekcja 4 • Techniki i narzędzia debugowania

    Obejmuje używanie debuggera IDE, czytanie śladów stosu i podstawy logowania. Studenci systematycznie lokalizują i naprawiają defekty, zamiast polegać na instrukcjach print.

  • Lekcja 5 • Hierarchia wyjątków w Javie

    Mapuje drzewo klas Throwable, Exception i Error oraz rozróżnia wyjątki sprawdzane i niesprawdzane. Zapewnia model koncepcyjny dla wszystkich decyzji dotyczących obsługi wyjątków.

Rozdział 6Zobacz szczegóły

Generyki, lambdy i programowanie funkcyjne

  • Lekcja 1 • Generyki i parametry typów

    Wyjaśnia klasy generyczne, metody i ograniczone parametry typów. Eliminuje niebezpieczne rzutowania i umożliwia tworzenie wielokrotnego użytku, bezpiecznych typowo struktur danych.

  • Lekcja 2 • API strumieni (Streams API)

    Uczy tworzenia strumieni, operacji pośrednich i końcowych do przetwarzania kolekcji. Zastępuje rozwlekłe pętle deklaratywnymi, potokowymi transformacjami danych.

  • Lekcja 3 • Interfejsy funkcyjne i wyrażenia lambda

    Wprowadza @FunctionalInterface, składnię lambd i referencje do metod. Umożliwia przekazywanie zachowania jako danych, co jest warunkiem wstępnym dla API strumieni.

  • Lekcja 4 • Wbudowane interfejsy funkcyjne

    Obejmuje Predicate, Function, Consumer, Supplier i BiFunction z pakietu java.util.function. Studenci komponują wielokrotnego użytku bloki funkcyjne dla potoków strumieniowych.

  • Lekcja 5 • Klasa Optional i bezpieczeństwo nulli

    Używa Optional do modelowania nieobecnych wartości bez odwołań null. Redukuje wyjątki NullPointerException i czyni brak wartości jawnym w sygnaturach metod.

Rozdział 7Zobacz szczegóły

Operacje wejścia/wyjścia na plikach, serializacja i podstawy sieci

  • Lekcja 1 • Strumienie bajtów i znaków

    Wyjaśnia hierarchię InputStream, OutputStream, Reader i Writer wraz z buforowaniem. Studenci efektywnie obsługują dane binarne i tekstowe bez wycieków zasobów.

  • Lekcja 2 • Sieci z gniazdami i HTTP

    Obejmuje programowanie gniazd TCP i API HttpClient do żądań HTTP. Studenci budują proste programy komunikacji klient-serwer.

  • Lekcja 3 • Praca z formatami JSON i tekstowymi

    Wprowadza parsowanie i generowanie JSON przy użyciu standardowej biblioteki. Przygotowuje studentów do integracji z API REST omawianej w rozdziałach uzupełniających.

  • Lekcja 4 • Serializacja i deserializacja obiektów

    Uczy interfejsu Serializable, klasy ObjectOutputStream i zarządzania wersjami za pomocą serialVersionUID. Studenci utrwalają grafy obiektów na dysku i niezawodnie je przywracają.

  • Lekcja 5 • Operacje na systemie plików z java.nio.file

    Obejmuje Path, Files i przechodzenie przez katalogi za pomocą API NIO.2. Zastępuje użycie starszej klasy File nowoczesną, bezpieczną pod kątem wyjątków alternatywą.

Rozdział 8Zobacz szczegóły

Współbieżność i wielowątkowość

  • Lekcja 1 • Synchronizacja i stan współdzielony

    Obejmuje bloki synchronized, blokady wewnętrzne i słowo kluczowe volatile. Studenci eliminują wyścigi wątków i błędy widoczności w programach ze współdzieloną pamięcią.

  • Lekcja 2 • Framework Executor i pule wątków

    Wprowadza ExecutorService, typy pul wątków i Future dla wyników asynchronicznych. Zastępuje ręczne zarządzanie wątkami skalowalnymi, konfigurowalnymi politykami wykonywania.

  • Lekcja 3 • Kolekcje współbieżne i zmienne atomowe

    Obejmuje ConcurrentHashMap, CopyOnWriteArrayList i AtomicInteger dla operacji bezzamkowych. Studenci unikają blokowania gruboziarnistego, które ogranicza przepustowość.

  • Lekcja 4 • CompletableFuture i potoki asynchroniczne

    Uczy łańcuchowania CompletableFuture, obsługi wyjątków i łączenia wielu zadań asynchronicznych. Studenci budują nieblokujące potoki, które maksymalizują wykorzystanie CPU.

  • Lekcja 5 • Wątki i interfejs Runnable

    Wyjaśnia tworzenie wątków poprzez podklasowanie Thread i Runnable oraz stany cyklu życia wątku. Ustanawia model współbieżności, na którym opierają się wszystkie kolejne sekcje.

Certyfikacja

Twój ważny certyfikat ukończenia

Ten kurs jest dla Ciebie:

  • Początkujący programiści: chcący wkroczyć w inżynierię oprogramowania z językiem o dużym popycie na rynku.

  • Osoby zmieniające karierę: gotowe opuścić role nietechniczne i zbudować fundamenty w programowaniu.

  • Studenci informatyki: chcący utrwalić teorię z wykładów praktycznymi projektami w Javie.

  • Hobbyści kodujący: pragnący wyjść poza skryptowanie i zająć się strukturalnym, obiektowym tworzeniem oprogramowania.

  • Specjaliści IT: dążący do poszerzenia zestawu umiejętności z infrastruktury na tworzenie aplikacji.

  • Młodsi programiści: pracujący w innym języku i dodający Javę, aby zwiększyć swoją wartość na rynku pracy.

Co mówią nasi uczniowie

Wasze lekcje są doskonałe. Kupiłem pakiet roczny i w końcu mam możliwość śledzenia różnych tematów, które mnie interesują, bez konieczności zmiany platformy... dziękuję za wszystko, co robicie, już polecałem was innym osobom...
Giulio Carlo
Giulio CarloStudent Marketingu Cyfrowego
Podoba mi się, jak lekcje są konkretne i jak mogę przełączać rozdziały i pomijać treści, których nie potrzebuję.
Mariana Ferres
Mariana FerresStudentka Fotografii
Podoba mi się treść i sposób prezentacji oraz transkrypcja filmów, co przyspiesza proces!
Luciana Alvarenga
Luciana AlvarengaStudentka Stylizacji Paznokci
Platforma jest szybka, prosta w użyciu. Różnorodność treści i filmy uzupełniające bardzo pomagają w nauce.
André Felipe
André FelipeStudent Inżynierii Promptów

Najważniejsze szkolenia

FAQ

Kim jest Dedika?

Czy certyfikat jest ważny w Polska?

Czy kursy są darmowe?

Jaki jest wymiar godzinowy kursu?

Jak wyglądają kursy?

Jak działają kursy?

Jaki jest czas trwania kursów?

Jaki jest koszt lub cena kursów?

Czym jest kurs EAD lub kurs online i jak działa?

Kurs PDF