Kursplan för

Funktionsprogrammering
Functional Programming

EDAN40F, 7.5 högskolepoäng

Gäller från och med: Vårterminen 2017
Beslutad av: Professor Thomas Johansson
Datum för fastställande: 2017-03-22

Allmänna uppgifter

Avdelning: Datavetenskap (LTH)
Kurstyp: Gemensam kurs, avancerad nivå och forskarnivå
Kursen ges även på avancerad nivå med kurskod: EDAN40
Undervisningsspråk: Svenska

Syfte

Kursen ger insikt i hur den funktionsorienterande programmeringsparadigmen ofta ger möjlighet att skriva program som är både kortare och lättare att förstå än med traditionell imperativ och objektorienterad programmering.

Mål

Kunskap och förståelse

För godkänd kurs skall doktoranden

Färdighet och förmåga

För godkänd kurs skall doktoranden

Värderingsförmåga och förhållningssätt

För godkänd kurs skall doktoranden ha utvecklat sin förmåga att använda programkod som kommunikationsmedium mellan människor

Kursinnehåll

Funktionsspråkens filosofi och möjligheter. Programspråket Haskell. Funktionella språkkonstruktioner och idiom. Högre ordningens funktioner. Lat evaluering och oändliga datastrukturer. Monader och monadiska beräkningar. Polymorfa typsystem och typklasser. Typanalys och typhärledning.

Kurslitteratur

Simon Thompson: Haskell, The Craft of Functional Programming. Addison Wesley, 2011, ISBN: 978-0-201-88295-7. Tredje upplagan. Rekommenderad referenslitteratur. Graham Hutton: Programming in Haskell. Cambridge University Press, 2007, ISBN: 978-0-521-69269-4. Rekommenderat referenslitteratur. Bryan O'Sullivan, John Goerzen and Don Stewart: Real World Haskell. O'Reilly, 2008, ISBN: 978-0-596-51498-3. Rekommenderad referenslitteratur.

Kursens undervisningsformer

Undervisningsformer: Föreläsningar, laborationer

Kursens examination

Examinationsform: Skriftlig tentamen
Betygsskala: Underkänd, godkänd
Examinator:

Antagningsuppgifter

Förutsatta förkunskaper: EDAA01 Programmeringsteknik - fördjupningskurs eller EDAA30 Programmering i Java - fortsättningskurs

Kurstillfällesinformation

Kontaktinformation och övrigt

Kursansvariga:
Hemsida: http://cs.lth.se/edan40-functional-programming/


Fullständig visning