Kursplan våren 2020
Kursplan våren 2020
Benämning
Avancerad programmering i C++
Engelsk benämning
Advanced Programming in C++
Kurskod
DA278A
Omfattning
7.5 hp
Betygsskala
UV / Underkänd (U), Godkänd (G) eller Väl godkänd (VG)
Undervisningsspråk
Svenska, inslag av engelska kan förekomma.
Beslutande instans
Fakulteten för teknik och samhälle
Fastställandedatum
2018-02-15
Gäller från
2018-09-03
Behörighetskrav
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.
Utbildningsnivå
Grundnivå
Huvudområde
Datavetenskap
Fördjupningsnivå
G1F
Fördjupningsnivå i förhållande till examensfordringarna
Kursen ingår i huvudområdet datavetenskap på nivå 31-60 och kan ingå i examensfordringarna för kandidatexamen i datavetenskap.
Syfte
Kursen syftar till att studenten utvecklar förståelse för C++ mekanismer och språkkonstruktioner med särskild inriktning på effektivitet. Vidare utvecklar studenten, med hjälp av problemlösning och template-programmering, färdighet att kunna konstruera programvara i paritet med standardbibliotek.
Innehåll
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
Lärandemål
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.
Arbetsformer
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.
Bedömningsformer
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.
Kurslitteratur och övriga läromedel
- Lippman, S.B., Lajoie J., Moo, B.E. (2012, or later edition). C++ Primer, Fifth edition. Upper Saddle River: Addison-Wesley. ISBN13: 9780321714114
- Ytterligare artiklar tillhandahålls av institutionen
Kursvärdering
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).
Övergångsbestämmelser
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.