2009/2010

02157 Funktionsprogrammering

Engelsk titel: 


Functional programming

Sprog:


Point (ECTS )

  5

Kursustype:   

Civil- Grundlæggende kursus
Kurset udbydes under åben uddannelse


Skemaplacering:

E4B

 

Undervisningsform:

Forelæsninger, øvelser og obligatoriske opgaver.

Kursets varighed:

13-uger

Eksamensplacering:

E4B,   F4B 

Evalueringsform:

Eksamens varighed:

Hjælpemidler:

Bedømmelsesform:

Pointspærring:

Faglige forudsætninger:


Overordnede kursusmål:

At give deltagerne et begrebsmæssigt og praktisk grundlag for at modellere, analysere og konstruere systemer med udgangspunkt i en funktionel, deklarativ tilgang.


Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • etablere et funktionelt design for et givet problem, således at hovedbegreberne for problemet direkte kan spores i designet
  • beherske funktionelle tilgange til programmering
  • kommunikere løsninger til problemer på en klar og præcis måde
  • anvende begrebet om funktioner som "first-class citizens"
  • aflede typer for funktionelle programmer
  • analysere effekten af et program skrevet i et funktionelt sprog
  • bevise programkorrekthed baseret på en given metode
  • formulere programkorrekthed og evaluere forskellige bevisstrategier, og foretage beviser
  • forstå den rolle en funktionel tilgang har i samspil med andre paradigmer

Kursusindhold:

Funktionsprogrammering, herunder rekursive funktioner, rekursivt definerede datatyper, højereordens funktioner, et stærkt typebegreb, og problemløsningsteknikker.

Deklarativ modellering ved brug af et funktionsprogrammeringssprog med et stærkt typebegreb, og "rapid prototyping".

Programkorrekthed, herunder strukturel induktion og andre bevisteknikker.


Kursusansvarlig:

Michael Reichhardt Hansen, 322, 212, (+45) 4525 3727, mrh@imm.dtu.dk  

Institut:

02 Institut for Informatik og Matematisk Modellering

Kursushjemmeside:

http://www.imm.dtu.dk/courses/02157

Tilmelding:

I CampusNet

Nøgleord:

Funktionsprogrammering, Deklarativ modellering, Programkorrekthed
Sidst opdateret: 2. december, 2009