An introduction to the principles of logical and functional programming, explained in terms of programming
languages Prolog and Haskell. The course also provides a basic knowledge of LISP (Scheme).
Last update: T_KSVI (18.04.2012)
Předmět je věnován principům logického a funkcionálního programování, které jsou vyloženy prostřednictvím
programovacích jazyků Prolog a Haskell. Funkcionální aspekty multiparadigmatických jazyků jsou ilustrovány na
příkladu jazyka Python.
Last update: Töpfer Pavel, doc. RNDr., CSc. (05.02.2018)
Course completion requirements -
The course is concluded with a credit and a final exam. The credit is awarded upon successfully completing the following requirements:
submitting a programming project including the user and developer documentation on a topic assigned by the instructor
obtaining the required score from homework assignments or tests assigned in tutorials
The final exam consists of a written and an oral part. The grade is based on results of both parts. Problems assigned in the written part correspond to the syllabus and the material covered in tutorials. Questions posed in the oral part explore the topics included in the syllabus to the extent that these topics are covered in lectures.
Last update: Dvořák Tomáš, doc. RNDr., CSc. (24.03.2018)
Předmět je zakončen zápočtem a zkouškou. K získání zápočtu je vyžadováno
vypracování zápočtového programu včetně uživatelské a vývojové dokumentace na téma, zadané cvičícím,
získání stanoveného počtu bodů z řešení problémů, zadávaných ve formě domácích úloh či testů na cvičeních.
Zkouška je složena z části písemné a ústní. Písemná část
probíhá na PC v počítačové laboratoři
je složena z úloh z logického i funkcionálního programování
témata úloh odpovídají sylabu předmětu i látce, probrané na cvičení.
Nesplnění písemné části znamená, že celá zkouška je hodnocena známkou nevyhověl(a).
Požadavky ústní části zkoušky odpovídají sylabu předmětu v rozsahu, v němž byl prezentován na přednášce.
Last update: Dvořák Tomáš, doc. RNDr., CSc. (20.02.2020)
Literature -
Richard Bird, Jeremy Gibbons, Algorithm Design with Haskell, Cambridge University Press, 2020
Patrick Blackburn, Johan Bos, Kristina Striegnitz, Learn Prolog Now!, College Publications, 2006
Ivan Bratko, Prolog Programming for Artificial Intelligence, 4th ed., Pearson, 2012
Graham Hutton, Programming in Haskell, 2nd ed., Cambridge University Press, 2016
Miran Lipovača, Learn You a Haskell for Great Good!: A Beginner's Guide, No Starch Press, 2011