Emner: INF222 Programmeringsspråk - Høst 2021
Studiepoeng, omfang
10
Studienivå (studiesyklus)
Bachelor/Master
Fulltid/deltid
Fulltid
Undervisningsspråk
Engelsk
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 mailto:studieveileder@ii.uib.nostudierettleiar
Administrativt ansvarleg
Det matematisk-naturvitenskapelige fakultet v/ institutt for informatikk har det administrative ansvaret for emnet og studieprogrammet.
Kontaktinformasjon
Studierettleiar kan kontaktast her:
mailto:studieveileder@ii.uib.nostudierettleiar
Tlf 55 58 42 00