Verantwoording Herkansing

FP
Na het nakijken van de herkansing wil ik tioch mijn teleurstelling uitspreken over het ingeleverde werk.

Bij het opstellen van het tentamen probeer ik er altijd voor te zorgen dat als iemand die wel werkt, maar er niet veel inzicht en fantasie heeft, met twee pure leervragen al een flink eind op weg naar een 5 is. Dan kan via middeling met het praktikumcijfer het vak toch gehaald worden.

In dit tentamen vielen in mijn inschatting in ieder geval opgave 1 en 2 inde categorie puur leerwerk.

1) het gevraagde bewijs staat letterlijk in het dictaat. Nu kan ik me voorstellendat je nog een fout maakt in het tweede gedeelte door een stap over te slaan. Helaas gaat het bij vrijwel iedereen al fout in de eerste stap. Meer dan de helft schrijft:

foldr f e [] = []
waarbij ook door de meesten de definitie van foldr kennelijk niet wordt gekend. Ook kwam ik herhaaldelijk tegen:
foldr f e (reverse xs ++ [x])= foldr  e (reverse xs) : f x
Ik kan hier helemaal niets goed aan ontdekken. Het is niet type correct op een aantal plaatsten, etc. Indien iemand dit soort fouten maakt is het voor mij zonneklaar dat die het vak niet dient te halen.

2) Bij de vakevaluatie is door diverse mensen aangegeven dat men het onredelijk vond dat er op het tentamen geen vraag over Huffman bomen werd gesteld, ondanks het feit dat dit op het werkcollege wel was toegezegd. Ik heb bij het opstellen van dit tentamen geprobeerd hier wat aan te doen. Helaas is er niemand die maar het type van een dergelijke boom goed weet op te schrijven. Wel kwam ik tegen:

data Huff a :: (b -> a -> b) -> maybe a    -- =::= in een type?, =maybe= ip.v. =Maybe=, en waarom sowieso een =Maybe=?
data Huff a = Leaf a | Bin Huff a Weight a Huff a -- geen haakjes om de =(Huff a)= recursieve voorkomens; waarom een =Weight= en een =a= in de knopen?
data Huff a = Leaf | Bin Huff a Huff a -- geen haakjes om =Huff a=
data HuffTree a = Leaf | Node (HuffTree a) n (HuffTree a) -- waar komt die =n= vandaan
data Huff a = a | (Huff Huff)  -- welke syntax is dat??
Data Huff a = (Huff a, Weight, Huff a) | a -- idem
data Huff a = HuffLeaf a | HuffNode
hTree :: (a -> [a]) -> ( [a] -> [a])
data Huff a = Node (Node a) (Leaf a) | Leaf a -- is =Leaf= nou een constructor of een type? en =Node=?
data Huff a = Huff Code | nil -- =nil=? 
Het heeft m.i. geen zin naar het tentamen te komen als U niet in staat bent zelfs maar een data definitie syntactisch correct op te schrijven.

4) Een aantal mensen hebben hier iets opgeschreven als:

lt 0 = []
lt n = ex (n-1) ++ lt (n-1)

ex 0 = [Leaf]
ex n = lt (n+1) - lt n
maar zien dan niet dat de aanroep van lt (n+1) weer een aanroep ex n tot gevolg heeft.

Ik ben op zich benieuwd naar uw reactie op het bovenstaande; zijn mijn observaties terecht? Wat kan ik doen om herhaling hiervan te voorkomen? Verplicht huiswerk elke week?

Omdat het mij weinig zinvol lijkt om U allemaal weer een briefje oid toe te sturen blijft voor vrijwel iedereen het eindcijfer van het vak ongewijzigd. Eén iemand heeft het vak nu wel gehaald en krijgt apart bericht.

-- DoaitseSwierstra - 19 Mar 2010