JavaProgramowanie

Programowanie w Javie – poziom zaawansowany

18 - 23 lip 2024

Online

3 200,00 zł netto / osobę
Nie pasuje Ci żaden termin? Napisz do nas!
Zapisz więcej osób

Taniej w grupie

  • 3 osoby - 10% zniżki
  • 4 osoby - 15% zniżki
  • 5 osób - 20% zniżki
  • 6 osób - 25% zniżki
  • 7 osób - 30% zniżki
  • O szkoleniu

    Szkolenie przeznaczone jest dla osób, które mają opanowane podstawy Javy i chciałyby przejść do zaawansowanych aspektów wspomnianego języka. Podczas szkolenia uczestnik pozna zaawansowane typy zmiennych i struktury danych. Dowie się w jaki sposób tworzyć czysty kod, po co tworzyć dokumentację własnego kodu i jak korzystać z dokumentacji innych bibliotek. Uczestnik pozna również typy programowania i  nauczy się programować obiektowo. Pozna podstawy algorytmiki oraz dowie się w jaki sposób sprawdzać złożoność algorytmów – będzie potrafił odróżnić dobry algorytm od złego algorytmu.

    Szkolenie zakończy się utworzeniem aplikacji pogodowej, a podczas procesu tworzenia wspomnianej aplikacji uczestnik będzie mógł wykorzystać nabyte umiejętności w praktyce. Co więcej, projekt kończący szkolenie umożliwi uczestnikowi poznanie uniwersalnych zasad tworzenia dobrych aplikacji – od momentu planowania, przez tworzenie kodu i dokumentacji, po testowanie kodu.

    Dla kogo jest to szkolenie?

    Szkolenie przeznaczone jest dla osób, które mają opanowane podstawy Javy, ale również dla osób, które mają większe doświadczenie ze wspomnianym językiem i chciałyby uporządkować swoją wiedzę. Jest to szkolenie przeznaczone dla osób, które chciałyby poznać zaawansowane aspekty Javy oraz nauczyć się tworzenia własnych aplikacji komputerowych przy wykorzystaniu wspomnianego języka.

    Czego się nauczę?

    Po ukończeniu szkolenia, uczestnik będzie:

    • Tworzyć czysty i odporny na błędy kod
    • Operować na zmiennych zaawansowanego typu
    • Wykorzystywać odpowiednie struktury danych w zależności od sytuacji
    • Wyjaśnić czym jest programowanie obiektowe
    • Programować obiektowo w Javie
    • Obsługiwać i wywoływać błędy, tworzyć własne klasy błędów
    • Ostrzegać użytkownika, monitorować kod (zbierać logi)
    • Testować napisany kod
    • Pracować ze strumieniami danych
    • Wyjaśnić czym jest wielowątkowość
    • Tworzyć równoległe wątki, które ze sobą współpracują
    • Sprawdzać złożoność algorytmów oraz wybierać te algorytmy, które są lepsze
    • Tworzyć projekty aplikacji i plany działania
    • Korzystać z zewnętrznych API przy pomocy Javy
    • Tworzyć własne moduły
    • Tworzyć interfejsy graficzne dla użytkowników
    • Dystrybucje Javy – jakie są i czym się różnią?
    • Wersje Javy
    • Instalacja wybranej dystrybucji Javy oraz wybranego IDE
    • Google Java Style Guide – czym jest?
    • Dlaczego czysty kod jest ważny?
    • Nazewnictwo zmiennych, metod i klas
    • Deklarowanie zmiennych, metod i klas
    • Zasady importowania
    • Jak skrócić swój kod? – kiedy definiować metody/funkcje, a kiedy nie
    • Formatowanie tekstu – nawiasy, wcięcia, puste linie
    • Tworzenie dwuwymiarowych tablic
    • Indeksowanie i zmienianie wartości w dwuwymiarowych tablicach
    • Iterowanie przez dwuwymiarowe tablice (pętle)
    • Operacje matematyczne na tablicach przy wykorzystaniu odpowiednich bibliotek (dodawanie, odejmowanie i mnożenie tablic)
    • Czym jest struktura danych?
    • Struktury danych w Javie – jakie są?
    • Struktura danych typu lista
    • Struktura danych typu set
    • Struktura danych typu stos
    • Struktura danych typu kolejka – zwykła i z priorytetem
    • Struktura danych typu key/value (mapy, słowniki)
    • Paczka do przetwarzania dat – java.time
    • Tworzenie zmiennych typu date
    • Wykonywanie operacji matematycznych na zmiennych typu date
    • Formatowanie dat – ze standardu amerykańskiego na polski
    • Rodzaje programowania – przykłady i różnice (funkcyjne, deklaratywne, obiektowe itd.)
    • Programowanie zorientowane obiektowo – czym się charakteryzuje, jakie są jego zalety?
    • Pojęcie klas i obiektów w Javie – różnica pomiędzy atrybutami klasy, a atrybutami obiektu
    • Tworzenie klasy w Javie – atrybuty i metody
    • Pojęcie hermetyzacji
    • Dziedziczenie klas
    • Czym jest polimorfizm?
    • Tworzenie nadklas i podklas
    • Nadpisywanie i przeciążanie metod
    • Polimorfizm klas w praktyce
    • Najpopularniejsze rodzaje błędów
    • Obsługa błędów – struktura try/catch
    • Wywoływanie błędów w naszym kodzie
    • Definiowanie własnych klas błędów
    • Obsługiwanie błędów w praktyce – stworzenie własnej klasy błędu, wywoływanie błędów, obsługiwanie błędów
    • Ostrzeganie użytkownika – zwracanie ostrzeżeń
    • Monitorowanie kodu – wykorzystanie logów, po co są potrzebne?
    • Po co testować kod?
    • Rodzaje testowania – unit testing, integration testing
    • Frameworki do testowania kodu w Javie
    • Tworzenie testów jednostkowych w praktyce
    • Czym jest strumień danych? Czym się charakteryzuje?
    • Tworzenie strumieni danych w Javie
    • Wykonywanie operacji na strumieniach danych
    • Praca z równoległymi strumieniami danych
    • Czym jest wielowątkowość w komputerze?
    • Tworzenie i uruchamianie wątków w Javie
    • Jak sterować wątkami?
    • Statusy wątków
    • Powiązania wątków – jak dwa różne wątki mogą ze sobą współpracować?
    • Czym jest algorytm?
    • Jak określić złożoność algorytmu? – funkcja asymptotyczna
    • Jak zmierzyć czas wykonywania algorytmu?
    • Tworzenie wydajnego algorytmu do znajdowania liczb z ciągu Fibonnaciego – programowanie dynamiczne
    • Tworzenie wydajnego algorytmu do znajdowania liczb pierwszych
    • Założenia projektu – jaki jest cel, jak wspomniany cel osiągnąć, jak podzielić projekt?
    • Czym jest API?
    • Znalezienie odpowiedniego API z danymi pogodowymi
    • Łączenie się z API przy pomocy Javy
    • Stworzenie modułu, który będzie pobierał potrzebne dane pogodowe z wybranego API
    • Testowanie jednostkowe stworzonego modułu
    • Czym jest GUI?
    • Projektowanie własnego GUI – określenie wyglądu, do którego dążymy
    • Biblioteki Javy wykorzystywane do tworzenia GUI
    • Stworzenie GUI przy pomocy Swinga – zintegrowanie stworzonego modułu do pobierania danych pogodowych ze stworzonym GUI
    • Testowanie jednostkowe stworzonej aplikacji