1. Wejście / wyjście – Java I/O jako warstwa abstrakcji przetwarzania danych
- koncepcja strumieni – strumień jako koncept reprezentujący uszeregowane dane, strumienie znakowe oraz binarne
- operacje plikowe – API zarządzania zasobami dyskowymi oraz implementacja strumieni bazująca na strukturze plików
- serializacja obiektów – przechowanie stanu obiektu w strumieniu obiektów, interfejs Serializable
2. Wątki – równoległe wykonywanie zadań
- sposoby tworzenia – różne podejścia przy uruchamianiu równoległych zadań, klasa Thread, interfejs Runnable, egzekutory
- synchronizacja wątków – zabezpieczanie danych przed ryzykiem równoległej modyfikacji
- komunikacja międzywątkowa
3. Programowanie sieciowe
- podstawy protokołów sieciowych
- UDP w Javie – programowanie sieciowe przy wykorzystaniu datagramów i podejścia rozgłoszeniowego
- TCP w Javie – programowanie sieciowe przy wykorzystaniu protokołu TCP
4. Obsługa baz danych
- standard JDBC
- obsługa połączeń i wykonywania i obsługi zapytań – wykonywanie zapytań, parametryzowanie zapytań, wielokrotne wykonywanie zapytań
- obsługa rezultatu zapytania – iterowanie wierszy odpowiedzi, mapowanie danych
- transakcje – sposoby na ręczne zarządzanie granicami transakcji, wycofywanie transakcji, automatyczne zatwierdzanie operacji
5. JavaFX – zestaw komponentów wizualnych oraz API wspierającego strumienie audiowizualne
- Idea programowania komponentowo-zdarzeniowego – implementacja interfejsów obsługujących zdarzenia występujące w interfejsie użytkownika
- Przegląd komponentów i kontenerów
- Rodzaje zdarzeń i ich obsługa
6. Budowanie aplikacji za pomocą framework’u Apache Maven – organizacja struktury projektu i podążanie za zaproponowanymi konwencjami.
7. Testy jednostkowe – testowalność pojedynczych bloków kodu
- Koncepcja testów jednostkowych
- Biblioteka JUnit
- Biblioteki zaślepek (mocking)
8. Podstawowe Wzorce Projektowe
- Podział wzorców projektowych – klasyfikacja wzorców według adresowanego problemu, wzorce kreacyjne, strukturalne, czynnosciowe
- Wzorce Gang of Four – przegląd podstawowych wzorców
9. Wprowadzenie do Java Enterprise Edition
- Architektura wielowarstwowa – omówienie warstwowości aplikacji i podział odpowiedzialności poszczególnych warstw
- Wersje technologii JEE – historia i rozwój specyfikacji
- Serwery aplikacyjne – popularne serwery aplikacyjne