Haskell Hero

Interaktivní učebnice pro začínající Haskellisty

O učebnici

Co učebnice umí Co učebnice bude umět
hodnocení odstavců
základní diskuze
příklady k lekcím
levelový systém
profilové stránky uživatelů
zasílání novinek emailem
žebříček uživatelů
statistiky pochopení odstavců
úprava / mazání diskuzních příspěvků

Předmět Úvod do funkcionálního programování má dlouhodobě nízkou úspěšnost. To je zapříčiněno několika faktory. Jednak jej mají zapsaný studenti prvního ročníku, kteří studium na informatice jdou jen tak zkusit, jednak jsou zde studenti, kteří si myslí, že jim bude ke zvládnutí tohoto předmětu stačít týden před zkouškou. Podle mě jsou zde další dvě skupiny studentů.

Ti první na začátku semestru přijdou na přednášku a vůbec nic z ní nepochopí. Stejně tak je to na prvních cvičeních. Otevřou skripta, jednou přečtou první dvě stránky a se slovy To se nikdy nemám šanci naučit! je odloží až do konce semestru, protože si vetknou myšlenku, že se to nikdy nemají šanci naučit.

Ti druzí si oproti prvním vezmou skripta do rukou opakovaně, ale stále dokola koukají na ty nesmyslné shluky písmen znázorňující definice funkcí a nic jim to neříká. Z vlastní zkušenosti vím, že na chápání látky tohoto předmětu je zapotřebí velká dávka abstraktního myšlení. Sám jsem po mnohanásobném čtení skript pochopil podstatu předmětu až v devátém týdnu semestru. Docílil jsem toho jednoduchým trikem – k většině funkcí a datových struktur jsem si vymyslel přirovnání k věcem z reálného života.

Řekl jsem si, že by mohlo nemalému počtu studentů zpříjemnit život, pokud bych se s nimi o tato přirovnání podělil. Několik studentů mě na podzim 2008 na fóru požádalo, zda bych jim nezkusil alespoň něco z náplně předmětu vysvětlit. A tak jsem začal učit krabičkovou metodou. Podle předmětové ankety měla docela úspěch:

„cvičení byly zábavné a docela jsem tvé vysvětlování chápal.“
„Paráda, mašinky a krabičky jsou dobrý nápad :-)“
„Líbil se mi krabičkový učební styl a vůbec celý výklad látky, byl jasný a srozumitelný.“

Fakulta informatiky má opravdu skvělé učitele a jejich přednášky bývají většinou poutavé a zábavné. Mnohdy se ale v oboru pohybují tak dlouho a tak důkladně, že některé informace považují za naprosto základní a domnívají se, že se s nimi člověk rodí. Vedle formálních skript, kde se dozvíte vše potřebné, se vám tímto dostává do ruky o něco neformálnější učební materiál, který nepředpokládá předchozí znalosti prakticky čehokoli. Kromě ovládání PC na uživatelské úrovni.

Kdo jsem

Jmenuju se Standa, je mi 21 let, původem ze severomoravské Bruntále. Funkcionálnímu programování jsem se začal věnovat v prvním semestru na FI. Mám odučeno asi 50 hodin ve čtyřech seminárních skupinách z podzimu 2009.

Levely (průběžně obměňováno/doplňováno)

Číslo Potřebné množství xp bodů Název levelu
10Registrovaný uživatel učebnice
22Uživatel Hugsu
35Kalkulačník (používá Hugs místo kalkulačky)
410Krabičkář (chápe význam funkcí v krabičkovém modelu)
520Typař (chápe a zvládá otypování)
650Vláčkař (zvládá definovat funkce na seznamech)
7100Eta-redukcionista
8200Ečkař (má šanci dostat u zkoušky E)
9500Monad slayer
101000GODLIKE!