Programmeringsspråk
Masteremne
- Studiepoeng
- 10
- Undervisningssemester
- Vår
- Emnekode
- INF222
- Talet på semester
- 1
- Undervisningsspråk
- Engelsk
- Ressursar
- Timeplan
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
Studiepoeng, omfang
Studienivå (studiesyklus)
Undervisningssemester
Krav til forkunnskapar
Tilrådde forkunnskapar
Krav til studierett
Arbeids- og undervisningsformer
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.