Václav Končický

Neprocedurální programování (2019/2020)

Cvičení probíhá každé úterý od 17:20 do 18:50 v učebně SW2.

Z důvodu uzavření výuky a krizového stavu, cvičení probíhá na dálku. Každé úterý od 17:20 přibydou texty ke cvičení jako obvykle, pak se v Moodle objeví diskuzní vlákno, kde můžete podávat dotazy a řešené úlohy.

Požadavky na zápočet

Abyste mohli jít na zkoušku, musíte mít nejprve hotový zápočet. Ten se skládá ze dvou částí.

Domácí úkoly

Během semestru dostanete několik domácích úkolů na témata, která budeme probírat na cvičení. Jejich cílem je hlavně to, abyste si zkusili v jazycích Prolog a Haskell něco naprogramovat už během semestru a ne až před zkouškou.

Pro získání zápočtu je potřeba mít na konci semestru alespoň 60% možných bodů ze všech úkolů. Navíc je potřeba mít aspoň 50% z úkolů na každý jazyk zvlášť. Úkoly se budou odevzdávat do Moodle předmětu. Klíč pro zápis vám řekne přednášející na první přednášce a já na prvním cvičení. Nevíte-li ho, ozvěte se.

Na každém druhém cvičení dostanete úkol, na jehož odevzdání budete mít týden do začátku dalšího cvičení. Po konci těchto cvičení vám systém přidělí úkoly pěti vašich spolužáků, které ohodnotíte. Na hodnocení budu dohlížet a korigovat je, abyste se vyhli špatnému obodování. Cílem hodnocení je zkusit si přečíst a pochopit programy jiných a taky se na nich naučit nové triky.

Úkoly se hodnotí ve třech kritériích -- správnost řešení, efektivita řešení a dokumentace/komentáře/pochopitelnost kódu. Nejvyšší váhu (10) má správnost řešení, efektivita má váhu 7 a dokumentace 3. Na ohodnocení máte opět týden. Za úkol můžete získat nejvýše 80 bodů, za ohodnocení úkolů ostatních max. 20 bodů (dohromady za všech pět).

Zápočtový program

Dále pak budete psát zápočtový program v Prologu nebo Haskellu. Po domluvě si můžete zvolit i jazyk Lisp, budete jej ale muset dobře umět.

Do konce dubna si vyberte téma a pak se se mnou domluvte, zda je rozumně rozsáhlé. Programy by neměly být triviální ani příliš rozsáhlé. Nápady na témata můžete získat od Hrice.

Součástí zápočtového programu je i dokumentace a testovací data.

Předvádění programů bude probíhat v laboratoři Rotunda na Malé Straně, případně po domluvě i jinde. Pokud chcete program předvést, dejte mi včas vědět.

Předvádění zápočtu bude probíhat na dálku přes videokonferenci. Pokud budete chtít předvádět, dostatečně předem se ozvěte.

Proběhlá cvičení

Zdroje

Odkazy k předmětu na Matfyzu:

Prolog:

Haskell: