Informácie o predmete

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.