course-details-portlet

INFT2503

C++ for programmerere

Velg studieår
Studiepoeng 7,5
Nivå Tredjeårsemner, nivå III
Undervisningsstart Høst 2024
Varighet 1 semester
Undervisningsspråk Norsk
Sted Trondheim
Vurderingsordning Hjemmeeksamen

Om

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.

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
Dette emne har faglig overlapp med emnene i tabellen over. Om du tar emner som overlapper får du studiepoengreduksjon i det emnet du har dårligst karakter i. Dersom karakteren er lik i de to emnene gis det reduksjon i det emnet som er avlagt sist.

Fagområder

  • Ingeniør

Kontaktinformasjon

Emneansvarlig/koordinator

Ansvarlig enhet

Institutt for datateknologi og informatikk