ºÚÁϳԹÏ×ÊÔ´

±Ê°ù´Ç²µ°ù²¹³¾³¾±ð°ù¾±²Ô²µ²õ²õ±è°ùÃ¥°ì

Masteremne

Emnebeskrivelse

²ÑÃ¥±ô og innhold

²ÑÃ¥±ô

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. ²ÑÃ¥±ôet 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.

³¢Ã¦°ù¾±²Ô²µ²õ³Ü³Ù²ú²â³Ù³Ù±ð

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

³ÕÃ¥°ù.
Krav til forkunnskaper
Ingen
Anbefalte forkunnskaper

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 Fakultet for naturvitskap og teknologi
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.
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.07. for haustsemesteret og 01.12. for vårsemesteret.
Emneevaluering
Studentane skal evaluere undervisninga i trÃ¥d med ºÚÁϳԹÏ×ÊÔ´ og instituttet sitt kvalitetssikringssystem.
Hjelpemiddel til eksamen
Ingen.
Programansvarlig
Programstyret har ansvar for fagleg innhald og oppbygging av studiet og for kvaliteten på studieprogrammet og alle emna der.
Emneansvarlig
Emneansvarleg og administrativ kontaktperson finn du pÃ¥ Mitt ºÚÁϳԹÏ×ÊÔ´, kontakt eventuelt studieveileder@ii.uib.no
Administrativt ansvarlig
Fakultet for naturvitskap og teknologi ved institutt for informatikk har det administrative ansvaret for emnet og studieprogrammet.