Wybrany termin:
Termin:
Do ustalenia
Miejsce:
Kraków
Cena:
1000,00 zł

Podstawy programowania w języku SCALA

Offer image
Wybrany termin:

Termin:

Do ustalenia

Miejsce:

Kraków

Czas trwania:

28 godz.

Prowadzący:

dr inż. Roman Dębski

Cena:

1000,00 zł

Pozostałe terminy:

W tym momencie brak dostepnych terminów

Podstawy programowania w języku scala

Usługa:
Szkolenie/Kurs synchroniczny
Poziom:
Podstawowy

Osoby bez kierunkowego wykształcenia zarówno już związane z branżą IT, jak również poszukujące takiej pracy. Szkolenie umożliwi uczestnikom nie tylko zapoznanie się z językiem Scala, ale także opanowanie podstaw programowania (obiektowego i funkcyjnego) ułatwiających dalszą naukę (także innych języków).

  • Krótka charakterystyka języka, skrypty w Scali, REPL, podstawowe typy danych, zmienne, inferencja typów (type inference), instrukcje vs. wyrażenia, pętle, wyrażenie warunkowe, wyrażenie "for-yield”, metody vs. funkcje, parametry metod/funkcji.
  • Elementy progr. obiektowego w Scali I
  • Hierarchia klas/typów w Scali, klasy, konstruktory, @BeanProperty, obiekty, obiekty "towarzyszące" (companion objects), obiekt aplikacji, klasy abstrakcyjne, dziedziczenie, przesłanianie (overriding) metod, cechy (traits), domieszki (mix-ins), typy strukturalne.
  • Elementy progr. obiektowego w Scali II/Elementy programowania generycznego w Scali
  • Obsługa wyjątków, pakiety i importy, obiekt pakietu, specyfikatory dostępu, klasy/obiekty przypadku (case classes/objects), sealed classes, klasy wewnętrzne, enumeratory, równość obiektów. Kolekcje generyczne, parametryzacja typu, polimorfizm parametryczny, górne i dolne ograniczenia parametrów typu, kowariantność, kontrawariantność i inwariantność operatorów, typy abstrakcyjne (vs. generyczne).
  • Elementy progr. funkcyjnego w Scali I
  • Progr. imperatywne vs. funkcyjne, rekursja, rekursja ogonowa, dopasowanie wzorców, typ "Option".
  • Elementy programowania funkcyjnego w Scali II
  • Literały funkcyjne vs. obiekty funkcyjne (function literals vs. function values), funkcje wyższego rzędu, funkcje jako elementy struktur danych, porównanie: "call by value" vs. "call by name", domknięcie funkcji (closure), funkcje częściowe (partial functions) vs. "partially applied functions", składanie i "rozwijanie" funkcji (currying).
  • Elementy progr. funkcyjnego w Scali III
  • Listy, operatory: filter, map, flatten, flatMap, reduce, fold, zip, foreach; podstawowe kolekcje dostępne w Scali, wzorzec "Collection Pipeline", leniwe wartościowanie (lazy evaluation): lazy val, Stream, view.
  • Elementy progr. reaktywnego w Scali
  • Modele współbieżności, aktorowy model współbieżności, Akka - omówienie wybranych aspektów (przykłady, API), systemy reaktywne, Lightbend Reactive Platform.

mini wykłady, ćwiczenia laboratoryjne/warsztaty

7 spotkań 4-godzinnych (od 17.45 do 21.00)

Kandydaci powinni znać podstawy programowania w dowolnym języku obiektowym (np. Java, C#, C++).