Seminář z funkcionálního programování
Domácí úkol 3
Změny v zadání
- Duplicitní soubory můžete počítat a vypisovat vícekrát (např. při
./du foo/ foo/bar/
můžete soubory umístěné kdekoli uvnitř foo/bar/ započítávat dvakrát (a obdobně adresáře ve foo/bar/ můžete vypsat dvakrát).
Implementační část
- Úkol: Implementujte zjednodušenou Unixovou utilitu
du
. Zadání je formou popisu problému, dekomposici na jednotlivé funkce si musíte udělat sami. Zadání má dvě části: funkční dekomposici (s typovými signaturami) a samotnou implementaci. - Termíny:
- 3. 4. 2019 23.59 pro funkční dekomposici a typové signatury
- 17. 4. 2018 23.59 pro samotnou implementaci
- Formát: Odevzdejte jeden soubor HW03.hs, který obsahuje typové signatury funkcí resp. konečnou implementaci. Obě odevzdávárny nahrávané soubory automaticky prefixují vaším učem.
- K první části: Odevzdání funkční dekomposice s typovými signaturami je povinné (a je za něj 1 bod), při složitějších funkcích uvádějte i stručnou dokumentaci, co funkce dělá (klidně odrážkovitě). Při implementaci se samozřejmě nemusíte držet odevzdané funkční dekomposice na 100 %, zjistíte-li, že v některém ohledu nebyla vhodná. K funkční dekomposici od nás po odevzdání dostanete krátký feedback.
- K druhé části: Do hlavičky řešení vložte krátkou reflexi (1 krátký odstavec stačí), jaké pro vás bylo nejdříve dekomponovat a až pak implementovat. Pište, prosíme, svůj skutečný názor – i pozorování, že podle vás je to kontraproduktivní je v pořádku.
Domácí úkol 3 – dekomposice
Odevzdávárna pro soubor se jmény a typy funkcí
Domácí úkol 3
Odevzdávárna pro implementaci třetího domácího úkolu
Peer review část
- Úkol: Vaším úkolem je pochopit a otestovat řešení dvou dalších studentů.
Řešení vám přidělí IS po termínu odevzdání. K vylosovaným řešením
napište zpětnou vazbu. Ta musí obsahovat alespoň následující 3 odstavce textu/odrážek:
- Co nefunguje? (Pro které případy se řešení nechová správně a proč?)
- Co se vám líbí? (Které myšlenky řešení nebo části kódu se vám zdají elegantní či nadprůměrně dobré a proč?)
- Co byste udělali jinak? (Které myšlenky nebo části kódu se vám zdají matoucí, nevhodné, nebo byste je udělali jinak z jiného důvodu?)
- Termín: 24. 4. 2019 23.59