INF205 Ressurseffektiv programmering

Studiepoeng:5

Ansvarlig fakultet:Fakultet for realfag og teknologi

Emneansvarlig:Martin Thomas Horsch

Campus / nettbasert:Undervises campus Ås

Undervisningens språk:Norsk

Frekvens:Årlig

Forventet arbeidsmengde:125t = 26t forelesninger + 26h datalab + 73h selvstendig arbeid

Undervisnings- og vurderingsperiode:Emnet starter i vårparallellen. Emnet har undervisning/vurdering i vårparallellen.

Om dette emnet

Emnet gir ei innføring i programmering i et kompilert programmeringsspråk med eksplisitt minneforvaltning, med fokus på effektiv bruk av regneressurser (CPU tid og minne). Emnet er meint for studenter med programmeringserfaring i et høynivåspråk (t.e., Python). Konkrete tema er:

  • Syntaks og semantikk til moderne C++
  • Kompilering og bygging av prosjekt
  • Peikere (pointers), minneallokering og deallokering
  • Bruk av C++ standardbiblioteket
  • Generisk programmering med templates
  • Implementering av konteinerdatatyper
  • Kommunikasjon mellom prosesser (MPI)
  • Programmering og bærekraft
  • Ansvarlig bruk av infrastruktur til høyytelsesberegning
  • Tilknytting til ROS (t.e., for innbygde system)

Dette lærer du

Når du har fullført emnet, kan du

  • implementere løsninger i moderne C++
  • forvalte minne trygt
  • benytte verktøya levert av C++ standardbiblioteket og tredjepartsbibliotek
  • implementere datatyper fra botnen av
  • skrive kode egna for innbyggde system og for høyytelsesberegning
  • vurdere program og deres bruk med tanke på bærekraftsmetrikker
  • lage grensesnitt slik at din kode kan samhandle med anna programvare
  • Forelesninger, datalab og programmeringsoppgaver.
  • Emnerom i Canvas, støtte i datalab, offentlig nettside til kurset (home.bawue.de/~horsch/teaching/inf205/), og videre.
    • B. Stroustrup, A Tour of C++, 2. eller 3. utg., Addison-Wesley (ISBN 978-0-134-99783-4), 2018.
  • INF120, INF200
  • Vurdering på grunnlag av et programmeringsprosjekt. A-F.
  • Ekstern sensor deltar sammen med intern sensor ved utformingen av prosjektoppgaven og sensorveiledningen.
  • Programmeringsrelaterte oppgaver og obligatoriske rapporter om programmeringsprosjektets tilstand. Detaljer kunngjøres ved kursstart.
  • 26t forelesninger, 26t datalab
  • Bokstavkarakterer
  • Realfag