Kurs podává úvodní informace o funkcionálním programování. Kromě výkladu teorie budeme řešit jednoduché úlohy a psát malé programy v jazyce Haskell.
V podzimním semestru 2011 jsou přednášky každé pondělí od 16:00 do 17:50 v posluchárně D1.
Text promítaný na přednáškách.
Osnovy cvičení budou doplňovány průběžně během semestru.
Zkoušky jsou písemné. Jedna zkouška bude průběžná (polosemestrální) a jedna závěrečná za celý semestr.
| Polosemestrální zkouška | čtvrtek 10. 11. 2011 v 18:45 a v 19:00 |
| Závěrečná zkouška, řádné termíny | pondělí 2. 1. 2012 ve 14:00 čtvrtek 5. 1. 2012 ve 14:00 |
| Závěrečná zkouška, opravné termíny | středa 18. 1. 2012 v 15:00 středa 1. 2. 2012 v 15:00 |
Zkouška 10. 11. 2011:
Polosemestrální zkouška bude ve čtvrtek 10.11.2011 v 19:00 hodin.
Skládá se ze šesti úloh bodovaných -1/0/4.
Pomůcky ke zkoušce: pouze psací potřeby a ISIC.
Celkové hodnocení je určeno počtem bodů, které každý student získá během semestru, především za polosemestrální a závěrečnou zkoušku.
Dalším zdrojem bodů mohou být prémiové body získané na cvičeních.
Kromě toho může student získat mimořádné body za zvláštní přínos pro výuku funkcionálního programování na FI, například za instalaci nových verzí kompilátorů a interpretů na fakultních počítačích, za instalaci knihoven pro Haskell a podobně. Tuto možnost je třeba předem konsultovat s přednášejícím.
Nutné podmínky úspěšného ukončení:
z ≥ 12
N ≥ 48
Výsledné hodnocení (pro A až E musí být splněny nutné podmínky):
| 0 ≤ N < 48 | → | F |
| 48 ≤ N < 59 | → | E |
| 59 ≤ N < 69 | → | D |
| 69 ≤ N < 79 | → | C |
| 79 ≤ N < 89 | → | B |
| 89 ≤ N | → | A |
Jazyk, který používáme při výuce funkcionálního programování, je Haskell. Haskell je čistě funkcionální jazyk s líným vyhodnocováním.
Pro experimentování s vlastními programy je na fakultních strojích instalován Hugs, interpret Haskellu. K jeho provozování stačí na kterékoliv fakultní unixové platformě zadat příkazy
module add hugs
hugs
Na vstup interpretu se zapisují výrazy v Haskellu (jež interpret vyhodnocuje)
nebo speciální povely pro Hugs.
(viz `man hugs`).
Povel pro ukončení činnosti interpretu je ":quit"
(nebo jen ":q").
Jiným a velmi dobrým interpretem je GHCi.