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

DM580

Indgangskrav

Ingen

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

Se itslearning for litteraturhenvisninger.

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

42 timer per semester

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

Navn E-mail Institut
Casper Bach casperbach@imada.sdu.dk Institut for Matematik og Datalogi

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Profil Uddannelse Semester Udbuds periode
BA centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2023, 2024 og 2025 Bachelor i datalogi | Odense 3 E26
BA centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2026 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi et-faglig - optag 1. september 2022, 2023 og 2024 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi et-faglig - optag 1. september 2025 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi et-faglig - optag 1. september 2026 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2022, 2023 og 2024 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2025 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2026 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2022, 2023 og 2024 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2025 Bachelor i datalogi | Odense 3 E26
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2026 Bachelor i datalogi | Odense 3 E26
BA centralt fag i kunstig intelligens et-faglig - Optag 2023 og 2024 Bachelor i kunstig intelligens | Odense 3 E26
BA centralt fag i kunstig intelligens et-faglig - Optag 2025 Bachelor i kunstig intelligens | Odense 3 E26
BA centralt fag i kunstig intelligens et-faglig - Optag 2026 Bachelor i kunstig intelligens | Odense 3 E26
Ikke længere gældende pr 31 August 2026 BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2022, 2023, 2024 and 2025 Bachelor i datalogi | Odense 3 E26
Ikke længere gældende pr. 31.august 2026 BA centralt fag i datalogi et-faglig - optag 1. september 2022, 2023, 2024 og 2025 Bachelor i datalogi | Odense 3 E26
Ikke længere gældende pr. 31.august 2026 BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2022, 2023, 2024 and 2025 Bachelor i datalogi | Odense 3 E26
Ikke længere gældende pr. 31.august 2026 BA centralt fag i kunstig intelligens et-faglig - Optag 2023, 2024 og 2025 Bachelor i kunstig intelligens | Odense 3 E26
KA Sidefag i datalogi for centralt fag i biologi, kemi eller idræt og sundhed - optag 1. september 2024 og 2025 Kandidat i datalogi | Odense 3 E26
KA Sidefag i datalogi for centralt fag i fysik - optag 1. september 2024 og 2025 Kandidat i datalogi | Odense 3 E26
KA Sidefag i datalogi for centralt fag i fysik - optag 1. september 2026 Kandidat i datalogi | Odense 3 E26
BA sidefag i datalogi for central fag i Matematik - optag 1. september 2022, 2023, 2024, 2025 og 2026 Bachelor i datalogi | Odense 5 E26

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.