|
INF329 / Utvalde emne i programutviklingsteknologi Timeplan (kalender) Timeplan (liste) Pensum
Studiepoeng: 10.0
Fagleg innhaldDet er alment kjent at dagens programvare er skjør: den er vanskelig å utvikle, forstå og modifisere. Verktøy som hjelper oss å arbeide med programvare er lite utviklet, til tross for at slike ideer har vært kjent i årtier. Hva er grunnen til dette? Hovedgrunnen
er nok historisk. De mest brukte programmeringsspråkene ble unnfanget
før programmeringsbegrepene var skikkelig forstått - eller de kopierer
mange sider fra slike språk. Vi møter dette overalt, fra "array" i
C/C++ (som bygger på 1960-årenes maskinarkitektur i stedet for å være en datatype) og en meningsløs variasjon i parameteroverføringsmekanismer (motivert av effektivitetshensyn på 1970-tallet), til en sammenblanding mellom spesifikasjons- og implementasjonsbegrepet
og den påfølgende forvirringen vi har mellom kodegjenbruk, typesystem
og pekere i objektorientert programming.
I dette emnet vil vi
analysere på nytt vår kunnskap om programmering, og sette konseptene
sammen på en slik måte at vi får - en formell og presis forståelse av
spesifikasjons- og programmeringsbegrepene, - en notasjon som er lett for verktøy å analysere og lett å forstå for mennesker, og - en fleksibilitet i spesifikasjoner og programmering som frigjør oss fra dagens syntaktiske fengsel, koblet til pragmatikken for å utvikle og vedlikeholde effektive, velfungerende program.
LæringsmålUndervisning i spesialemne på mastergrads- og doktorgradsnivå.
UndervisningssemesterUregelmessig
UndervisningsspråkNorsk. Engelsk ved behov.
Vurdering / eksamensformer5 timer skriftleg eksamen. Dersom det er færre enn 20 deltakarar kan det bli muntleg eksamen.
|
|