Course description forDAVE3605 Efficient C/C++ Coding Techniques

Introduction

Studentene skal tilegne seg kunnskap og innsikt i utvikling av ressurseffektive programmer, hovedsakelig ved bruk av C++. Emnet vil være et nyttig fundament for studenter som ønsker å skrive ressurskrevende og komplekse programmer, slik som spill, simuleringer og visualisering, eller programmer som skal kjøre i ressursfattige miljøer slik som routere, IP-kameraer og mobile enheter.

Recommended preliminary courses

Bygger på emnene Programmering og  Programutvikling.

Required preliminary courses

Ingen ut over opptakskrav.

Learning outcomes

Etter å ha gjennomført dette emnet har studenten følgende læringsutbytte, definert som kunnskap, ferdigheter og generell kompetanse.

Kunnskap

Studenten kan:

  • gjøre rede for de viktigste egenskapene ved C og C++
  • forklare forskjellen på statisk, dynamisk og automatisk allokering av minne
  • forklare forskjellen på pekere, referanser og iteratorer
  • forklare hva generisk programmering er
  • gjøre rede for hva designmønstre er og gi eksempler på slike
  • forklare forskjellen på dynamisk og statisk linking

Ferdigheter

Studenten:

  • anvender C og C++ i egne prosjekter
  • lager egne strukter, klasser og operatorer
  • bruker designmønstre, generisk programmering og andre abstraksjoner effektivt
  • produserer et ferdig program i C++, med automatisert installasjonsprosedyre

Generell kompetanse

Studenten:

  • har generell forståelse for utvikling av ressurseffektive programmer
  • kjenner til teknikker for effektivisering av programmer på høyere og lavere abstraksjonsnivå

Teaching and learning methods

Forelesninger og praktisk arbeid på lab. Prosjektarbeid i par eller grupper (2-5 studenter).

Course Requirements

Følgende arbeidskrav er obligatorisk og må være godkjent for å fremstille seg til eksamen:

  • 2 individuelle oppgaver

Assessment

Mappevurdering med følgende mappekrav:

  • to individuelle oppgaver
  • ett gruppeprosjekt (2-5 studenter)

Mappeinnleveringene består av programkode og en kort rapport på 3-5 sider.

I mappevurdering gis en helhetlig vurdering med én karakter. Alle deler i mappen må være vurdert til karakter E eller bedre for at studenten skal kunne få bestått emnet.

Eksamensresultat kan påklages.

Ved ny og utsatt eksamen kan en annen eksamensform også bli benyttet eller en ny oppgave med en ny frist gis. Hvis muntlig eksamen benyttes kan denne ikke påklages.

Permitted Exam Materials and Equipment

Alle.

Grading scale

Gradert skala A-F.

Examiners

En intern sensor. Ekstern sensor brukes jevnlig.

Subject overlap

Emnet er ekvivalent (overlapper 10 studiepoeng) med: LV128A og LV126A.

Ved praktisering av 3-gangers regelen for oppmelding til eksamen teller forsøk brukt i ekvivalente emner.

Course information

Course name in Norwegian
Effektiv kode med C og C++
Study programme
Fall: Bachelorstudium i anvendt datateknologi / Bachelorstudium i ingeniørfag - data / Bachelorstudium i informasjonsteknologi
Weight
10 ECTS
Year of study
2018
Curriculum
SPRING 2019
Schedule
SPRING 2019
Programme description
Fall 2018: Bachelorstudium i anvendt datateknologi / Bachelorstudium i ingeniørfag - data / Bachelorstudium i informasjonsteknologi
Subject History