Emne - C++ for programmerere - INFT2503
C++ for programmerere
Velg studieårOm
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æringsutbytte
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.
Obligatoriske aktiviteter
- Obligatoriske øvinger
Mer om vurdering
8 øvinger kreves godkjent for å få gå opp til eksamen.
Hjelpemidler: alle trykte og skrevne hjelpemidler tillatt.
Utsatt eksamen: mai/juni
Ved utsatt eksamen kan hjemmeeksamen bli endret til muntlig eksamen.
Spesielle vilkår
Krever opptak til studieprogram:
Data - Ingeniørfag (BIDATA)
Digital infrastruktur og cybersikkerhet (BDIGSEC)
Informasjonsbehandling (ITBAINFO)
Anbefalte forkunnskaper
Programmeringserfaring i et eller flere programmeringsspråk.
Kursmateriell
Leksjoner publiseres på læringsplattformen, og anbefalt lærebok oppgis ved studiestart.
Studiepoengreduksjon
Emnekode | Reduksjon | Fra |
---|---|---|
IFUD1048 | 5 sp | Høst 2021 |
IINI4003 | 5 sp | Høst 2021 |
TDT4102 | 5 sp | Høst 2022 |
Fagområder
- Ingeniør