IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Paradigmer i programmering 
Kursusnavn (engelsk):Paradigms of Programming 
Semester:Forår 2003 
Udbydes under:cand.it., tværfaglig it-udvikling (tit) 
Omfang i ECTS:7,50 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:10 
Forventet antal deltagere:
Maks. antal deltagere:200 
Formelle forudsætninger:Der er ingen formelle forudsætninger. De
anbefalede

forudsætninger er: Der forudsættes en vis
færdighed i

programmering f.eks. fra forinden at have fulgt

kurserne \"Indledende Programmering\" og
\"Begreber

og Redskaber til Programmering\"/\"Dat C\" eller

tilsvarende. 
Læringsmål:

Målet med kurset er give et overblik
over

forskellige paradigmer i programmering og

forstå forskellige typer
programmeringssprogs

opbygning. Mere konkret er det hensigten at
den

studerende skal




  • have øvelse i at sætte sig ind
    i nye

    programmeringssprog så man fremover
    ikke er

    bundet af kun at have erfaring med eet

    programmeringssprog, eller nogle få der
    ligner

    hinanden.

  • opnå praktiske
    ("hands-on")

    færdigheder med grundlæggende

    logikprogrammering (Prolog) og

    funktionsprogrammering (SML).

  • forståelse for væsentlige
    forskelle og

    ligheder mellem disse programmeringssprog
    og

    imperative samt objektorienterede

    programmeringsprog.

  • forståelse for sprogbegreber som
    bl.a.

    rekursion, resolution, typer/polymorfi.



 
Fagligt indhold:

For 50 år siden fandtes der en
håndfuld programmeringssprog, nu
findes der
tusindvis. Som programmør kan man
klare
sig et stykke vej med at kunne et
programmeringssprog som Java, men man vil
ofte
komme ud for at skulle løse
programmeringsopgaver med brug af andre
sprog.
Det er derfor en væsentlig kvalitet hos en
programmør og en software designer
at man
ikke er låst fast til det første sprog
man
lærte at kende.


De mest almindeligt kendte
programmeringssprog befinder sig enten i det
imperative paradigme eller i både det
imperative og det objektorienterede
paradigme. For
eksempel er Pascal og C begge imperative
sprog
hvorimod Java og C++ både er
imperative og
objektorienterede. Disse sprog adskiller sig
væsentligt fra logikprogrammeringssprog
som
Prolog og funktionsprogrammeringssprog
som SML.
Disse kaldes begge for deklarative sprog.
Logikprogrammering er baseret på logik
hvorimod funktionsprogrammering er baseret
matematikkens funktionsbegreb.


Kurset tager udgangspunkt i at deltagerne
er
bekendt med et proceduralt eller
objektorienteret
programmeringssprog (i praksis vel Java) og
vil
derfra vise nogle centralt anderledes
måder at
programmere på.


Hovedvægten i kurset vil ligge
på de
praktiske, begrebsmæssige og
tankemæssige problemer der ligger i at
skulle
løse programmeringsopgaver i et nyt
programmeringssprog. Man vil se at ikke alle
programmeringssprog er lige egnede til alle
programmeringsopgaver og at man
måske vil
vælge helt forskellige
løsningsmetoder
afhængig af sproget.


Kursets indhold vil have et mindre overlap
med
andre kurser som har brugt SML eller Prolog:
Dat C,
Dat C*, Vidensrepræsentation, samt
Sprog
& Logik. Der er dog ingen restriktioner
mellem
disse kurser og dette.

 
Læringsaktiviteter:

forelæsninger og øvelser 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Ekstern censur

Afleveringsopgave  

Litteratur udover forskningsartikler: