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: | - |
| |