KURSPLAN
Funktionell programmering, 7,5 högskolepoäng
Functional Programming, 7.5 credits
Kursplan för studenter höst 2024
Kurskod: | TFPG11 |
Fastställd av: | VD 2021-03-01 |
Reviderad av: | 2023-06-01 |
Gäller fr.o.m.: | 2023-08-01 |
Version: | 2 |
Utbildningsnivå: | Grundnivå |
Utbildningsområde: | Tekniska området
|
Ämnesgrupp: | DT1
|
Fördjupning: | G1N
|
Huvudområde: | Datavetenskap |
Lärandemål
Efter genomgången kurs skall studenten
Kunskap och förståelse
- visa kunskap om särskiljande egenskaper hos funktionella programspråk i allmänhet och Haskell i synnerhet; renhet, stark typning, lat evaluering och högre ordningens funktioner
- visa förståelse för rekursion, både som lösningsstrategi och programmeringsteknik
- visa kunskap om grundläggande konstruktioner i Haskell som funktioner, mönstermatchning, inbyggda och användardefinierade datatyper, typklasser, moduler, högre ordningens funktioner, rekursiva datatyper och lat evaluering
- visa kunskap om hantering av input-output i Haskell
Färdighet och förmåga
- visa färdighet i att utifrån en beskrivning konstruera korrekta och välstrukturerade mindre funktionella program
- visa färdighet i att använda grundläggande konstruktioner i Haskell som funktioner, mönstermatchning, inbyggda och användardefinierade datatyper, typklasser, moduler, högre ordningens funktioner och lat evaluering vid konstruktion av program
- visa färdighet i att använda rekursion och rekursiva datatyper vid konstruktion av program
- visa förmåga att systematiskt felsöka i egenutvecklade program
- visa färdighet i att verifiera funktioners korrekthet genom testning och bevis.
Innehåll
Kursen är en introduktionskurs i programmering, främst funktionell programmering. Det övergripande syftet är att ge grundläggande kunskaper om programmering och grundläggande färdigheter i att utveckla program.
Kursen innehåller följande moment:
- grundläggande syntax i språket Haskell
- värden, typer och funktioner
- mönstermatchning
- rekursion
- sammansatta datatyper (listor, tupler)
- typklasser
- moduler
- användardefinierade typer
- högre ordningens funktioner
- rekursiva datatyper
- input-output
- lat evaluering
- verifiering med hjälp av testning och bevis.
Undervisningsformer
Föreläsningar, övningar och laborationer.
Undervisningen bedrivs normalt på svenska men undervisning på engelska kan förekomma.
Förkunskapskrav
Grundläggande behörighet samt Fysik 2, Kemi 1, Matematik 4. Eller: Fysik B, Kemi A, Matematik D (eller motsvarande kunskaper).
Examination och betyg
Kursen bedöms med betygen 5, 4, 3 eller Underkänd.
Poängregistrering av examinationen för kursen sker enligt följande system:
Examinationsmoment | Omfattning | Betyg |
---|
Tentamen1 | 5 hp | 5/4/3/U |
Laborationer | 2,5 hp | U/G |
1 Bestämmer kursens slutbetyg vilket utfärdas först när samtliga moment godkänts.
Kurslitteratur
Kurslitteraturen fastställs 8 veckor innan kursstart.
Titel: Programming in Haskell, 2nd Edition
Författare: Graham Hutton
Förslag och år: Cambridge University Press, 2016
ISBN-13: 978-1316626221
Titel: Learn You a Haskell for Great Good!: A Beginner's Guide
Författare: Miran Lipovaca
Förslag: No Starch Press, 2011
ISBN-13: 978-1593272838
URL: http://learnyouahaskell.com/chapters