PV281 Programování v jazyce Rust

Fakulta informatiky
podzim 2024
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně
Vyučující
Ing. Lukáš Grolig (přednášející)
Bc. Miloš Hegr (cvičící)
Bc. Otakar Hirš (cvičící)
Bc. Ondřej Hrdlička (cvičící)
Bc. Lukáš Chudíček (cvičící)
Mgr. Petr Kadlec (cvičící)
Ing. Marek Mišík (cvičící)
Bc. Tomáš Sedláček (cvičící)
Mgr. Marek Vrbka (cvičící)
Ing. Petr Wehrenberg (cvičící)
Bc. Stanislav Zeman (cvičící)
Bc. Roman Alexander Mariančík (pomocník)
Lukáš Vacek (pomocník)
Adam Valt (pomocník)
Garance
Ing. Lukáš Grolig
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 23. 9. až Po 16. 12. Po 18:00–19:50 D3
  • Rozvrh seminárních/paralelních skupin:
PV281/01: St 25. 9. až St 18. 12. St 18:00–19:50 B411, P. Wehrenberg
PV281/02: St 25. 9. až St 20. 11. St 18:00–19:50 C511, St 27. 11. až St 18. 12. St 18:00–19:50 S209, M. Mišík
PV281/03: Út 24. 9. až Út 17. 12. Út 12:00–13:50 B204, O. Hrdlička
PV281/04: Út 24. 9. až Út 17. 12. Út 10:00–11:50 C416, M. Vrbka
PV281/05: St 25. 9. až St 18. 12. St 16:00–17:50 A219, P. Kadlec
PV281/06: Po 23. 9. až Po 16. 12. Po 16:00–17:50 A218, L. Chudíček
PV281/07: Út 24. 9. až Út 17. 12. Út 14:00–15:50 B411, M. Hegr
PV281/08: Po 23. 9. až Po 16. 12. Po 14:00–15:50 A215, O. Hirš
Předpoklady
PB006 Principy progr. jazyků a OOP
Zároveň se předpokládá základní 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: 103/112, pouze zareg.: 1/112, pouze zareg. s předností (mateřské obory): 1/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í
Student bude po absolvování předmětu schopen:
- Ovládat syntaxi jazyka Rust.
- Psát idiomatický kód v Rustu.
- 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
  • 1. Vlastnosti jazyka a jeho výhody, seznámení s ekosystémem a nástroji jazyka.
  • 2. Základní syntaxe, práce s pamětí a základními strukturami standardní knihovny, borrow-checker.
  • 3. CLI aplikace, lifetimes a práce s chybami.
  • 4. Práce se soubory, generika, iterátory a datové struktury ve standardní knihovně.
  • 5. Smart pointery, modulový systém, dokumentace a testování.
  • 6. Paralelní a asynchronní programovaní.
  • 7. Serializace a síťové programování.
  • 8. Práce s databází a práce s časem.
  • 9. Webové aplikace, backend, framework Actix.
  • 10. Webové aplikace, frontend.
  • 11. Desktop aplikace, framework Tauri.
  • 12. Hardware.
  • 13. Makra.
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.
Informace učitele
https://gitlab.fi.muni.cz/pv281
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 2023.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2024/PV281