Anotácia
Študent sa oboznámi s funkcionálnym prístupom k programovaniu. Naučí sa využívať čisté funkcie, funkcie vyššieho rádu, efektívne pracovať s nemennými štruktúrami údajov. Predmet sa tiež venuje významu typov v opise vlastností programu. Študent nadobudne aj vedomosti o jazyku lambda. Pri vyučovaní sa používa predovšetkým jazyk Haskell, príklady sú však uvádzané aj v iných jazykoch.
Zdroje
- Ján Kollár. Funkcionálne programovanie. Elfa, 2009.
- Simon Thompson. Haskell: The Craft of Functional Programming. Addison-Wesley, 2011.
- Paul Hudak, John Peterson, Joseph Fasel. Gentle Introduction To Haskell. 2000.
Zápočet
- 10 bodov — zápočtová písomka 1
- 10 bodov — zápočtová písomka 2
- 15 bodov — zadanie a jeho obhajoba
- 5 bodov — aktivita na cvičeniach
Použitie veľkých jazykových modelov (LLM)
Cieľom tohto predmetu je naučiť sa konštruovať programy v funkcionálnom štýle a myslieť takýmto spôsobom. Preto neodporúčame používať LLM na generovanie kódu. Úlohy na tomto predmete sú definované tak, aby ste ich vedeli zvládnuť len na základe informácií z prednášok, cvičení a odporúčaných zdrojov. Niekedy to však bude vyžadovať dlhšie rozmyšľanie, hľadanie riešení, viacero neúspešných pokusov. Je v normálne, ak riešenie neviete hneď – nevzdávajte to. Práve takto sa totiž človek učí nové schopností a rozvíja svoje myslenie.
Je však v poriadku používať LLM na vysvetlenie zložitejších tém a pojmov, alebo vyhľadávanie doplňujúcich informácií, prípadne pre riešenie problémov s inštaláciou a fungovaním nástrojov.