FORMÅL
At sætte de studerende i gang med imperativ og funktionsorienteret
programmering, så de kan anvende de grundlæggende begreber og
kompetencer til at konstruere, forstå og vurdere programmer. De
studerende skal derfor opnå forståelse af den samlede vifte af
nøglebegreber i de to paradigmer og hvad der kendetegner disse
paradigmer. De studerende skal opnå viden om forskellene mellem
algoritmer og programmer og skal opnå færdigheder i udvikling af
imperative programmer og funktionsorienteret programmer af god
kvalitet.
BEGRUNDELSE
Programmering er kernen i Datalogi/Software-uddannelserne. Derfor
erdet væsentligt at de studerende opnår kendskab til begreber i
både imperativ og funktionsorienteret programmering på et tidligt
tidspunkt i studiet. Det er også væsentligt at dette kendskab
suppleres med færdigheder som tillader de studerende at løse
datalogiske/software-relaterede problemer med brug af såvel
imperativ som funktionsorienteret programmering.
Den studerende skal opnå viden om grundlæggende begreber inden for imperativ og funktionsorienteret programmering, hvilke roller de spiller i de to paradigmer og hvordan forskellene mellem dem udmønter sig for de grundlæggende begrebers vedkommende.
Den studerende skal opnå kendskab til følgende sproglige begreber med relevans for et eller begge programmeringsparadigmer:
erklæringer og bindinger, herunder scoperegler
typer, herunder grundlæggende og sammensatte typer, deres repræsentation, typetjek og typeinferens
udtryk og deres evaluering, herunder sideeffekter
kommandoer, herunder assignment
kontrolstrukturer, herunder selektion og iteration
abstraktion med procedurer og funktioner, herunder parametermekanismer, lambdaudtryk, rekursion og simple højereordensfunktioner
grundlæggende datastrukturer, herunder arrays, records, lister og træer
input og output
Den studerende skal opnå kendskab til disse begreber inden for programmeringsmetodologi:
top-down og bottom-up programmering
Den studerende skal efter kurset have opnået færdigheder inden for funktionsorienteret og imperativ programmering, for mere præcist at kunne
konstruere programmer ud fra beskrivelser af algoritmer og data
udarbejde overskuelige og læsbare programmer
anvende typebegrebet til at ræsonnere om og forebygge fejl i programkode
dokumentere programmer
planlægge tests af programkode
anvende en programmerings/køretidsomgivelse til at udvikle og køre et program
anvende korrekt fagterminologi
Den studerende skal efter kurset kunne
skelne klart mellem imperative og funktionsorienterede aspekter af programmering
løse en defineret, mindre opgave selvstændigt og i samarbejde med andre ved at implementere programmer af god kvalitet i de to paradigmer
vurdere og, om nødvendigt, forbedre kvaliteten af et program i de to paradigmer
Undervisningen tilrettelægges i henhold til de generelle undervisningsformer for uddannelsen
Det forventes at den studerende bruger 30 timer per ECTS, hvilket for denne aktivitet betyder 150 timer.
Prøvens navn | Programmering |
Prøveform | Skriftlig eller mundtlig |
ECTS | 5 |
Bedømmelsesform | 7-trins-skala |
Censur | Intern prøve |
Vurderingskriterier | Vurderingskriterierne er angivet i Universitetets eksamensordning |
Kontakt: Studienævn for datalogi via cs-sn@cs.aau.dk eller 9940 8854
Engelsk titel | Programming |
Modulkode | DSNDATFB112 |
Modultype | Kursus |
Varighed | 1 semester |
Semester | Efterår
|
ECTS | 5 |
Undervisningssprog | Dansk og engelsk |
Tomplads | Ja |
Undervisningssted | Campus Aalborg |
Modulansvarlig |
Studienævn | Studienævn for Datalogi |
Institut | Institut for Datalogi |
Fakultet | Det Tekniske Fakultet for IT og Design |