Programmeringsspråk

Masteremne

Emnebeskrivelse

Mål og innhald

Mål

Emnet gjev ein praktisk og teoretisk innføring i semantikken (meininga) til programmeringsspråk,samt ei innføring i ein rekkje viktige konstrukt og abstraksjonar som blir brukt i programmeringsspråk. Målet er (indirekte) at ein betre forståing for programmeringsspråk vil føre til at studentane kjem til å lage program av høgare kvalitet, samt at dei vil programmere på ein meir produktiv måte. Emnet gjev studentane grunnleggjande dugleik innan design og implementering av små språk, der ein implementasjon består av ein parser, typesjekkar og ein tolkar (en. interpreter). Emnet søker å gjere studenten skikka til å lære nye programmeringsspråk i framtida.

Innhald

Emnet dekkjer viktige språkkonstruksjonar i moderne språk. Emnet diskuterar spesifikasjonen av syntaksen og semantikken til programmeringsspråk og introduserar typesystem og typetryggleik. Studentane skal implementere ei rekkje tolkarar og typesjekkarar. Sentralt er reflektering rundt innverknaden som eigenskapane til eit programmeringsspråk og dets språkelement har på programvarekvalitet.

Læringsutbyte

Studenten skal ved avslutta emne ha følgjande læringsutbyte definert i kunnskapar, ferdigheiter og generell kompetanse:

Kunnskapar

Ved fullført emne er stdenten i stand til å:

  • forklare kva konkret og abstrakt syntaks til eit språk er
  • forklare tilnærmingar til å definere semantikken til programmeringsspråk
  • forklare kva «typetryggleiken til eit programmeringsspråk» inneber
  • forklare variantar av polymorfisme og generisitet
  • forklare essensen bak viktige konstruksjonar og konsept innan programmeringsspråk, og deira formål og produktive bruk i programmering
  • forklare standardisering og utvikling av programmeringsspråk 

Ferdigheiter

Ved fullført emne er studenten i stand til å:

  • Definere ein abstrakt grammatikk for eit lite programmeringsspråk og implementere ein parser for den.
  • Definere ein operasjonell semantikk for eit lite språk og implementere ein tolk for det.
  • Definere og implementere eit typesystem / statisk analyse for eit lite språk.

Generell kompetanse

Ved fullført emne er studenten i stand til å:

  • gjere grunngjeve slutningar om bruken av programmeringsspråkkonstruksjonar i programmering.
  • gjere grunngjeve slutningar om val av programmeringsspråk for programvareprosjekt.
  • følgje med på utviklinga innan programmeringsspråk.
  • lese og forstå vitskaplege artiklar innan programmeringsspråk feltet.

Fulltid/deltid

Fulltid

Studiepoeng, omfang

10

Studienivå (studiesyklus)

Master

Undervisningssemester

Vår.
Krav til forkunnskapar
Ingen
Tilrådde forkunnskapar

INF122 eller litt erfaring med programmering i Haskell eller eit anna funksjonelt språk.

INF112 eller tilsvarande erfaring med programvareingeniørkunst

Krav til studierett
For oppstart på emnet er det krav om ein studierett knytt til Det matematisk-naturvitskaplege fakultet www.uib.no/matnat/52646/opptak-ved-mn-fakultetet
Arbeids- og undervisningsformer
Emnet har to førelesingar og ein lab i veka. Emnet krev i tillegg at ein fullfører innleveringar.
Obligatorisk undervisningsaktivitet

Godkjende obligatoriske oppgåver.

Godkjende obligatoriske oppgåver er gyldige i to semester: Det semesteret dei er godkjente og det påfølgjande semesteret.

Vurderingsformer
Skriftleg eksamen. Både eksamen og innleveringar teller mot endeleg karakter. Vektinga blir kunngjort i byrjinga av semesteret.
Karakterskala
Ved sensur av emnet vert karakterskalaen A-F nytta.
Vurderingssemester
Det er ordinær eksamen kvart semester. I semester utan undervisning vil eksamen vere i byrjinga av semesteret.
Litteraturliste
Litteraturlista vil vere klar innan 01.06. for haustsemesteret og 01.12. for vårsemesteret.
Emneevaluering
Studentane skal evaluere undervisninga i tråd med UiB og instituttet sitt kvalitetssikringssystem.
Hjelpemiddel til eksamen
Ingen.
Programansvarleg
Programstyret har ansvar for fagleg innhald og oppbygging av studiet og for kvaliteten på studieprogrammet og alle emna der.
Emneansvarleg
Emneansvarleg og administrativ kontaktperson finn du på Mitt UiB, kontakt eventuelt studierettleiar
Administrativt ansvarleg
Det matematisk-naturvitenskapelige fakultet v/ institutt for informatikk har det administrative ansvaret for emnet og studieprogrammet.