använda designprinciper, metoder och tekniker som används inom objektorienterad programmering för att konstruera program som löser givna problem
använda objektorienterade principer för att samarbeta i konstruktionen av ett mer omfattande program
komplexitetsberäkna och använda vanligt förekommande datastrukturer och algoritmer
Kursinnehåll
Studenten tillägnar sig färdighet i programmering av C++. Kursen tar upp de imperativa grunderna följt av objektorienterat tankesätt såväl som språkstöd för det. Innehåll:
Imperativ programmering i C++ (datatyper, variabler, uttryck, satser, funktioner)
Testdriven utveckling (TDD)
Objektorienterad C++ (klasser, speciella medlemsfunktioner, specialisering, polymorfi, dynamisk typomvandling)
Programutvecklingsmetodik (objektorienterad analys, design och kodning)
Användning av C++ standardbibliotek (in- och utmatning, tecken- och stränghantering, containrar)
Användning av externt programbibliotek
Programomgivning och verktyg (kompilator, versionshantering, byggverktyg)
Datastrukturer och algoritmer (komplexitetsberäkning och datastrukturer för effektiva algoritmer vad gäller insättning, borttagning, sökning och sortering)
Förutsättningar
Grundkurs i programmering, speciellt grundläggande färdigheter i problemlösning och konstruktion av små program. Grundläggande färdigheter i användning datorer och vana vid unixbaserade datorsystem.