DV1595 Objektorienterad spelprogrammering i C++

Programkurs, 7,5 Högskolepoäng, Grundnivå, vårterminen 2020

Denna kurs är del av program och går inte att söka till.

Fördjupa och bredda studentens kunskaper i programmeringsspråket C++.
Ge studenten kunskaper och färdigheter i objektorienterad programmering.
Genom grafiska och spelrelaterade exempel och tillämpningar ge studenten teoretiska kunskaper och praktiska färdigheter inom området spelteknik.
På olika sätt träna studenten i problemlösning.
Öka studentens kunskaper avseende relevanta spelrelaterade algoritmer och tekniker.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Period: 2020 vecka 04 till 2020 vecka 13
  • Nivå: G1F
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges i huvudsak på svenska men undervisning på engelska kan förekomma.
  • Ort: Karlskrona
  • Huvudområde: Datavetenskap
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • Förkunskapskrav: För tillträde till kursen krävs genomgången spelprogrammeringskurs i C++ omfattande minst 6 hp.

Innehåll

  • Pekare och dynamisk minneshantering
  • Ytlig och djup kopiering
  • Klasser fördjupning
  • Överlagring
  • Klassrelationer (exempelvis arv och komposition)
  • Polymorfism
  • Dynamisk bindning
  • Överskuggning
  • Abstrakta klasser
  • Typomvandling
  • Sortering
  • Funktionsmall
  • Läsning från och skrivning till textfil
  • Strukturering och implementering av objektorienterade 2D-spel
  • Spelrelevanta algoritmer

Lärandemål

Kunskap och förståelse
  • ha utvecklat sin förmåga att lösa olika typer av problem
  • förstå minneshantering
  • förstå och kunna beskriva en sorteringsalgoritm
  • förstå och kunna beskriva koncept inom objektorienterad programmering

Färdighet och förmåga
  • kunna använda pekare
  • kunna allokera minne dynamiskt och frigöra minne
  • kunna implementera en sorteringsalgoritm som funktionsmall
  • kunna implementera läsning från och skrivning till textfil
  • behärska grundläggande objektorienterad syntax i programmeringsspråket C++ 11 och SFML för att implementera objektorienterade 2D-spel
  • kunna implementera algoritm relevant för spel


Värderingsförmåga och förhållningssätt
  • kunna motivera sitt val av lösning
  • kunna avgöra när ytlig respektive djup kopiering bör användas
  • vara medveten om skillnaden mellan procedurell och objektorienterad paradigm

Kurslitteratur och övriga läromedel

Starting Out with C++ Early Objects
Författare: Tony Gaddis, Judy Walters & Godfrey Muganda
Förlag: Pearson Education
Senaste upplagan
Referenslitteratur:
sfml-dev.org

Kurslitteratur och övriga läromedel

Starting Out with C++ Early Objects
Författare: Tony Gaddis, Judy Walters & Godfrey Muganda
Förlag: Pearson Education
Senaste upplagan
Referenslitteratur:
sfml-dev.org

Lärande och undervisning

Undervisningen bedrivs huvudsakligen i datorsal med teoretiska genomgångar och programmeringsövningar. Undantagsvis kan föreläsningar förekomma.
Inför undervisningstillfällen förväntas studenten ha förberett sig genom att ha arbetat med anvisat material.

Arbetslivsanknytning

Ingen praktik ingår i planerade lärtillfällen. BTH strävar efter tät kontakt med näringslivet vid utveckling av kurser och program.

Lärare

Kursansvarig
  1. Mats-Ola Landbris

Tidsåtgång

I genomsnitt bör en student räkna med att studera 200 timmar för att nå lärandemålen.
I denna tid ingår alla olika förekommande lärandeaktiviteter (föreläsningar, självstudier, examination m. m.).
Tidsuppskattningen baseras på att ett akademiskt år omfattar 60 högskolepoäng (motsvarar 60 ECTS credits),
som svarar mot en total studietid på ca 1 600 timmar. Den faktiska studietiden varierar individuellt.

Bedömning

Examinationsmoment för kursen
Kod Benämning Högskolepoäng Betyg
1810 Muntlig tentamen 2 G-U
1820 Inlämningsuppgift 4 G-U
1830 Salstentamen 1.5 G-U

Betyg

Kursen bedöms med betygen G Godkänd, UX Otillräckligt, komplettering krävs, U Underkänd.

Tentamina

Du kan läsa mer om tentamen i Studentportalen och där anmäler du dig till de flesta tentamina.


Det kan finnas andra planerade examinationstillfällen. Information om dem finns i lärplattformen Canvas eller på annan plats som kursansvarig hänvisar till.

Kursutvärdering

Kursansvarig ansvarar för att studenternas synpunkter på kursen systematiskt och regelbundet inhämtas och att resultaten av utvärderingar i olika former påverkar kursens utformning och utveckling.