Programování v jazyku Scala
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
NI-PSL | Z,ZK | 4 | 2P+1C | česky |
- Garant předmětu:
- Jiří Daněček
- Přednášející:
- Jiří Daněček
- Cvičící:
- Jiří Daněček
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Kurz představuje moderní programovací jazyk Scala s velmi flexibilní syntaxí, který využívá objektově-funkcionální paradigma. Scala obsahuje pokročilé jazykové rysy - např. pattern matching a obsahuje mocnou standardní knihovnu - především kolekcí. Scala umožňuje používat v aplikacích funkcionální návrhové vzory: reaktivní streamy, H-List, Monads a vytvářet doménově specifické jazyky.
Scalu používá mnoho moderních frameworků a knihoven, např. Play, Slick, Apache Cassandra, Scalaz atd.
- Požadavky:
-
Semestrální projekt.
- Osnova přednášek:
-
1. Introduction
2. Lexical Syntax
3. Classes, Traits, and Objects
4. Templates
5. Functions
6. Pattern Matching
7. Types
8. Lists
9. Collections
10. Implicit Definitions and Parameters
11. Expressions
12. Annotations, Modifiers, Top-level Definitions
13. Standard Library
- Osnova cvičení:
-
1. HelloW, sbt, Knihovna racionálních čísel
2. Kombinátory
3. Knihovna textových elementů
4. Web framework Play
5. ORM Slick
6. Akka aktory
7. Akka streamy
- Cíle studia:
- Studijní materiály:
-
Scala portál (API, Specification, Tutorials)
Martin Odersky: Scala by Example
Martin Odersky, Programming in Scala, Third Edition
- Poznámka:
-
Předmět je ekvivalentní s MI-PSL // Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/MI-PSL/
- Další informace:
- https://courses.fit.cvut.cz/NI-PSL/
- 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)
- Mgr. specializace Počítačová bezpečnost, 2020 (volitelný předmět)
- Mgr. specializace Návrh a programování vestavných systémů, 2020 (volitelný předmět)
- Mgr. specializace Počítačové systémy a sítě, 2020 (volitelný předmět)
- Mgr. specializace Manažerská informatika, 2020 (volitelný předmět)
- Mgr. specializace Softwarové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Systémové programování, verze od 2020 (volitelný předmět)
- Mgr. specializace Webové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Znalostní inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2020 (volitelný předmět)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2020 a vyšší (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)
- Mgr. specializace Systémové programování, verze od 2023 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2023 (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)