INFT2503

C++ for programmerere

Høst

Trondheim

Norsk

Oversikt

Ståprosent

89 %

7 poeng

Karakterfordeling
Snitt over tid
Ståprosent over tid

Om emnet

Faglig innhold

Systemprogrammeringsspråk i Unix-lignende systemer som Linux og MacOS, med fokus på spesielt C++. C++ vil bli sammenlignet med andre aktuelle systemprogrammeringsspråk som C og Rust.

Systemprogrammeringsspråk er programmeringsspråk spesielt designet for å være ressurseffektive, med bedre utnyttelse av minne, er mer energibesparende og resulterer i raskere kjøretid enn andre programmeringsspråk som Java, Python og JavaScript.

Temaer:

  • Ressurshåndtering i systemprogrammeringsspråk
  • Mer om objektorientert programmering, for eksempel struct i C, multiple inheritance i C++ og traits i Rust
  • Feilhåndtering
  • Kontainere
  • Funksjonelle algoritmer
  • Konstante uttrykk og templatmetaprogrammering
  • Parallellisering og asynkron programmering
  • Operator overloading

Læringsmål

Kunnskaper

Kandidaten kan gjøre rede for:

  • resource acquisition is initialisation (RAII)
  • pekere, smarte pekere og referanser
  • objektorientert programmering i systemprogrammeringsspråk
  • ulike former for feilhåndtering
  • konstante uttrykk, templatmetaprogrammering og operator overloading
  • ulike typer kontainere og funksjonelle algoritmer
  • fordeler og ulemper ved parallellisering og asynkron programmering

Ferdigheter

Kandidaten kan:

  • lage stabile og ressurseffektiv programvare og programvarebiblioteker i C++
  • lese og forstå C++ kildekode skrevet av andre
  • ta i bruk 3. parts biblioteker

Generell kompetanse

Kandidaten er bedre i stand til å:

  • gjøre faglig begrunnet valg av programmeringsspråk for gitte problemstillinger
  • bidra i utviklingen av programvare og programvarebiblioteker som er skrevet i et systemprogrammeringsspråk
  • tilegne seg ny kunnskap i et fagfelt i kontinuerlig utvikling

Læringsformer og aktiviteter

Nettstudium. Leksjoner og øvinger med tilbakemeldinger.