IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Paradigmer i programmering 
Kursusnavn (engelsk):Paradigms of Programming 
Semester:Forår 2002 
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:
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, Intern censur

Afleveringsopgave  

Litteratur udover forskningsartikler: