Plan szkolenia
1. Architektura
○ Koncepcja leżąca u podstaw języka
○ Przeznaczenie i architektura
○ Studium porównawcze z innymi językami JVM
2. Projekt
○ Zintegrowanie środowisko developerskie oraz praca z poziomu linii komend
○ Struktura projektu
○ Kompilacja, uruchamianie i debugowanie
3. Konstrukcje języka
○ Typy danych i zmienne
○ Praca z pakietami, import
○ Instrukcje sterujące
4. Programowanie obiektowe
○ Definiowanie klas i posługiwanie się obiektami
○ Praca z konstruktorami
○ Własności, metody i zarządzanie widocznością
○ Definiowanie klas zagnieżdżonych
○ Praca z interfejsami i wzorzec delegacji
○ Definiowanie rozszerzeń
○ Praca z typami generycznymi
5. Programowanie funkcyjne
○ Koncepcja programowania funkcyjnego, wady, zalety
○ Praca z funkcjami i wyrażeniami lambda
○ Techniki definiowania i użycia funkcji wyższego rzędu
6. Kolekcje
○ Charakterystyka biblioteki
○ Praca z listami, zbiorami i mapami
○ Operacje na kolekcjach, iteracja, sortowanie, filtrowanie, mapowanie, grupowanie
7. Wątki
○ Praca z wątkami
○ Programowanie zdarzeniowe i callbacks
○ Wzorzec observer-observable
○ Praca z futures i promises
○ Kodowanie asynchroniczne z coroutines, channel, pipelines