Grundnivå
Kurser om minst 45 hp datavetenskap varav minst 15 hp objektorienterad programmering. I detta ska ingå minst 4 hp programmering i C++, t.ex. 4 hp från DA378A.
Kursen ingår i huvudområdet datavetenskap på nivå 31-60 hp och kan ingå i examensfordringarna för kandidatexamen i datavetenskap.
Kursen innehåller följande moment:
- De avancerade delarna av C++: multipel-ärvning, polymorfism, minneshantering, templates, traits, meta-programmering, undantagshantering, överlagring av operatorer, smarta pekare
- Genomgång av delar av Standard Library Template (STL) och även de bakomliggande resonemangen för konstruktionen av STL
Kunskap och förståelse
Efter avslutad kurs ska studenten:
- visa förståelse för avancerade språkkonstruktioner i C++, t.ex. undantagshantering, typkonvertering, operatoröverlagring, templates, polymorphism och multiple-ärvning
- kunna förklara de grundläggande idéerna för designen av STL (C++ standardbibliotek) särskilt när det gäller container-klasserna
Färdighet och förmåga
Efter avslutad kurs ska studenten kunna:
- konstruera icke-triviala klasser med hänsyn taget till användbarhet för andra programmerare, effektivitet, felsäkerhet och trådning.
- behärska meta-programmering med hjälp av templates.
- implementera de hjälpklasser som behövs för en avancerad användning av STL, t.ex. funktionsobjekts-, policy- och traitsklasser
Värderingsförmåga och förhållningssätt
För godkänd kurs ska studenten kunna:
- utvärdera hur effektiviteten påverkas av olika sätt att konstruera en klass eller ett kluster av tätt kopplade klasser.
Huvuddelen av undervisningen sker i form av föreläsningar och programmering i datorsal men även seminarier kan förekomma. Det mesta arbetet sker genom självständigt arbete.
Examination sker under kursens gång i form av tentamen (2,5 hp) samt i form av muntliga och skriftliga redovisningar (5 hp).
Betygsbedömning:
För godkänd krävs att samtliga ingående examinerande moment genomförts och minst fått betyget godkänt.
För väl godkänt: Kraven för Godkänt samt att minst hälften av VG-givande moment (med hänsyn till högskolepoängen) har bedömts som VG.
- Lippman, S.B., Lajoie J., Moo, B.E. (2012, or later edition). C++ Primer, Fifth edition. Upper Saddle River: Addison-Wesley. eller annan C++ bok
- Vandevoorde, David, Josuttis, Nicolai M., Gregor, Douglas:C++ Templates: The Complete Guide (2nd Edition). Addison-Wesley 2017 (832 pages).
Högskolan ger studenter som deltar i eller har avslutat en kurs en möjlighet att framföra sina erfarenheter av och synpunkter på kursen genom en kursvärdering som anordnas av högskolan. Högskolan sammanställer kursvärderingarna samt informerar om resultaten och eventuella beslut om åtgärder som föranleds av kursvärderingarna. Resultaten ska hållas tillgängliga för studenterna. (HF 1:14).
Om en kurs upphört att ges eller genomgått större förändringar ska studenterna, under ett år efter det att förändringen skett, erbjudas två tillfällen för omprov baserade på den kursplan som gällde vid registreringen.
Om en student har beslut om riktat pedagogiskt stöd, har examinator rätt att ge ett anpassat prov eller låta studenten genomföra prov på ett alternativt sätt.