Nada

2D1370, Funktionell programmering, 4 poäng

Läsperiod 4 våren 20002


Förändras fortlöpande.

Juni-tentan med preliminära svar (pdf) (ps)

Augusti-tentan med preliminära svar (pdf) (ps)

Här finnas en enkät, som jag ber dig att svara på (man kan även alternativt svara på enkäten vid tentan).

Sammanställnig av resultatet än sålänge .

I kursanalysen (pdf) (ps) finns en sammanvägning av enkätsvaren fån nätet och från tentan.

Kursanalysen: (pdf) (ps)

Lärare: Leif Kusoffsky lky@nada.kth.se

Kursbok : Paul Hudak The Haskell School of Expression, Learning Functional programming through multimedia. ISBN 0-521-64408-9

Övrigt tryckt material : Ingår i en kursbunt som finnas till försäljning på Nadas studieexpedition.

5 st laborationer: (preliminärt, mer info på föräsningarna, på begärnan sista dag för labredovisning) :

Labbarna, dock ej quicksort och klocka, finns i "Vissa laborationer mm i 2D1370"

Frivillig indviduell uppgift.

Tentamen : Skriftlig. Slutbetyg grundat på tenatamen och individuell uppgift.

Grovplan : Preliminär grovplan (pdf) (ps) (Planer för föreläsningar, reserverade labbsalar finns här)

Färdiga program:

Bokens skript (Haskell-program) finns på /info/funpro02/soe

Många av kursledarens program från förläsningar som berör Hudaks kap 1 finns på /info/funpro02/LKykringHudak1, de som har med kap2 i /info/funpro02/LKykringHudak2 osv.

Annat föreläsninsmaterial: ( fv11t == föreläsning v11 tisdag , fv11 f == föreläsning v11 fredag osv) :

fv11t (pdf) (ps) . fv11f (pdf) (ps) . fv12t (pdf) (ps)


Föreläsning v12 fredag behandlade kap 5 och bl a programmen Fac.hs och Ex5.hs (problemen i boken) Mina lösningar finns /info/funpro02/LKykringHudak5.


Föreläsning v16 tisdag repeterade kap 5 och behandlade sedan träd (kap 7) samt lamda-notation (kap 9) och listomfattningar (kap 8) . Problemlösning: Uppgift 4 och 5 från en Luleåtenta (ps) och anagramuppgiften från en programmeringstävling(html) . Mina lösningar finns /info/funpro02/LKykringHudak7.


Föreläsning v16 fredag behandlade ytterligare något om listomfattning, jag delade ut urdrag ur två andra böcker eftersom Hudak skriver väl lite om listomfattning (list comprehensions). Vidare som uppvärmning uppgift 4 och 5 (ett äppelträd med funktioner i löven) från en Luleåtenta. (ps) . Uppgiften är egnligen för programmering i det funktionella språket ml, varför lamda-abstraktioner skrivs annorlunda. Kapitel 9 enligt boken. Mina lösningar på de två tentauppgifterna och på vissa av bokens övningsuppgifter finns /info/funpro02/LKykringHudak9. Till slut försökte jag ge en översikt av kap 2, kap 8 och kap 10 i boken, dvs alla ADT för de allt mer sofistikerade statiska bilder vi kan rita.

Föreläsning v17 tisdag (pdf) (ps) . Dessutom tal 1 och 3 på fjolårstentan (pdf), med svar. Om typklasser, Hudak kap 12.

Föreläsning v17 fredag (pdf) (ps) Om kapitel 13 och 14, tips inför klock- labben.

Föreläsning v18 tisdag (pdf) (ps) . Om kapitel 15 och programmering i FAL, tips inför sista labben. Fal.hs

(svensk version med mm-mått) och TestFAL.hs med bokens exempel finns på /info/funpro02/kthFal. Där finns också

tentalösningarna ButterflyD.hs (ett litet datorspel) , Spegel.hs, och PasDeDeux.hs som man köra.

Föreläsning v18 fredag (pdf) (ps) . Om kapitel 17, 16, lite kompletteringar i 15 och programmering i FAL Fjolårets föreläsning finns också: (pdf) (ps) Detta material är på sätt och vis utförligare och behandlar versioner av programmet reactimate som ligger närmare Hudaks lösningar.

Föreläsning v19 tisdag (pdf) (ps) . Om kapitel 18. Följde boken ganska väl.

Föreläsning v20 tisdag (pdf) (ps) . Ytterligare ett exempel på monader med jämförelse med Java. Kapitel 1 och 2 i BvS : Datastrukturer i Haskell. (En del av föreläsningsanteckningarna hanns ine med, kommer på torsdag)

Föreläsning v20 torsdag (pdf) (ps) . Delar av kapitel 2, 3 och 6 i BvS : Datastrukturer i Haskell. Två Prolog-program skivit i Haskell (finns på /info/funpro02/LKyPrologOchHaskell/ ), mer om vitsen med lat evaluering. Standalone-program.

Föreläsning v20 fredag. Frågeföreläsning, inget nytt material, men jag kommer till lektionssalen och svarar på eventuella frågor.

Haskell på nätet: Startsida för material om Haskell på nätet emacs för Haskell


Kursledare: Leif Kusoffsky
Datorpostadress: lky@nada.kth.se

Upp till Nadas kurser .


Sidansvarig: <lky@nada.kth.se>
Senast ändrad 21 februari 2002
Tekniskt stöd: <webmaster@nada.kth.se>