IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Paradigmer i programmering 
Kursusnavn (engelsk):Paradigms of Programming 
Semester:Forår 2006 
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:10 
Maks. antal deltagere:200 
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 + CHR") 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 på 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.
 
Læringsaktiviteter:12 forelæsninger + frivillige øvelsestimer

Forelæsninger og øvelser 

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

Mundtlig eksamen med afleveringsopgave, 30 min.  

Litteratur udover forskningsartikler:
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Onsdag 09.30-12.00 Forelæsning RUC 43-2.29
Onsdag 13.00-15.30 Øvelser RUC 43-2.29

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2006-06-14 30 min. Mundtlig eksamen RUC Lokale oplyses senere