Hjem
Utdanning
Laveregradsemne

Programmeringsspråk

Studiepoeng, omfang

10

Studienivå (studiesyklus)

Bachelor/Master

Fulltid/deltid

Fulltid

Undervisningssemester

Vår.

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 noverande programmeringsspråk. Målet med emnet (indirekte) er 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 óg 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 har til formål å 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. Eit sentralt tema i emnet er reflektering rundt innflytelsen som eigenskapane til eit programmeringsspråk og dets faktorar 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 eleven i stand til å:

  • Forklare kva konkret og abstrakt syntaks til eit språk er, samt ting ein må ta i betraktning når ein skal designe ein syntaks som kan bli parsa effektivt. Forklare korleis å velje parseverktøy og tilnærmingar til parsing som er tilpassa det aktuelle problemet.
  • Forklare notasjon og tilnærmingar til å definere semantikken til programmeringsspråk, då spesielt operasjonell semantikk.
  • Forklare innverknaden som evalueringsrekkjefølgja har på terminering, effektivitet og på vanskegraden til å resonnere rundt program.
  • Forklare kva «typetryggleiken til eit programmeringsspråk» betyr.
  • Forklare forskjellige variantar av polymorfisme og assosiere dei til faktorar tilhøyrande moderne programmeringsspråk.
  • Forklare essensen bak viktige konstruksjonar og konsept innan programmeringsspråk. Forklare måtar å implementere dei på. Forklare deira hensikt og korleis dei kan bli brukt på ein produktiv måte. Forklare korleis dei openberar seg og varierar i forskjellige medstraums (en. mainstream) programmeringsspråk.

Ferdigheiter

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

  • Definere ein abstrakt grammatikk for eit lite programmeringsspråk og kunne implementere ein parser for den.
  • Definere ein operasjonell semantikk for eit lite språk og kunne implementere ein tolkar for den.
  • Definere og implementere eit typesystem for eit lite språk.

Generell kompetanse

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

  • Gjere begrunna slutningar om bruken av forskjellige programmeringsspråkkonstruksjonar i programmering.
  • Gjere begrunna slutningar når det gjeld å velje programmeringsspråk for programvareprosjekt.
  • Følgje nye utviklingar i programmeringsspråk.
  • Lese og forstå akademiske artiklar frå programmeringsspråk feltet.

Krav til forkunnskapar

Ingen

Tilrådde forkunnskapar

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

Krav til studierett

For oppstart på emnet er det krav om ein studierett knytt til Det matematisk-naturvitskaplege fakultet http://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.

Hjelpemiddel til eksamen

Ingen.

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.

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.

Kontakt

Kontaktinformasjon

Studierettleiar kan kontaktast her:

studierettleiar

Tlf 55 58 42 00

Eksamensinformasjon

  • Klokkeslett for oppstart av skoleeksamen kan endre seg fra kl 09.00 til 15.00 eller vice versa inntil 14 dager før eksamen. Eksamenslokale publiseres 14 dager før eksamen. Kandidatene finner sin egen romplassering på Studentweb 3 dager før eksamen.

  • Vurderingsordning: Skriftleg skuleeksamen

    Dato
    24.09.2019, 09:00
    Varigheit
    3 timer
    Trekkfrist
    10.09.2019