Adresaci szkolenia

Szkolenie adresowane jest do osób rozpoczynających przygodę z programowaniem, pragnących poznać język Java.

Cel szkolenia

Celem szkolenia jest nabycie umiejętności programowania w języku Java oraz zapoznanie się z platformą Java w zakresie umożliwiającym podjęcie pracy jako programista Java. Program szkolenia ułożony jest tak, by łagodnie wprowadzić uczestników w tajniki sztuki programowania z wykorzystaniem popularnych technologii i nowoczesnych narzędzi stosowanych przy prawdziwych projektach (bazy danych, IDE, testowanie, notacja UML).

Szkolenie przebiega w dwóch etapach. Pierwszy etap obejmuje podstawy języka Java oraz fundamenty programowania w ogóle, jak struktury danych, algorytmy i zasady programowania zorientowanego obiektowo.

Podczas drugiego etapu przedstawiane są zaawansowane zagadnienia języka Java, jak: programowanie aplikacji desktop przy użyciu biblioteki Swing lub JavaFX, programowanie sieci TCP/IP i aplikacji wielowątkowych. W tej części omawiane są również: Java Reflection API, JDBC oraz wprowadzenie do Java Enterprise Edition. Podczas warsztatów wykorzystywane są narzędzia: Eclipse, Maven, jUnit. Wymienione narzędzia mogą być zastąpione innymi, stosowanymi w Państwa firmie.

Mocne strony szkolenia

Program prowadzi uczestników od fundamentów programowania aż po zaawansowane zagadnienia języka Java, a zarazem dostarcza podstaw niezbędnych do zrozumienia platformy Java Enterprise Edition (JEE).

Szkolenie kładzie nacisk na zagadnienia i umiejętności związane z tworzeniem kodu dobrej jakości, z użyciem zalecanych praktyk i wzorców.

Szkolenie jest ciągle uaktualniane do pojawiających się najnowszych wersji języka, przy zachowaniu informacji niezbędnych do utrzymywania programów tworzonych we wcześniejszych wersjach.

Wymagania

Od uczestników nie wymaga się wcześniejszej umiejętności programowania.

Parametry szkolenia

7*8 godzin (7*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów) podzielone na 2 etapy (zajęcia odbywają się w dni robocze w trybie 5 + 2). W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowana jest prosta aplikacja, obejmująca kluczowe zagadnienia poruszane na szkoleniu.

Wielkość grupy: maks. 8-12 osób.

Program szkolenia

 


    Część I (4 dni)


  1. Wprowadzenie do programowania
    1. Programowanie jako metoda rozwiązywania problemów
    2. Podstawowe pojęcia (struktura danych, algorytm, program)
    3. Dziedzina problemu i jej opisywanie
    4. Rodzaje języków programowania
    5. Cykl budowania programu (projektowanie, edycja kodu, kompilacja, uruchomienie,debugowanie)
    6. Podstawowe informacje o języku Java
    7. Kompilacja i uruchomienie pierwszego programu
  2. Główne składowe języków programowania
    1. Podstawowe typy danych (typy liczbowe, znakowe, logiczne, ciągi znaków)
    2. Zmienne, deklaracja zmiennych typów prostych
    3. Inicjalizacja zmiennych, instrukcje przypisania
    4. Operatory arytmetyczne i logiczne
    5. Konwersja i rzutowanie typów prostych
    6. Typ tablicowy, zmienne tablicowe, operacje na tablicach
    7. Bloki instrukcji, zasięg zmiennych
    8. Metody, parametry metod, wartość zwracana
    9. Metoda main i przekazywanie argumentów wywołania programu
    10. Podstawowa obsługa standardowego wejścia/wyjścia
  3. Instrukcje sterujące wykonaniem programu
    1. Instrukcje warunkowe: if, else, switch
    2. Pętle for, for-each, while, do-while
    3. Instrukcje break, continue, wykorzystanie etykiet
  4. Praca z obiektami
    1. Pojęcie klasy i obiektu
    2. Deklaracja zmiennych typu obiektowego
    3. Zmienne składowe obiektu i klasy (pola)
    4. Metody obiektu i klasy
    5. Zakres widoczności pól, metod i klas
    6. Podział programu na pakiety
    7. Konwencje obowiązujące w języku Java
  5. Podstawy algorytmów i struktury danych
    1. Pojęcie struktury danych i algorytmu
    2. Sposoby zapisu algorytmów (schematy blokowe, pseudokod)
    3. Podstawy szacowania złożoności algorytmów
    4. Listy jednokierunkowe i dwukierunkowe, operacje na listach
    5. Podstawowe algorytmy na listach (przeszukiwanie, odwracanie, element minimalny)
    6. Przegląd algorytmów sortowania list
    7. Algorytmy rekurencyjne
    8. Metoda "dziel i zwyciężaj"
    9. Zbiór, stos, kolejka
    10. Drzewa, podstawowe operacje i algorytmy na drzewach
    11. Grafy i algorytmy grafowe
    12. Inne rodzaje algorytmów
  6. Programowanie obiektowe
    1. Deklaracja klas
    2. Tworzenie konstruktorów i inicjalizacja obiektów
    3. Składowe statyczne, import statyczny
    4. Encapsulation, Coupling, Cohesion
    5. Dziedziczenie
    6. Dziedziczenie a zakres widoczności
    7. Dziedziczenie a przypisania, operator instanceof
    8. Używanie konstruktorów i metod nadklasy
    9. Overload a override
    10. Klasy abstrakcyjne, interfejsy, metody domyślne w interfejsach
    11. Klasa Object
    12. Typy wyliczeniowe
  7. Obsługa wyjątków i asercje
    1. Koncepcja sytuacji wyjątkowych w Java
    2. Typy sytuacji wyjątkowych (klasy Exception, RuntimeException, Error)
    3. Obsługa wyjątków (klauzule try, catch, multi-catch, finally)
    4. Klauzula try-with-resources, automatyczne zamykanie zasobów
    5. Deklaracja metod zgłaszających wyjątki oraz zgłaszanie wyjątków (throws, throws)
    6. Wyjątki a dziedziczenie
    7. Przegląd wybranych wyjątków
    8. Projektowanie własnych typów wyjątków
    9. Asercje
  8. Wprowadzenie do projektowania
    1. Podstawy UML
    2. Rozważania projektowe: agregacja, kompozycja, asocjacja, generalizacja
    3. Podstawowe wzorce projektowe (Singleton, DAO, Fabryka)
  9. Klasa Math, Operacje na napisach i formatowanie
    1. Metody Klasy Math
    2. Klasa String, StringBuffer, StringBuilder
    3. Operacje na napisach
    4. Atomizacja napisów i podstawy wyrażeń regularnych (metoda split, klasa StringTokenizer, Scanner, Pattern)
    5. Formatowanie napisów, dat i liczb (klasa Formatter)
    6. Formatowanie z uwzględnieniem ustawień regionalnych
  10. Kolekcje i klasy Generyczne
    1. Rodzaje kolekcji w Java
    2. Kolekcje uporządkowane, nieuporządkowane, posortowane, nieposortowane
    3. Metoda equals i hashCode
    4. Interfejsy Collection, Set, Map, List
    5. Przegląd dostępnych kolekcji
    6. Kolekcje synchronizowane
    7. Iteracja po kolekcjach
    8. Interfejsy Comparable i Comparator
    9. Metody użytkowe z klasy Collections
    10. Interfejs Clonable
    11. Kolekcje generyczne
    12. Zasady tworzenia klas generycznych
  11. Wprowadzenie do platformy Java
    1. Rodzaje instalacji
    2. Narzędzia dostępne w instalacji JSE (kompilator, debuger, interpreter, generator dokumentacji i inne)
    3. Dokumentacja
    4. Sposoby dostarczania aplikacji Java SE (aplikacja klasyczna, aplet, java web start, plugin)
    5. Zasoby internetowe


  12. Część II (3 dni)


  13. Obsługa Wejścia/Wyjścia
    1. Koncepcja strumieni w Java
    2. Rodzaje strumieni
    3. Strumienie Binarne (InputStream, OuputStream i pochodne)
    4. Strumienie Znakowe (Reader, Writer i pochodne)
    5. Zagadnienia kodowania w strumieniach znakowych
    6. Łączenie strumieni
    7. Strumienie skojarzone z plikami oraz interakcja z systemem plików klasy( File, RandomAccessFile, FileOutputStream,FileInputStream)
    8. File I/O z NIO.2
    9. Interfejs Serializable
    10. Serializacja obiektów do strumieni (ObjectOutputStream,ObjectInputStream)
    11. Modyfikacja domyślnej serializacji
    12. Standardowe wejście/wyjście
    13. Przykłady strumieni specjalizowanych
    14. Atomizacja strumieni (StreamTokenizer)
  14. Podstawy JDBC
    1. O JDBC
    2. Rejestracja sterownika
    3. Wykonywanie zapytań
    4. Transakcje
    5. Projektowanie warstwy dostępu do danych
  15. Zarządzanie zasobami JVM
    1. Struktura pamięci
    2. Metoda finalize i Garbage Collector
    3. Monitorowanie zasobów wirtualnej maszyny
  16. Programowanie aplikacji wielowątkowych
    1. Pojęcie Wątku
    2. Konstrukcja wątków w Javie (Runnable i Thread)
    3. Cykl życia wątku
    4. Scheduler (zasada działania i priorytety)
    5. Metody yield, join, sleep
    6. Grupy wątków
    7. Zagadnienia synchronizacji (wait,notify,notifyAll, zakleszczenie, zagłodzenie)
    8. Klasy pakietu java.util.concurrent
    9. Wykonawcy i pule
    10. Fork/Join
  17. Programowanie sieci TCP/IP
    1. Podstawy protokołów IP / TCP / UDP
    2. Programowanie z użyciem UDP (DatagramSocket, Datagram Packet)
    3. Programowanie z użyciem TCP (Socket, ServerSocket)
    4. Rodzaje i obsługa wyjątków
    5. Zagadnienia przesyłania obiektów
    6. Zagadnienia współbieżnej obsługi wielu połączeń
  18. Elementy programowania funkcyjnego i metaprogramowania
    1. Klasy wewnętrzne, statyczne, anonimowe
    2. Lambda-wyrażenia i referencje do metod
    3. Strumieniowe API dla kolekcji
    4. Adnotacje i podstawy refleksji
  19. Programowanie interfejsów graficznych (SWING/JavaFX)
    1. Idea programowania komponentowo-zdarzeniowego
    2. Pojęcie komponentu i kontenera
    3. Przegląd komponentów i kontenerów
    4. Zarządcy rozkładu
    5. Rodzaje zdarzeń i ich obsługa (Events, Listeners, Adapters)
    6. Zagadnienia współbieżności w kontekście UI
    7. Applety i Java2D, Java Web Start
  20. Internacjonalizacja i lokalizacja aplikacji
  21. Podstawy automatycznego testowania aplikacji
    1. Rodzaje testów
    2. Biblioteki jUnit i testNG
    3. Koncepcje TDD i BDD
    4. Testowanie z użyciem obiektów Mock
  22. Przegląd zaawansowanych zagadnień platformy Java
    1. Podstawy przetwarzania XML w Java
    2. Classloader
    3. Management & Logging
    4. RMI
    5. JNI
  23. Wprowadzenie do Java Enterprise Edition

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email