DM580: Funktionel programmering
Studienævn for naturvidenskabelige IT-uddannelser
Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N330078102
Censur: Intern prøve, to eller flere bedømmere
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Efterår
Niveau: Bachelor
STADS ID (UVA): N330078101
ECTS-point: 5
Godkendelsesdato: 12-03-2026
Varighed: 1 semester
Version: Godkendt - aktiv
Intern kursuskode
Indgangskrav
Faglige forudsætninger
Studerende, der følger kurset, forventes at
- have kendskab til grundlæggende programmeringskoncepter på et niveau, som svarer til det der opnås i DM574 Introduktion til programmering.
- have en en grundlæggende fortåelse for algoritmer og datastrukturer, fx ved at have fulgt kurset DM578 Algoritmer og datastrukturer.
- Kurset bygger på den viden, der er opnået i kurserne DM574 Introduktion til Programmering og DM578 Algoritmer og Datastrukturer. Det giver et fagligt grundlag for valg af kurser eller bachelorprojekter i programmeringssprog senere i uddannelsen.
Formål
Kurset giver en introduktion til funktionel programmering. De vil opnå erfaring med programmering i et andet sprog end mainstream imperative og objektorienterede sprog.
Målbeskrivelse
For at opnå kursets formål er det læringsmålet for kurset, at den studerende demonstrerer evne til at:
- Løse ikke-trivielle programmeringsopgaver i et funktionelt sprog, herunder skrive klar og korrekt kode samt anvende sprogets standardbibliotek.
- Udregne den mest generelle type af et funktionelt udtryk.
- Vurdere tid- og pladsforbruget af funktionelle programmer.
- Bevise egenskaber ved simple funktionelle programmer.
Indhold
Kurset indeholder følgende faglige hovedområder:
- funktioner
- højere ordens typer
- polymorfisme
- lister
- lazy evaluering
- referentiel transparens
- monader
- effektivitetsovervejelser
- korrekthedsbevise
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Efterår
Udprøvninger
Projekt med mundtlig eksamen
EKA
N330078102
Censur
Intern prøve, to eller flere bedømmere
Bedømmelse
7-trinsskala
Identifikation
Fulde navn og SDU brugernavn
Sprog
Følger, som udgangspunkt, undervisningssprog
Varighed
Mundtlig eksamen - 15 minutter pr studerende, ingen forberedelse
Hjælpemidler
Eksamen er med begrænsede hjælpemidler: Det eneste hjælpemiddel, der må medbringes og anvendes under eksamen, er en bærbar computer til at demonstrere og drøfte projektets kode.
ECTS-point
5
Uddybende information
Projektet udføres individuelt
Vejledende antal undervisningstimer
Undervisningsform
Skemalagte undervisningstimer:
Antal undervisningstimer i alt: 42
Heraf:
Fællestimer i klasselokale/auditorium: 21
Holdtimer i klasselokale: 21
Forelæsninger og øvelsestimer. Kursusmaterialet gennemgåes under forelæsninger, og øvelsestimerne bruges til løsning af øvelsesopgaver.
Andre planlagte undervisningsaktiviteter:
- Løsning af mindre projektopgaver.
- Selvstudium af visse emner fra pensumet.
Ansvarlig underviser
Skemaoplysninger
Administrationsenhed
Team hos Registratur
Udbudssteder
Anbefalede studieforløb
Overgangsordninger
Overgangsordninger beskriver, hvordan et kursus erstatter et andet kursus, når der ændres i et studieforløb.
Hvis der er lavet en overgangsordning for et kursus vil den fremgå af oversigten.
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.