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
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Portfolio
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
ECTS-point
Uddybende information
Eksamen består i aflevering af programmeringsopgaver løbende gennem semestret samt en afsluttende skriftlig eksamen. Bedømmelse afgives på baggrund af en overordnet vurdering af såvel opgaver som 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, heraf 28 timer eksaminatorier og 14 laboratorie
Aktiviteter i studeifasen:
- Programmering og små projekter.