Kurs Javy od podstaw, dla osób rozpoczynających naukę programowania.
1. Wstęp do Javy [1h]
- Dlaczego Java?
- Opis platformy
- Wyjaśnianie pojęć (JRE a JDK, J2SE a J2EE)
- Kompilacja i uruchamianie, instalowanie przykładów i konfiguracja środowiska
- Dokumentowanie a komentowanie kodu – JavaDocs
2. Środowisko programistyczne i narzędzia [3h]
- Instalacja JDK i IDE,
- Uruchamianie programów
- Wiersz poleceń
- Ant
- Systemy kontroli wersji – CVS, Subversion
3. Podstawy języka Java [5h]
- Program „Hello World”
- Omówienie głównych słów kluczowych i podstawowych zagadnień, typy danych (proste, obiektowe), tablice
- Instrukcje sterujące
- Wielkie liczby
- Operacje wejścia/wyjścia
- Autoboxing
4. Obiekty i klasy [4h]
- Obiekty a klasy. Pojęcia związane z programowaniem obiektowym.
- Korzystanie z istniejących klas
- Tworzenie własnych klas
- Pola i metody
- Konstrukcja obiektów
- Przeładowywanie
- Domyślna inicjalizacja pól składowych
- Konstruktory domyślne
- Wywoływanie innego konstruktora
- Bloki inicjalizacji
- Niszczenie obiektów i metoda finalize
- Techniki: metody fabryki, późna inicjalizacja
5. Dziedziczenie i polimorfizm [4h]
- Klasa Object
- Rozszerzanie klas
- Hierarchia dziedziczenia, polimorfizm, wiązanie dynamiczne, zapobieganie dziedziczeniu, rzutowanie
- Dziedziczenie a modyfikatory dostępu.
6. Interfejsy i klasy abstrakcyjne [2h]
- Interfejsy
- Klasy abstrakcyjne
- Zastosowania
- 7. Zaawansowane elementy języka Java [3h]
- Klasy wewnętrzne klasy proxy, klasy anonimowe i statyczne
- Java Beans
- Adnotacje
- Typy wyliczeniowe
- Asercje
- Garbage Collector – podstawy
8. Java I/O [4h]
- Klasa File
- Klasy strumienie i znakowe
- RandomAccessFile
- Standardowe wejście / wyjście
- Serializacja (Interfejsy: serializable, externalizable)
- Atomizacja (StreamTokenizer, StringTokenizer)
9. Kolekcje [4h]
- Hierarchia kolekcji
- Interfejsy Collection, Set. List. Map
- Generics
- Posortowane klasy kolekcji.
- Metody equals i hashCode
- Interfejsy Cloneable/Comparable
- Tworzenie głębokich kopii, zastosowanie
- Kolekcje a dostęp współbieżny – podstawy
10. Wzorce projektowe [3h]
- Singleton
- Wzorzec metody fabrykującej
- Wzorzec fabryki abstrakcyjnej
- Wzorzec dekoratora
- Wzorzec mostu
- Obserwator
- Template
- Proxy, fasada, adapter
11. Programowanie sieciowe z użyciem gniazd [3h]
- Podstawy protokołów TCP, UDP
- Klasy: DatagramPacket, DatagramSocket, InetAddress, Socket
- Przesyłanie obiektów
- Komunikacja w architekturze klient – serwer.
12. Reflection API [3h]
- Klasa Class
- Omówienie metod reflection API
- Zastosowanie: Tworzenie klas na podstawie plików XML
- Podsumowanie
13. Obsługa zdarzeń [2h]
- Wprowadzenie
- Akcje
- Implementacja zdarzeń w AWT
- Podsumowanie
14. Tworzenie interfejsu użytkownika – Swing framework [3h]
- Wprowadzenie do Swing
- Przegląd komponentów
- Zastosowanie wzorca MVC.
- Eclipse Visual Editor
- Swing a wątki
- AWT -> Swing -> ?
- Podsumowanie
15. Obsługa błędów - wyjątki [2h]
- Obsługa błędów
- Zgłaszanie i przechwytywanie wyjątków
- Definiowanie własnych klas wyjątków
- hierarchia
- Klauzula finally
- Podsumowanie
16. Praca z debuggerem [2h]
- Wyjątki i błędy – hierarchia
- Wyjątki a polimorfizm
- Przechwytywanie wyjątków
- Tworzenie własnych klas błędów.
- Praca krokowa za pomocą debuggera.
- Podsumowanie
17. jUnit framework [2h]
- Idea programownia w oparciu o testy
- JUnit framework z użyciem adnotacji
18. Przygotowywanie aplikacji do użytku [3h]
- Pliki JAR
- Java Web Start
- Aplety
- Zapamiętywanie ustawień użytkownika
- Podsumowanie
19. Podsumowanie [3h]
- Omówienie poszczególnych działów
- Test ogólny – sprawdzenie siebie
- Omówienie wyników
- Zaproponowanie kolejnych etapów szkoleń
20. Projekt [20-30h]
- Omówienie początkowych założeń
- Wybranie projektu
- Implementacja
- Rozwiązania