Zaproszenie do udziału w szkoleniu

“Wprowadzenie do języka Java
i platformy Eclipse”

Cel szkolenia

Java stał się obecnie jedną z wiodących technologii wykorzystywanych do tworzenie różnego rodzaju aplikacji. Język Java ze względu na swoją prostotę, dobrze przemyślaną architekturę, przenośność, bezpieczeństwo i uniwersalność bardzo dobrze nadaje się do tworzenia dużych i złożonych systemów informatycznych, a jednocześnie można przy jego pomocy efektywnie i szybko napisać aplikację “biurkową”, grę na telefon komórkowy lub oprogramowanie do obsługi bankomatu.

Wzrastająca popularność Javy wpłynęła na powstanie silnej społeczności, której członkami są zarówno duże firmy, np. IBM, Oracle, fundacje, np. Apache Fundation jak i będący doskonałymi fachowcami pojedynczy programiści. Efektem tego jest wielość źródeł informacji dotyczących Javy, powstanie bibliotek oprogramowania, gotowych aplikacji z dostępnym kodem źródłowym, szkieletów aplikacji (ang. frameworks), które można efektywnie (i bardzo często bezpłatnie) wykorzystać we własnej pracy, co przekłada się bezpośrednio na wzrost produktywności i niezawodność tworzonego oprogramowania.

Widać więc, że Java jest językiem przyszłościowym i czas poświęcony na jego naukę nie jest na pewno czasem straconym. Włożony wysiłek będzie procentował nawet wtedy, gdy programujemy w innym języku, gdyż wiele dobrych praktyk programistycznych , używanych przy tworzeniu oprogramowania w Javie jest uniwersalne.

W trakcie kursu będziemy wykorzystywać do tworzenia oprogramowania platformę Eclipse. Jest ona narzędziem darmowym, elastycznym, dzięki możliwości rozszerzania przy pomocy wtyczek, a przede wszystkim ma niezwykle bogatą funkcjonalność, pozwalającą tworzyć kod efektywnie i bezbłędnie.

Zakres kursu obejmuje podstawowe i wybrane zaawansowane elementy języka Java oraz dokładne zapoznanie się z możliwościami Eclipse’a. Kurs jest ma nastawienie praktyczne, uczestnicy w czasie szkolenia wykonują wiele drobnych i poważniejszych ćwiczeń.

Uczestnicy

Kurs jest przeznaczony dla osób, które nie znają języka Java, ale mają przynajmniej elementarne doświadczenie programistyczne.

Program

    1. Podstawy języka Java. Wprowadzenie do Eclipse.
        • Wstęp. Historia Javy, zalety języka, zastosowania.
        • Architektura języka. Java Virtual Machine, mechanizm HotSpot. Wydajność Javy – fakty i mity. Możliwość uruchomienia programów na wielu platformach.
        • Java a Twój ulubiony język programowania (C++, Delphi, Python…).
    2. Elementy programowania obiektowego.
        • Podstawy programowania obiektowego – obiektowy sposób patrzenia na oprogramowanie. Wszystko jest obiektem.
        • Obiekty i ich interfejsy. Projektowanie z wykorzystaniem interfejsów.
        • Obiekty jako byty o określonej odpowiedzialności dostarczające usług innym obiektom.
        • Ukrywanie implementacji.
        • Dziedziczenie i kompozycja. Co jest „lepsze”?
        • Polimorfizm. Projektowanie oprogramowania z myślą o polimorfizmie.
    3. Pierwszy program w Javie. Hello World!
        • Tworzenie i uruchomienie programu w Javie (Notatnik + linia komend).
        • Instalacja i podstawy Eclipse.
        • Pierwszy program w Javie i Eclipse. Tworzenie pakietów i klas. Kompilacja i uruchamianie programów Javy w Eclipse
        • Klasy i obiekty. Tworzenie i niszczenie obiektów – podstawowe informacje.
        • Koncepcja platformy Eclipse. Widoki i perspektywy.
    4. Podstawowe elementy języka Java.
        • Klasa: pola i metody.
        • Zmienne, wbudowane typy danych i ich ograniczenia.
        • Operatory
        • Bloki, pętle i inne elementy sterujące przebiegiem programu.
        • Typ tablicowy.
        • Wykorzystanie mechanizmu podpowiedzi i wzorców kodu w Eclipse.
    5. Tworzenie dokumentacji (JavaDoc) oraz konwencje tworzenia kodu Javy (Java Code Conventions). JavaDoc w Eclipse.
      • Inicjalizacja obiektów i zwalnianie zasobów.
          • Tworzenie obiektów przy pomocy konstruktorów.
          • Alternatywne sposoby tworzenia obiektów. Metody i pola statyczne.
          • Kolejność inicjalizacji pól w obiekcie.
          • Przeciążanie metod – podstawy.
      • Ukrywanie implementacji.
          • Grupowanie klas w pakietach. Tworzenie bibliotek klas.
          • Ograniczanie dostępu do klas, metod i pól w Javie.
          • Słowo kluczowe final.
      • Tworzenie archiwów JAR. Używanie utworzonych klas i bibliotek.
        • Miejsca w Internecie, które powinien znać każdy programista Java.
          • Programowanie obiektowe w Javie
              • Dziedziczenie. Dziedziczenie a kompozycja. Poprawne wykorzystywanie dziedziczenia.
              • Polimorfizm.
                • „Czysty” polimorfizm a rozszerzenie.
                • Kolejność inicjowania obiektów a polimorfizm.
                • Projektowanie z wykorzystaniem polimorfizmu. Unikanie „spaghetti code”.
              • Klasy abstrakcyjne.
              • Interfejsy.
                • Wielodziedzicznie w Javie.
                • Interfejsy i dziedziczenie. Zagnieżdżanie interfejsów.
                • Interfejs jako kontrakt: warunki wstępne, końcowe oraz niezmienniki.
              • Odpowiedzialność klas. Przykład: klasy Date i Calendar.
              • Klasy wewnętrzne.
                • Gdzie można umieszczać klasy wewnętrzne. Dostęp do klas wewnętrznych.
                • Anonimowe klasy wewnętrzne.
                • Własności klas wewnętrznych.
                • Jak i kiedy używać klas wewnętrznych.
          • Typowe błędy popełniane przy programowaniu w Javie. Problemy z klasą String. Wykorzystanie obiektów niezmiennych (ang. immutable).
            • Obsługa błędów w Javie. Wyjątki.
                • Przechwytywanie wyjątków, try-catch-finally.
                • Tworzenie wyjątków.
                • Poprawne użycie wyjątków, łańcuchy wyjątków.
                • Wyjątki jako element bezpieczeństwa.
                • Czy wyjątki są potrzebne?
                • Logowanie wyjątków. (*)
            • Asercje.
              • Debugowanie aplikacji w Eclipse.
                • Wykrywanie typu obiektów „w locie” – mechanizm RTTI. (*)
                    • Rzutowanie typów w Javie. Potrzeba RTTI.
                    • Odbicie (reflection) – zdobywanie informacji o obiekcie w trakcie wykonywania programu.
                • Kolekcje obiektów.
                    • Tablice, klasa Arrays.
                    • Kolekcje obiektów. Lista. Zbiór. Mapa (tablica asocjacyjna).
                    • Generyki (Java Generics)
                    • Przeglądanie kolekcji. Iteratory. Pętla „foreach”.
                    • Operacje na elementach kolekcji.
                      • Sortowanie – wzorzec projektowy Strategy.
                      • Wypełnianie kolekcji obiektami.
                      • Inne operacje.
                    • Synchronizacja dostępu do kolekcji.
                    • „Stare kolekcje” z Javy 1.0/1.1.
                    • Problemy z kolekcjami i radzenie sobie z nimi.
                • System wejścia-wyjścia w Javie.
                    • Klasa File.
                    • Zrozumieć I/O w Javie – strumienie.
                    • Wejście i wyjście InputStream, OutputStream, buforowanie. Kompresja.
                    • Serializacja obiektów.
                • Konfiguracja aplikacji przy pomocy Properties i Preferences.
                  • Wyrażenia regularne w Javie. (*)
                      • Wykorzystanie biblioteki java.util.regexp. (*)
                      • Wykorzystanie Eclipse do pracy z wyrażeniami regularnymi (wtyczka). (*)
                  • Wątki w Javie – wykonywanie kilku czynności w tym samym czasie.
                      • Potrzeba wątków. Podstawy. Dzielenie zasobów.
                      • Współpraca między wątkami.
                  • Refaktoryzacja kodu.
                      • Dlaczego będziemy refaktoryzować kod?
                      • Wsparcie refaktoryzacji w Eclipse.
                  • Wykorzystanie Maven-a do zarządzania kodem
                    • Tworzenie graficznego interfejsu użytkownika.
                        • Wykorzystanie wzorca Model-View-Controller do budowy GUI. Separacja logiki aplikacji i wyglądu
                        • Podstawowe komponenty Swing. Przechwytywanie zdarzeń.
                        • Wizualne tworzenia interfejsu użytkownika. Przegląd komponentów Swing.
                        • Zasady poprawnego tworzenia interfejsu użytkownika. Problem wielowątkowości.
                        • Aplety Java (ang. java applets)
                        • Komponenty JavaBeans i komponenty Swing.
                        • Biblioteki ułatwiające tworzenie GUI.
                        • Swing kontra SWT.
                    • Tworzenie aplikacji wielojęzycznych
                        • Lokalizacja (locale).
                        • Internacjonalizacja (I18n).
                        • Tworzenie zasobów językowych w plikach *.properties. Wykorzystanie Unikoda.
                        • Narzędzia native2ascii. Wsparcie Eclipse przy tworzeniu aplikacji wielojęzycznych.
                    • Metadane (ang. annotations). Konfiguracja aplikacji i automatyczne
                      generowanie kodu. (*)
                      • Tematy dodatkowe (*)
                          • Dziennik aplikacji. Log4J.
                          • Wykorzystanie Jakarta Ant do zarządzania kodem.
                          • Tworzenie testów jednostkowych.
                          • Profilowanie (badanie wydajności) aplikacji. Wsparcie Eclipse (wtyczka).

                        (*) Gwiazdką są oznaczone zagadnienia dodatkowe, które są omawiane, gdy starczy na nie czasu.

                    Czas trwania

                    5 dni szkoleniowych

                    Koszt

                    3700 PLN + VAT

                    Metoda prowadzenia

                    Wykład i zajęcia praktyczne.

                    Wersja e-learningowa

                    Brak.

                    Do pobrania

                    Planowane realizacje

                    Subskrybuj nasz Newsletter

                    Otrzymasz dostęp do darmowych materiałów szkoleniowych
                    i nie przegapisz żadnej z istotnych naszych inicjatyw.