DM552: Programmeringssprog
Kommentar
Indgangskrav
Faglige forudsætninger
Stoffet fra DM550 Introduktion til programmering skal være kendt.
DM507 Algoritmer og Datastrukturer anbefales.
Formål
Kurset giver en introduktion til de vigtigste begreber og strukturen i programmeringssprog, med særligt fokus på det funktionelle paradigme. De studerende får mulighed for at lære de generelle principper for programmeringssprogdesign og de specifikke valg der kendetegner sprogparadigmerne. De vil udvikle en samlet forståelse af fordele og ulemper ved forskellige niveauer af abstraktion og programmeringssprogkonstruktioner, og samtidig opnå erfaring med programmering i andre sprog end mainstream objektorienterede sprog.
Kurset bygger på den viden, der er opnået i kurserne DM550 Introduktion til Programmering og DM507 Algoritmer og Datastrukturer. Det giver et fagligt grundlag for valg af kurser eller bachelorprojekter i programmeringssprog senere i uddannelsen.
I forhold til uddannelsens læringsresultater har kurset et eksplicit fokus på at:
- udvikle færdigheder i programmering i forskellige typer programmeringssprog
- udvikle færdigheder i at analysere fordele og ulemper ved forskellige sprogkonstruktioner
- udvikle færdigheder i at beslutte og begrunde professionelle beslutninger
- at give kompetence til at identificere ens eget behov for at lære og strukturere sin egen læring i forskellige læringsmiljøer
Målbeskrivelse
Kursets læringsmål er, at den studerende demonstrerer evnen til at:
- identificere og beskrive de vigtigste egenskaber ved og strukturer i et programmeringssprog
- skelne og udvikle enkle programmer i de vigtigste programmeringsparadigmer
- løse ikke-trivielle programmeringsopgaver i et funktionelt programmeringssprog ved at skrive klar og korrekt kode
Indhold
Følgende hovedemner er indeholdt i kurset:
- Scope-regler
- Stack of activation records
- Heap, Memory management
- Sequence control, procedurer, rekursion
- Typer, Parametre, Exceptions
- Funktionssprog: højere orden, polymorfisme, lister, lazy evaluation
Litteratur
Eksamensbestemmelser
Forudsætningsprøve a)
Tidsmæssig placering
Udprøvninger
Et antal programmeringsopgaver
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
Oplyses på kurset.
ECTS-point
Uddybende information
Eksamenselement a)
Tidsmæssig placering
Forudsætninger
Type | Forudsætningsnavn | Forudsætningsfag |
---|---|---|
Delprøve | Forudsætningsprøve a) | N330038101, DM552: Programmeringssprog |
Udprøvninger
Skriftlig eksamen
EKA
Censur
Bedømmelse
Identifikation
Sprog
Varighed
Hjælpemidler
ECTS-point
Uddybende information
Bedømmelse afgives på baggrund af en overordnet vurdering af den skriftlige eksamen.
Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.
Vejledende antal undervisningstimer
Undervisningsform
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
- Introfase (forelæsning, holdtimer) - 40 timer
- træningsfase: 42 timer
Kurset indeholder forelæsninger, problemløsning og programmering. I forelæsningerne vil teorien blive dækket, dels via en dialog med de studerende. Målet med problemløsningen er en bedre forståelse af teorien, og gennem programmering får de studerende erfaring med udfordringerne og fordelene ved "non-imperative" programmeringssprog.
Aktiviteter i studiefasen: Programmering og små projekter.