Programování v jazyku Kotlin
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BI-KOT | Z,ZK | 4 | 2P+2C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Jazyk Kotlin je moderní staticky typovaný objektově-funkcionální jazyk, který využívá rozsáhlý ekosystém jazyka Java a přitom přináší řadu pokrokových jazykových konstrukcí. Jazyk je přitom zcela kompatibilní s jazykem Java a umožňuje vytvářet smíšené projekty, ve kterých se zachovají stávající části napsané v jazyku Java a pokračuje se v dalším vývoji moderním objektově-funkcionálním způsobem s minimem redundatního kódu. V neposlední řadě je jazyk Kotlin vhodný pro návrh doménově specifických jazyků (DSL).
- Požadavky:
-
BI-PJV, BI-TJV
- Osnova přednášek:
-
1 .Základy funkcionálního programování, přehled jazyka Kotlin.
2. Struktura aplikací, řídící konstrukce, konvence jazyka, klíčová slova, operátory.
3. Třídy, datové třídy, enum třídy, objekty, položky a vlastnosti, modifikátory.
4. Deklarace funkcí, implicitní a jmenné parametry, procedury, jednoduché funkce, proměnný počet parametrů.
5. Infixové volání, lokální funkce, generické funkce, inline funkce, rozšiřující funkce, lambda výrazy, HOF.
6. Destrukční deklarace, nullability.
7. Standardní typy a konverze.
8. Přetížení operátorů, delegace.
9. Generiky, subtyping.
10. Kolekce a sekvence, společné operace.
11. Anotace a reflexe.
12. Standardní knihovna.
13. Tvorba doménově specifických jazyků.
- Osnova cvičení:
-
1. Základní konstrukce
2. Třídy a objekty
3. Funkce
4. Lambda výrazy a HOF
5. Generiky
6. Kolekce
7. Standardní knihovna
8. Tvorba doménově specifického jazyka
9. KotlinTest - testovací framework
10.TornadoFX - adaptér pro JavaFX
11. KotlinPrimavera - adaptér pro Spring
- Cíle studia:
- Studijní materiály:
-
Dmitry Jemerov and Svetlana Isakova: Kotlin in Action, Kotlin tutorial a Kotlin specifikace na www.kotlinlang.org.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-KOT/
- Další informace:
- https://courses.fit.cvut.cz/BI-KOT/
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Bc. program Informatika, pro fázi studia bez oboru, 2015-2020 (volitelný předmět)
- Bc. obor Bezpečnost a informační technologie, 2015-2020 (volitelný předmět)
- Bc. obor Teoretická informatika, 2015-2020 (volitelný předmět)
- Bc. obor Počítačové inženýrství, 2015-2020 (volitelný předmět)
- Bc. obor Informační systémy a management, 2015-2020 (volitelný předmět)
- Bc. obor Webové a softwarové inženýrství, zaměření Softwarové inženýrství, 2015-2020 (volitelný předmět)
- Bc. obor Webové a softwarové inženýrství, zaměření Webové inženýrství, 2015-2020 (volitelný předmět)
- Bc. obor Webové a softwarové inženýrství, zaměření Počítačová grafika, 2015-2020 (volitelný předmět)
- Bc. obor Znalostní inženýrství, 2018-2020 (volitelný předmět)
- Bc. specializace Informační bezpečnost, 2021 (volitelný předmět)
- Bc. specializace Manažerská informatika, 2021 (volitelný předmět)
- Bc. specializace Počítačová grafika, 2021 (volitelný předmět)
- Bc. specializace Počítačové inženýrství, 2021 (volitelný předmět)
- Bc. program, pro fázi studia bez specializace, 2021 (volitelný předmět)
- Bc. specializace Webové inženýrství, 2021 (volitelný předmět)
- Bc. specializace Umělá inteligence, 2021 (volitelný předmět)
- Bc. specializace Teoretická informatika, 2021 (volitelný předmět)
- Bc. specializace Softwarové inženýrství, 2021 (volitelný předmět)
- Bc. specializace Počítačové systémy a virtualizace, 2021 (volitelný předmět)
- Bc. specializace Počítačové sítě a Internet, 2021 (volitelný předmět)
- Study plan for Ukrainian refugees (volitelný předmět)
- Bc. specializace Informační bezpečnost, 2024 (volitelný předmět)
- Bc. program, pro fázi studia bez specializace, 2024 (volitelný předmět)
- Bc. specializace Manažerská informatika, 2024 (volitelný předmět)
- Bc. specializace Počítačová grafika, 2024 (volitelný předmět)
- Bc. specializace Softwarové inženýrství, 2024 (volitelný předmět)
- Bc. specializace Webové inženýrství, 2024 (volitelný předmět)
- Bc. specializace Počítačové sítě a Internet, 2024 (volitelný předmět)
- Bc. specializace Počítačové inženýrství, 2024 (volitelný předmět)
- Bc. specializace Počítačové systémy a virtualizace, 2024 (volitelný předmět)
- Bc. specializace Umělá inteligence, 2024 (volitelný předmět)
- Bc. specializace Teoretická informatika, 2024 (volitelný předmět)