PV281 Programování v jazyce Rust

Fakulta informatiky
podzim 2023
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: k.
Vyučující
Ing. Lukáš Grolig (přednášející)
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
Bc. Hugo Adamove (cvičící)
Ing. Ondřej Holub (cvičící)
Bc. Ondřej Hrdlička (cvičící)
Bc. Lukáš Chudíček (cvičící)
Ing. Marek Mišík (cvičící)
Bc. Tomáš Sedláček (cvičící)
Ing. Petr Šlézar (cvičící)
Mgr. Marek Vrbka (cvičící)
Ing. Petr Wehrenberg (cvičící)
Bc. Stanislav Zeman (cvičící)
Garance
prof. RNDr. Tomáš Pitner, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Po 18:00–19:50 D3
  • Rozvrh seminárních/paralelních skupin:
PV281/01: Út 12:00–13:50 A319, M. Vrbka
PV281/02: Po 10:00–11:50 A219, O. Holub
PV281/03: Čt 12:00–13:50 B204, O. Hrdlička
PV281/04: Čt 16:00–17:50 B411, L. Chudíček, M. Mišík
PV281/05: Po 12:00–13:50 B011, S. Zeman
PV281/06: Po 16:00–17:50 A217, H. Adamove
PV281/07: Út 18:00–19:50 B411, P. Šlézar, P. Wehrenberg
Předpoklady
PB071 Principy nízkoúr. prog.
Zároveň se předpokládá znalost databází, rozhraní REST a vývoje webových aplikací - toto lze nastudovat ve studijních materiálech či interaktivní osnově předmětu PB138 Základy webového vývoje a značkovacích jazyků.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 112 stud.
Momentální stav registrace a zápisu: zapsáno: 67/112, pouze zareg.: 0/112, pouze zareg. s předností (mateřské obory): 0/112
Mateřské obory/plány
Cíle předmětu
Cílem předmětu je seznámit studenty s programovacím jazykem Rust a výhodami, které přináší pro systémové programování nebo pro vývoj spolehlivých, bezpečných a výkonných služeb. Kromě samotné syntaxe jazyka seznámí studenty s běžené používanými knihovnami a s doporučenými postupy při vývoji v jazyce.
Výstupy z učení
Ovládat syntaxi jazyka Rust;
Chápat výhody systémového programování v Rustu;
Používat standardní knihovnu jazyka Rust;
Orientovat se v dokumentaci rustdoc;
Využívat běžně používané knihovny pro vývoj backendových a frontendových aplikací;
Osnova
  • Vlastnosti jazyka a jeho výhody
  • Seznámení s ekosystémem a nástroji
  • Základní syntaxe
  • CLI aplikace
  • Asynchronní programovaní
  • Paralelní programování
  • Práce se soubory
  • Dokumentace a testování
  • Práce s databází
  • Webový framework Actix
  • GRPC a Tonic
  • Webassembly
Výukové metody
Kurz probíhá formou přednášek a praktických cvičení. Domácí práce se skládá ze samostatných programátorských úloh spolu s týmovým projektem v závěru semestru.
Metody hodnocení
Aktivita na cvičeních, vypracování samostatných domácích úloh, vypracování týmového projektu.
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích podzim 2021, podzim 2022, podzim 2024.