INFT2503
C++ for programmerere
Høst
Trondheim
Norsk
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.